Gameplay Related Console Commands
The following commands can be applied in the game by pressing T, and then typing /commandname. The backquote key (`) is a shortcut for having the / typed for you. To have these commands applied automatically before the game starts open the autoexec.cfg file and add them there, without the /. Name and team in particular should be changed there.
map M
Loads a map. If connected to a multiplayer server, votes to load this map (others will have to type "map M" as well to agree with loading this map). To vote for a map with a specific mode, set the mode before you issue the map command (see multiplayer menu). See also map in the editref.
name yourname
Used for multiplayer, sets the name other players will know you as.
team teamname
Determines who are your teammates in any team game mode (truncated to 4 characters, case sensitive).
say text...
Outputs text to all players, as if you typed it.
echo text...
Outputs text to the console. Most useful for scripts.
saycommand P...
This puts a prompt on screen where you can type stuff into, which will capture all keystrokes until you press return (or esc to cancel). You may press tab to autocomplete commands/aliases/variables, and up/down keys to browse the command history. If what you typed started with a "/", the rest of it will be executed as a command, otherwise its something you "say" to all players. default key = T for talk, ` for commands. If P is prefix to insert to the buffer, (default key ` inserts a /).
connect serverip
Connects to a server, e.g. "connect fov120.com". You can paste an address from the clipboard with ctrl+v. A master server browser will soon follow.
lanconnect
Connects to any server on the local area network by broadcasting the connection request.
disconnect
Leave the server.
rate N
Sets your clients maximum downstream bandwidth to N bytes per second. Leaving it at 0 (the default) means the server will dynamically try to do the best thing, this is recommended for players who don't have a clue what their bandwidth is (setting your rate unoptimally is worse than not setting it all). Modem players (56k) could try rate 4000 and tweak from there, dsl players can try rate 6000-10000. Note that the more players on a server, the more critical the effect of your rate.
showscores
+showscores turns display of scores (name/frags/network) on and -showscores turns it off. Default key = tab
conskip N
Allows you to browse through the console history, by offsetting the console output by N. Default key keypad - scrolls into the history (conskip 1) and keypad + resets the history (conskip -1000).
toggleconsole
Toggle between a more permanent and bigger console display and default, scroll off the screen variety. Unlike other games, you can play the game normally with the larger console on.
weapon a b c
Tries to select weapons a, b & c, in that order, if they have ammo (0 = fist, 1 = sg, 2 = cg, 3 = rl, 4 = rifle, 5 = gl). If none of the 3 indicated have any ammo, it will try the remaining weapons for one with ammo (in order 3/2/1/4/0) (the fist needs no ammo). You can use the weapon command with 0 to 3 arguments. examples:
weapon 2 1 0     // close up selection
weapon 4 3 2     // far away selection
weapon 3 2 1     // medium distance selection
weapon 0         // humiliate selection :)
weapon           // just switch to anything with ammo
In any selection, it will skip whichever weapon you have currently selected, so executing a weapon command repeatedly toggles between the two best weapons with ammo within a given selection. default keys 0 to 4 select the corresponding weapons, with sensible default alternatives, middle mouse button is a simple weapon switch.
maxfps N
Sets the max number of fps. Default 200. Useful if you have a recent machine that can run the engine at close to 1000 fps, or if you want to test. If you set maxfps to exactly or a simple ratio of your monitor's refresh rate, you may experience tearing. maxfps is not a replacement for vsync.
gamespeed P
Sets the gamespeed in percent, i.e. 50 is playing in slowmotion at half the speed. does not work in multiplayer. for entertainment purposes only :)
mode N
Set gameplay mode to N for the next game played (next map load). N can be: Frag counting is the same for all modes: 1 for a frag, -1 for a suicide or a teamkill. Timelimit for all games is 10 minutes, or 15 minutes for teamplay, and no timelimit for mode 1 (and mode 0 in a local game).
skill N
Sets the skill level (1-10) for single player modes. Default = 3. Affects number of monsters in DMSP mode, and general monster AI in all SP modes.
servermenu
Displays the server menu. The server menu contains the last N servers you connected to, sorted by ping (servers are pinged automatically when bringing up this menu). Just select one to connect again. If you connect to a server by typing "connect" manually, the server gets added here automatically. You can also add servers to "servers.cfg" manually.
updatefrommaster
contacts the masterserver and adds any new servers to the server list (written to servers.cfg on exit). (see also multiplayer menu).
paused B
wether the game is paused or not (default 0, default key F1 toggles).
Items / Gameplay
Official game storyline: "You kill stuff. The End." All of the following is assumed to be highly in flux. Once things settled down the document will reflect the changes.

There are initially 5 weapons:

num name damage reload dam/sec technically similar to
           
0 fist 50 0.25sec 200 quake3 gauntlet
? pistol 25 0.5 50 quake SG, but more precise
1 shotgun 20x10 1.4sec 143 doom2 SSG (wide angle, but less than in doom2)
2 chaingun 30 0.1sec 300 quake LG (mild spread at distance)
3 rocket launcher 120 0.8sec 150 quake RL (splash damage)
4 rifle 100 1.5sec 66 quake2 RG
grenade launcher 75 0.5sec 100 any quake GL, except faster but less damaging

The player has available all weapons when he spawns, but no ammo for them (except 5 shells), 100 health, and 50 weak armour (20% absorbtion).

Items that can be picked up: Health and ammo respawn depends on number of players in the game, the numbers given are for 1-2, 3-4, and 5+ player games respectively.
Multiplayer
Quick start to multiplayer gaming with sauerbraten: Setting up a LAN game:
Multiplayer : capture mode
This is the most complicated multiplayer mode so some explanation is required. This mode is centered around the idea of capturing and holding bases, and has similarities to the game "battlefield 1942" and the "onslaught" mode of unreal 2004:

"bases" are placed thruout the map

A base can be in 2 states: captured or neutral. When captured, it is captured by a certain team. This is shown by the texture its rendered with (red means enemy captured, blue means your team, grey means neutral). The model can be a flag, or whatever.

A neutral base can be converted to your team by standing next to it for N seconds (N = 10 or so) within a certain radius. Multiple players speed up the process proportionally. The time accumulated to N is counted by the server as soon as the first player enters the radius, and reset to 0 immediately once all players of the initial team leave the radius.

A base of the enemy color can be converted to neutral in exactly the same way. (so often it is a 2 step process to take over a base).

Current team name and capture status is shown above the base using a text particle.

At the spawn of a map, all bases are neutral, and all players spawn at normal player spawns, and try to capture whatever they can. Once bases are captured, players will spawn at spawnpoints close to whichever of their bases is closest to an enemy base. spawning will be preferred at bases which are not currently being captured by an enemy.

If a player dies, they wait M seconds before they can respawn again (M = 20 or so). If you have no bases left (the enemy has captured yours, or at least made em neutral) you will spawn at random spawnpoints.

If all bases are captured by one team, then that team wins the game automaticaly. Alternatively, if this doesn't happen, at the timelimit the team that wins is the team that has held the most bases for the most amount of time (1 point per X seconds for every base in your color).

No points are awarded for kills or self-deaths. Infact, no individual score is ever displayed, your score is the same as the team's score.

When you spawn, you are given a certain amount of ammo for randomly 2 weapons out of the 5 main ones, + pistol ammo. You will not be able to get more ammo unless it is placed in the map, or if given to you by another player. Any other player can replenish your ammo of types of ammo he doesn't have. I.e. if you have RL/MG and he has GL/MG, you can replenish his GL ammo, and he can give you RL ammo.

A simple HUD shows bases relative to your current position in red or blue (can be a sphere with blips on it, with blips on the border for faraway bases).

There may be additional powerups needed, to emulate the functionality of vehicles in BF, but maybe without its already good enough.

Single Player Modes
There are two single player modes: The mode numbers for these are -2 and -1 respectively, but can most conveniently be set over the singleplayer menu. In both cases, the map ends when all monsters are killed, or an end of level trigger is hit if one is available. Coop play is not supported yet.

There are currently 8 monsters, with the following properties (sorted roughly in order of "threat" they pose:

gun used model damage stamina speed freq lag rate loyalty
           
fireball ogro 5 100 14 3 0 10 1
chaingun rhino 7 70 18 2 70 1 2
shotgun ratamahatta 50 120 12 1 100 30 4
rifle slith 25 200 12 1 80 40 4
rocket launcher bauul 30 500 10 1 0 20 6
bite hellpig 12 50 22 3 0 10 1
iceball knight 10 250 8 1 0 1 6
slimeball goblin 7 100 12 1 0 20 2

The models are just temp until I find some real monster models.

The damage given is for a single shot, where damage is simply a quarter of the equivalent player gun. For the shotgun this is if he hits you at point blank range, but is a lot less at distance. RL guy of course deals out splash damage too.

Stamina is the amount of damage taken before dying, speed is their movement speed in sauerbratens/sec (player = 24), and freq is their relative frequency of spawning in DMSP mode.

"lag" is how long it takes them to press fire after they have decided they will shoot in a particular direction, which means you can out-strafe their bullets (but still get hit when standing still or moving towards them). The number is in msec on skill 0, and half as big on skill 10.

"rate" indicates how often they will attempt to shoot you while they have you in their sights. It is not an absolute fire rate measure, as fire rate is lower with distance and has some absolute minimum. Again, it is also dependant on skill (skill 10 fires twice as often as skill 0). "loyalty" indicates how often they have to be hit by another monster in a row before they fight back.

Other important parameters: monsters will at most jump down 4 sauerbratens in height, unless their health is 100 or less, in which case they allways jump down.

As you can summise from the above, the keys to surviving in sauerbraten SP are: keep moving, preferably perpendicular to the monster line of sight, frequently move behind walls and back (this makes monsters search for you again, which delays them), and use monster infighting to your advantage.

SP Respawning

Classic SP works differently from most FPS games that employ a savegame based system (as did Sauerbraten's predecessor, Cube). The problem with savegames is that they take away any tension in gameplay, since you play without fear because you can make frequent saves, and when you do have to reload, its just an annoyance (or frustration, if you forgot to save for a while because it was going so well).

Instead of savegames, sauerbraten employs a novel system based on respawnpoints (not to be confused with checkpoints, which are just an annoying version of savegames). The major annoyance in other games comes from having to repeat the same thing, in Sauerbraten, you can die, and still never have to repeat the same gameplay again, yet you still have strong motivation not to die. This brings back the tension in gameplay, without the frustration.

The way it works that when you die, the world stays AS IS. Dead monsters stay dead, and alive ones just continue at their current location. You respawn, as if it were DM, at your last respawnpoint. Respawnpoints are entities placed by the level designers in various spots thruout the level, and the game remembers the last one you touched. You can touch these more than once. When you respawn, the evil monsters will have stolen your armour, and most of your ammo (currently they take 2/3rds, unless you have 5 or less, in which case they don't take anything).

On the good side, you will have all your health back (and you have kept any healthboost powerups!), and your starting supply of pistol ammo (see, the monsters are evil, but fair). The good thing is that this way, even though you are punished for dying, you are never stuck, since even if a group of monsters is very hard to overcome, they will be easier every time you try, since the dead ones stay dead (and the hurt ones stay hurt!). You may have to work with your pistol more, but that is part of the tradeoff.

An additional motivation to not die, is that deaths are the most important component in reaching a good score on a level. Every time you finish a level, you will see a printout like this:

--- single player time score: ---
time taken: 155 seconds
time penalty for 1 deaths (1 minute each): 60 seconds
time penalty for 21 monsters remaining (10 seconds each): 210 seconds
time penalty for lower skill level (20 seconds each): 140 seconds
time penalty for missed shots (1 second each %): 25 seconds
TOTAL SCORE (time + time penalties): 590 seconds (best so far: 423 seconds)

This gives you the stats of your game. The overal score is something that will be displayed in the menus next to the map name, so you can try and improve your best score, and compare to others. These score values are saved accross runs of the game (in bestscore_<mapname> aliases). The final formula has been tweaked such that:
Effects of network code on gameplay
You will notice that Sauerbraten plays better on a high ping connection than most games out there. The reason for this is that just about everything in sauerbraten is done clientside, not just movement (as is common in games today) but also aim (the fat client / thin server model).

The benefits of this are that the effects of lag are minimised, and someone on a 200 ping can compete on an almost even playing field with someone with a 20 ping, the disadvantages are mainly in that its harder to combat cheating. Further advantages for server admins are that sauerbraten servers use virtually no cpu, and very little bandwidth for a lot of clients (you can host a 4 player game on a modem!).

It is impossible to completely hide lag however, and these are some of the effects that can still show lag if you or someone you play with has a high ping / bad connection:
Cheating & Multiplayer
Besides the abovementioned client-side gameplay, Sauerbraten is also open source, which makes it too easy to cheat with. Anyone can modify the source to add cheats, recompile, and join multiplayer games. There is no real trivial way to combat this: Cube and Sauerbraten are small communities sofar, and the main issue is not necessarily to combat cheating (a lost battle to start with), but more to allow non-cheaters to have undisturbed games together. Hence Sauerbraten multiplayer has a very simple solution: There is no cheat protection at all. Nada. Servers operate in a so called "master mode" which allows people to easily and painlessly have games with people they know, without being disturbed by cheaters. The way it works is very simple: the first person to enter a server becomes the "master" of that server. The master has 2 commands at his disposal which other players have not:
mastermode N
Sets the server to master mode N. N can be (ranging from very open to very private):
kick N
Kick's the player with client number N (displayed in parentheses next to name) off the server, and bans his ip until 4 hours or the server is empty. You can't kick yourself. N may also just be the player's name. This command is useful when you started playing an open game, and a cheater joins. Additionally you can move to a higher mastermode for additional protection. Don't use this command for anything other than cheaters or people otherwise obstructing games.
spectator B
spectator B N
Sets whether a player is a spectator (B=1 to enable, 0 to disable). N is specified as for kick. A player can voluntarily make himself a spectator, but only the current master can make other players spectators.

The important thing to see about these commands is that they don't prevent cheating, nor are necessarily a fair way of adminning a server. They just make it real easy to have fun games with friends without being disturbed by cheaters or people you don't want to play with.

In the event that a cheater is the master, or someone is being abusive with his masters powers, you can simply leave the server and start a game somewhere else. There are usually more servers than players anyway, and more players than cheaters.

If the current master leaves the server, the next player in line will automatically be made the master. Mastermode will be reset to 0 when this happens (also when the server clears). At any time, all players will see who is the master in a game because his name is marked in a different colour on the scoreboard.