Running a Wesnoth Server
The Battle for Wesnoth is a turn based strategy game that has unique and fun campaigns and great multiplayer maps. Playing on the official server is fun, but sometimes you’ll want a private server on which you and your close friends can play.
Installing the Server Software
Most popular Linux distributions have the wesnoth-server package available in their repositories. For this example, I’ll be installing this service on a machine running Fedora 17. To install the Wesnoth multiplayer service, run the following command as root on your machine.
yum -y install wesnoth-server
yum is the name of the package manager for Fedora. It manages the software that is installed on your computer. The -y option tells yum that you say yes to any questions it will ask. The install portion of the command tells it to install the next argument wesnoth-server, which is the software package name. The necessary software should be downloaded and installed automatically.
Configuring and Starting the Service
Now that the service is installed, it is time to configure it to start when the server boots, and make sure users can access it through your firewall. You are running a firewall, right? To have this service start on boot with Fedora, run the following command.
systemctl enable wesnothd
Systemctl is the replacement for the chkconfig and service utilities, and is used for controlling various aspects of your system. The enable command tells systemctl to enable the wesnothd service to start on boot. Now, let’s actually start the service.
systemctl start wesnothd
Similar to the last command, we are now telling systemctl to start the wesnothd service. Now let’s figure out what port this service is running on so we can open the firewall.
Opening the Firewall
Now we will use the netstat command to determine on which IP and port the wesnothd service is listening.
You should see a line similar to the following in your output:
tcp 0 0 0.0.0.0:15000 0.0.0.0:* LISTEN 3151/wesnothd
As you can see, the wesnothd service is listening for traffic on any IP and port 15000. This is the port we will need to open in the firewall. We will need to edit the file /etc/sysconfig/iptables and restart the iptables service. Add the following to this file using your favorite text editor. This text should go at the end of the other INPUT statements.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 15000 -j ACCEPT
Now, restart the service by running the following:
systemctl restart iptables
Your server is now allowing traffic to the wesnothd service. Give your friends your server’s IP address, and have fun!