Outgun / Documentation / Authentication and remote administration

Authentication and remote administration

This document describes config/auth.txt and the in-game administration commands. The topic is rather advanced.

This document applies to Outgun 1.0. There are many differences to 0.5.0-E. See its revisions readme for a brief outline of administration commands, and the comments in the auth.txt shipped with it, for related information.

Contents

Overview

To simply reserve some player names for a certain player, protected by a password, see authentication below.

The remote administration support in Outgun first requires the players to authenticate themselves. This happens automatically for those playing from the same computer that the server runs on. Otherwise they need to use a password – either log in to the tournament, or enter a server-specific password, depending on if they are set with a password in auth.txt or not.

Players who are recognized through tournament login, have an ‘M’ (“master”) in the player stats screen (opened with F4). Server authentication (password or being on the same computer) is shown with an ‘S’ (“server”). When either of these is active, and the player is set as an admin in auth.txt (or is on the same computer), an ‘A’ (“admin”) is shown. Whenever it is, the player can use admin commands to kick, ban, and mute players, and force mapchanges.

Authentication: auth.txt

The purpose of config/auth.txt is three-fold. It can contain reserved user names of two levels: standard users and those with administrator privileges. It is also used to save the list of players banned from the server.

The syntax is simple. There is one command per line. There are separate commands for reserved names, administrators, and bans. You are required to use tabulator characters (ASCII 8) in the file. Some editors don’t produce them by default when you press tab; use a different editor or change the setup in that case. Notepad is good in Windows, as well as many other editors; in Linux most editors except Emacs are good in their default configuration.

Reserved names: user

Password-protect a player name with the user command.

Syntax:
user name tab password

The command user is followed by a space, the player name to be protected, a tabulator character, and the password. This prohibits anyone from using the given name without knowing the password. Similar names are not blocked except for those very similar (with the same alphanumerics regardless of case, and other characters similarly located), but other players will see that the player with a similar name is not authorized by the server. Note that you should not protect names that have zero or one alphanumerics (A-Z and 0-9), unless you’re OK with blocking lots of similar names.

Administrators: admin

Assign a player administrator status, and optionally password-protect the name, with the admin command.

Syntax:
admin name
or
admin name tab password

The command admin is followed by a space and the player name to be protected. To use a local password instead of tournament login, add a tabulator character and the password. With password-protection, the same considerations exist as with the user command. If no password is given, a player with this name is granted administrator rights whenever they are logged in to the tournament.

Banned players: ban

When a player gets banned, Outgun re-writes auth.txt adding to it a ban command. Similarly, it is modified when a ban expires. You can add, remove or modify the ban commands if you want to.

Syntax:
ban name tab IP
or
ban name tab IP time

The command ban is followed by a space, the player name (just to remind you who the IP belongs to), a tabulator character, and the banned IP address. To limit the ban in time, add a space and the time code for when the ban should expire. The time code is a large integer representing seconds since the start of the year 1970; adjusting the times by hand is not very practical. You may want to restrict yourself to removing bans and creating new permanent ones, or let Outgun do the time calculations for you.

In-game administration commands

For authorized admins, these admin commands will be shown on the ‘console’ when they type “/help”, in addition to normal console commands. The commands are:

CommandFunction
/listlist the player IDs
/kick IDremove the player ID from the server
/ban ID timeban the player ID from the server for time minutes
/mute IDmute the player ID
/smute IDmute the player ID without telling them that they’re muted
/unmute IDunmute the player ID
/forcemapforce map change or restart the round
/setmanage server settings
/botmanage bots

/list

The /list command must be used to get the player ID of a player that can then be kicked, banned or muted via the respective commands. Silent muting with the /smute command means that the muted player will not know they’re muted; it’s pretty crude so use with care (or not at all). Banning made with the /ban command isn’t permanent: the maximum time is 10 000 minutes (almost exactly one week). That’s because the IP address of the banned player can change and we don’t want to have banned someone else who gets their IP after them. If you don’t give a time, it defaults to 60 minutes.

/forcemap

The /forcemap command is a bit complicated: it can be used to either change the map or just restart the round. To change the map, the player issuing the command must first vote for that map (press F2 to open the vote dialog). If they’ve voted for no map, only a restart is issued. Having pressed F8 or not has no effect.

/set

The /set command is used to view or change server settings.

CommandFunction
/set listlist all settings that you can manipulate
/set sshow the current value of setting s
/set s vchange the value of setting s to v
/set resetreload all settings from gamemod

/bot

The /bot command is used to manage bots, including adding and removing them.

CommandFunction
/botDisplay the bot commands and current settings.
/bot add nAdd n bots.
/bot remove nRemove n bots.
/bot fill nSet the bots_fill setting to n.
/bot balance sSet the balance bot on or off.
/bot ping p [all]Show or set the bot ping. Type all parameter to set the pings of all the playing bots.
/bot rename n sSet the name of bot with ID n to s.

Updated 2008-03-18 – Niko Ritari