Difference between revisions of "Advanced Server Administration Guide"

From Armagetron
m (Added transluded game variations page)
Line 75: Line 75:
  
 
{{:Game Variations}}
 
{{:Game Variations}}
 +
 +
[[Category:Server]]
 +
[[Category:Server/config]]

Revision as of 03:04, 23 November 2005

So you've been running a server for awhile and now you'd like to do more with it? Maybe you've found that there are some punk-ass players out there that you really want to kick off your server? Maybe your players are asking for more, and you're saying "Hell yeah!" but you don't know what to actually do about it?

You've come to the right place!

Dealing with unruly players

There are several ways to deal with unruly players. We'll touch on each of them here.

Moderation

A common way is to have a group of moderators available so that your server usually has people logged in and playing who can use in-game admin to kick evil doers out of the server. You do this by setting ADMIN_PASS in your settings_custom.cfg file and then giving that password out to your preferred moderators. Then they will use the password like this:

While playing on the server, in a chat prompt, type /login ADMIN_PASS, replacing ADMIN_PASS with the password you have set for the server. This logs the player into the in-game admin system. Now you can execute commands with /admin COMMAND ARGUMENTS. Use /logout to leave the in-game admin system.

Every command is available, so be cautious to whom you give your ADMIN_PASS!

Voting

Voting is a popular way to deal with unruly players. It has the advantage of giving power to the players on the server and letting them decide how they want the grid to be when playing. It comes at a cost, though. First, as an admin you need to respect your players' choices. This doesn't mean you should let them walk all over you, but what's the point of letting them vote in the first place if you're just going to override it? Second, it is possible to exploit the voting system as an unruly player. There will be some more safeguards in 0.2.8 to deal with this, but in the meantime it is an issue you may need to face.

To enable voting, you should copy the group of settings from settings_dedicated.cfg into your server_info.cfg. The reason it goes in server_info.cfg is because these settings are considered "policy" and are not something you'd necessarily share with someone who asked. You might still share them, don't get me wrong, but if someone wants to clone your server and you want to help them, you'd normally just send them settings_custom.cfg and let them come up with their own server policies.

Here are the setting items you'll want to address, along with their default values:

Voting Policy Settings

These are the ones that really define how voting is to be accomplished.

ALLOW_VOTING 1
Turns on voting.
ALLOW_VOTING_SPECTATOR 0
Allows spectator players to vote. Generally not something you want to enable, hence the default.
VOTING_BIAS 0
Number of virtual voters opposing every change. You can think of this as the Republican Party simulated by the game server, where the game server will always oppose every vote in favor of maintaining the status quo.
VOTING_PRIVACY 1
Level of secrecy of the votes. 2 makes the vote as secret as possible, -2 makes it fully public. There are those who consider voting to be very personal and private, and would prefer to keep votes secret so nobody can retaliate against voters for voting against them. There are others (me) who find that making the votes public keeps voters honest and prevents people from backstabbing one another.
VOTING_SPAM 50
Voting spam protection. This is new in 0.2.8 and is intended to prevent people from filling the server with polls and annoying everybody.
MIN_VOTERS 3
Number of voters that need to be online to enable voting. So it's a quorum threshold.

Voting Simulation Settings

You won't normally need to adjust these, but if you want to make votes happen quicker or something, you'll change these.

VOTING_TIMEOUT 300
Number of seconds before a vote times out. A vote will time out if nobody votes either way and action will not be taken.
VOTING_START_DECAY 60
Number of seconds after that the non-voters start to get ignored
VOTING_DECAY 60
One non-voter is ignored everytime this many seconds pass
VOTING_SPAM_ISSUE 1.0
The spam level of issuing a vote.
VOTING_SPAM_REJECT 5.0
The spam level of getting your vote rejected.

Firewall

Installing a firewall is a big job, potentially. There are firewalls that are really rockin' and do all sorts of stuff, and there are firewalls that don't rock. In order to use a firewall to deal with unruly players, you'll need one that supports some sort of IP-based filtering, such as iptables in Linux. In that case, banning a player is a matter of figuring out their IP address and adding it to your firewall.

The most basic way of banning an evil doer is to just drop UDP packets from their IP address that are going to port 4534 (or whatever port your server runs on). For many admins, this is not only a complicated rule to write, but ineffective to deal with the player, so you'll probably find it better to just ban the IP address completely. Be warned, however, that a common way around this is for the evil doer to just turn off their cable modem (or dsl router) and turn it back on. The good news is that it's more inconvenient to them to do that than it is for you to add their new IP address to your firewall. :) The bad news is that this isn't a foolproof method of banning a user.

To help you, Armagetron Advanced supports some additional logging, listed here.

CONSOLE_DECORATE_ID 1
Decorates every line of console output with the client ID
CONSOLE_DECORATE_IP 0
Decorates every line of console output with the client IP

There is more good news, actually. Many consumer-grade NAT routers come with built-in firewalls or at least make available a firewall option, and will do the job for you--from a web browser! If you have such a beast, you should use it and save your players the hit of the evil-doers packets making another hop down the wire before being cut off.

Going further - Game Variations

There are a number of combinations of settings that make for interesting variations of the game. Here you will find more information on what you can and can't do.

Game Variations