Server Administration Guide

From Armagetron
Revision as of 16:52, 3 July 2007 by 89.98.50.175 (talk)

Setting up a server for Armagetron Advanced isn't terribly difficult, but there are a few things you need to consider when you do it. Taking a few minutes to figure out what you're trying to do will save you a whole lot of headache/heartache later on when people start playing your server.

Starting out

Before you consider what OS you're going to use, what version of the game to run, and so forth, you should figure out a few basic parameters of the server. Here are some you should consider.

Private or Public?

The setting TALK_TO_MASTER is off by default. To make your server public (available on the master server list), you must turn on this setting. If it is off, players will only be able to connect to your server through the Server Bookmarks using your IP address. If you are connected to the internet through a router, normally used so that multiple computers can share the same internet connection, you will also need to open a port.

More information on both of these topics is available below.

Moderated?

Armagetron Advanced supports a limited but expanding set of in game administration commands(in 0.2.8, it will be a fairly comprehensive set). The catch is that you can only have one administration password. So in order to make moderators on your server, all you have to do is give out the administration password.

The alternative is to use the voting features that are intended to allow players to moderate the server as they see fit.

You can go either way, of course. It's entirely up to you. ...........................10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)10:56, 3 March 2007 (CST)69.120.15.178

Round or Match

There are plenty of ways to setup scoring on a server. A common setting is one point for each kill. While this scoring method encourages competitive play, it's not always desirable. On some servers, just surviving to the end of the round is quite an accomplishment, and you may wish to reward players for doing so. Too much of a reward will encourage players to just screw around instead of fighting.

You should also consider if you even want the standard gladiator-style fighting. It's certainly possible to set up scoring to allow for different games, such as Roulette, and to encourage different playing styles. So just take a few minutes to think about it. It'll pay off in the end, because the default game server settings aren't necessarily the most popular scoring rules, and unless you really want the default scoring, you could lose most of your audience in the first two hours of operation if you didn't think about scoring.

Requirements

If you fall short

If you cannot meet the requirements to host a server yourself (or simply don't want to leave your computer on 24/7), don't despair! There are companies that specialize in hosting colocated servers-- you can use many of them (such as SevenL or VR Hosted) to host an Armagetron Advanced server. If you don't have the expertise or want to bother with maintaining a full Linux server, you can get hosting specifically for Armagetron from lightfoot.dashjr.org without needing to setup anything.

Hardware

Hardware requirements are fairly small. The game itself will only need around 10MB of RAM or so, more for more players. So whatever the minimal requirements for your target operating system will usually suffice. It is important to make sure that the game will not have any of its parts swapped to disk, just like with any other server, but memory usage is minimal.

CPU requirements are also pretty slim. Again, whatever the requirements for your target operating system will likely suffice. A common number provided for a server CPU is a 600mhz Pentium II or greater. Some popular servers have run on as little as 800mhz AMD Duron! Starting in 0.2.7.1, it is possible to limit the framerate of the simulation itself. This gives several important traits to the game. First, it makes it play nicely even on a computer that runs other tasks (such as a web server). It also provides for more stable gameplay. Finally, it allows you to tailor the simulation for your hardware, so on a smaller CPU, you should consider limiting the framerate of the simulation to improve gameplay.

Network

The size and speed of your network connection is more than likely going to be your first and most serious performance bottleneck. Generally you'll want to consider that each player connected requires about 6KB/second of upstream bandwidth. So for 16 players, you'll need 96 KB/sec of upstream bandwidth. This doesn't consider any other bandwidth usage on your network, such as web browsing from a different machine. Use MAX_CLIENTS to limit the number of players accordingly.

More information is given for both of these topics in the Advanced Server Administration Guide.

Setting Up

So now you've figured out what kind of server you want and how you want people to play on it, and you want to know how to set it up and optionally make it available on the master server browser. Setting up is fairly straightforward.

If you do not wish to bother with setting up a server yourself, and be left to simply administrate your server, lightfoot.dashjr.org provides managed hosting for Armagetron servers-- you can just configure it how you like using a simple web interface and be ready to play.

Install the Server

First you need to install the server. It's common to think of any given "server" as a special machine built by old women in third-world countries, but actually, a "server" is just any machine that makes a "service" available to other users. In this case, you're going to install software on a computer, possibly your desktop computer, that will make a game service available for other users to use.

So first you need to acquire the package called "armagetronad-dedicated". If you're using Linux, get one that says "linux" on it. For Windows, get the one that has ".exe" on the end of it. For Mac OS X, there's one with a ".dmg" extension for you. Usually the CPU architecture and OS are embedded in the filename, so pick the right one and install it.

We won't go into too many details here about installation, consult the regular documentation for how to install the server for your architecture.

Test the Server

After installing the server, the first thing you should do is test it. So start it up. If you're in Linux, you will want to become the superuser and type, in a terminal, "/etc/init.d/armagetronad-dedicated start". If you're in Windows, find the icon in your Start menu and click it. Then fire up a client and see if you can connect to it as a LAN game (under Network Game). If you can do this, then you have successfully tested the server. Now you need to shut it down. In Windows, go to the console window for the server (it opens when you start the game) and type "QUIT". In Linux, just do "/etc/init.d/armagetronad-dedicated stop".

Public Servers

If you want to host a server at home. You have to open UDP port 4534 in your firewall and possibly forward the port from your router to the PC running ArmagetronAd (and is hosting a game).

Firewalls

  • Windows XP: Either your firewall will ask you if you want ArmagetronAd to open port 4534. You can also follow these instructions use name: "Armagetron Server" the port is UDP 4534 (leave TCP blank).
  • ZoneAlarm: TODO: popular? should it be added ?
  • Mac OS X: Go to System Preferences → Sharing → Firewall. One way to let all traffic through is turning it off, but you may not want to do that. If you decide to leave/turn it on, look for a button labeled “Advanced…”. If it exists, go there and ensure “Block UDP Traffic” is not checked. If it doesn't exist you have an old version that never blocks any UDP. For the curious: this is a limited GUI to ipfirewall.
  • Linux: TODO Lucifer ? Link to a site ?

Port forwarding

If you have a router with NAT, you'll want to forward a port to your server so others can reach it. Armagetron uses the UDP port from configuration option SERVER_PORT, which is 4534 by default. You'll probably want a forwarding entry that looks like:

  • Local/internal address: