Setup A Skulltag Server On Linux/BSD
Skulltag is a free Doom II port that focuses mainly on multiplayer. This guide will show you how a server can be hosted on Linux/BSD so your friends can play on a dedicated machine.
The only requirements for this project are a copy of doom2.wad and a working Linux/BSD server that you have local access to.
If you are looking to setup a server on Windows, some information may help here with getting you on your way, but you might be best off just using the IDESE.
You can download all of the tools you'll need for this server at http://skulltag.com/download/
Select the correct version for the machine you will be hosting on. You can unzip the tar.bz2 that contains your files with the following command.
tar -xvfj name_of_file.tar.bz2
The download was the easier part, and by now you should have the files extracted. Read the guide located at http://skulltag.com/wiki/Setting_up to continue installing the dependencies you will need in order to run the server binary.
You may also want to refer to http://skulltag.com/forum/viewtopic.php?p=139930#p139930 in order to learn how games are setup.
I've created an Invasion mode template to get you started. The file is easy to modify, especially if you already have experience creating a server with IDESE. Here is a zip archive containing the two files invasion.ini and invasion.sh that will run this game. Place these files in the same location that you have installed skulltag-server and doom2.wad.
Once you unzip the archive, you will see two files called invasion.sh and invasion.ini. invasion.ini is the configuration file where you can set different options for your game. Again, refer to http://skulltag.com/forum/viewtopic.php?p=139930#p139930 to understand how this file should be modified. When you start a game, any changes made to invasion.ini will not take place until the server is restarted.
In order to finally start your game once your configuration is complete, you will run the following command on the terminal in the directory that contains invasion.sh.
sh invasion.sh
This should output some information regarding your setup. If you see the following near the end, your server setup working so far.
*** d2inv1: Belphegor's Glory *** dmflags2 changed to: 0 wavelimit changed to: 6
In order to verify this, open up your copy of Skulltag and press the ~ when you start. This will take you to the console, where you will run the following command to start your game. Replace internal_ip_address with the internal ip address of the machine you are trying to connect to. You can find this by checking ifconfig on the machine, or by checking your router.
connect internal_ip_address
If the game begins, the server is working. If not, check that the internal address you are trying is correct and make sure the server window was not closed.
You will need to port forward your router in order for people online to connect. The port number for skulltag in the example I gave you is 10666. You will need to forward that port for the address of the computer hosting Skulltag. You can find guides online and at http://portforward.com/ for your specific router.
Rcon is a useful command that will allow you to change setting mid-game, or do things like change the map. Using rcon is easy, and can be setup in the invasion.ini file. Find the line that starts with the following and modify it.
sv_rconpassword password
Change the second part "password" to a unique word that will be your rcon password. When you are in game, you can hit the ~ key to bring up the console and type the following command to give yourself rcon permissions.
send_password password
If access was granted, you can now call rcon commands. For example, the rcon command to change the map is simply the following.
rcon changemap
Rcon commands work by just putting the word "rcon" in front of the command you want to run. Normally these commands would give you a permission denied error, but with rcon you are free to do whatever you like. Here is a list of commands for Skulltag that you can use with rcon.
I hope this guide was helpful. If you have any questions, feel free to contact me below.