Setting up a Tremulous server

Un article de Bricosoft.

Jump to: navigation, search
tremded console during game with status command output
tremded console during game with status command output
with ttycon_ansicolor = "1"
with ttycon_ansicolor = "1"

Setting up server for Tremulous is a tricky task but it affords an optimized and customized game server and you will learn a bit system and network administration. As of 2007, there are few providers of Tremulous servers (SST hosting or tremulous.de for example).

Sommaire

[modifier] GNU/Linux

Most public Tremulous servers work with Linux, this tutorial will be based from compiled archive but not from a package (rpm, deb, port).

[modifier] Installation

adminjeux@serveur:~$ wget http://xxx.dl.sourceforge.net/sourceforge/tremulous/tremulous-1.1.0.zip
 [...]
 Longueur: 105,821,907 (101M) [application/zip]
 100%[====================================>] 105,821,907    2.61M/s    ETA 00:00
  • Unzip it as an user, it can be yours or a dedicated account. Dont use root account to execute that kind of software, there is potentially security (exploits).
adminjeux@serveur:~$ unzip tremulous-1.1.0.zip
  creating: tremulous/
  [...]
adminjeux@serveur:~$ cd tremulous
adminjeux@serveur:~/tremulous$ ls -1
base (images, maps and configuration files folder, server.cfg and maprotation.cfg)
CC (some textures and images are licensed Creative Commons share-by)
ChangeLog 
COPYING (Copying rules, some librairies are differently licensed)
GPL (The game software is GPL, modify rights)
manual.pdf (player guide)
tremded.x86 (server binary for GNU/Linux plateforms)
tremulous-1.1.0-src.tar.gz  (source code, client + server)
tremulous.exe (server and client binary for MS-Windows)
...
tremulous.x86 (client binary for GNU/Linux)
...

[modifier] Configuration

Modify config file to put public name of your server.

adminjeux@serveur:~/tremulous$ cd base
adminjeux@serveur:~/tremulous/base$ vim server.cfg

alter line :

set sv_hostname "Server Tremulous 1.1.0"

Example of commented config file : server.cfg

[modifier] Execution

First, try your server as private (+set dedicated 1 in command line).

adminjeux@serveur:~/tremulous$ ./tremded.x86 +set dedicated 1 +exec server.cfg

Server console appears, check the server by typing "status" :

status

An empty table appears without errors.

map: niveus
num score ping name            lastmsg address               qport rate
--- ----- ---- --------------- ------- --------------------- ----- -----

Ctrl+C to quit and kill process.

Modify server.cfg till get the correct configuration.

[modifier] Production

Server in production will be visible for all players (+set dedicated 2) from ingame browser. Replace "+ip xx.xx.xx.xx" with IP adress of your server.

Execute program into a dedicated console with the command "screen".

adminjeux@serveur:~/tremulous$ screen -dmS tremulous ./tremded.x86 +set vm_game 0 +ip xx.xx.xx.xx +com_hunkmegs 64 +set dedicated 2 +exec server.cfg

To re-attach console :

adminjeux@serveur:~$ screen -r

Type status and commands, then for detach console :

Ctrl+a+d

To kill the session named tremulous :

adminjeux@serveur:~$ screen -rX tremulous

[modifier] Update

Server version 1.1.0 got minor bugs and lacks of features (like commands from Tjw: !kick, !restart, etc). Developpers provide patches.

Copy 1.1.0 binary :

adminjeux@serveur:~/tremulous$ cp tremded.x86 tremded.x86.original

Get the patched binary tremded.x86 from : http://ipxserver.dyndns.org/tremulous/binaries/

adminjeux@serveur:~/tremulous$ wget http://ipxserver.dyndns.org/tremulous/binaries/tremded.x86
adminjeux@serveur:~/tremulous$ chmod +x tremded.x86

Create the path ~/.tremulous/base/vm/

adminjeux@serveur:~/tremulous$ mkdir -p ~/.tremulous/base/vm/

Get binary game.qvm from : http://ipxserver.dyndns.org/tremulous/binaries/

adminjeux@serveur:~/tremulous$ wget http://ipxserver.dyndns.org/tremulous/binaries/game.qvm

Finally, you have to add some variables in your server.cfg.

Restart server.

[modifier] tremded console

This is some commands for the game server console, from the client :

\rcon mot2passe commande
  • CP message : print a big and centered message for all players
  • g_gravity xxx : alter gravity to xxx (default : 800)
  • g_speed xxx : alter speed to xxx (default : 320)
  • say message : print message at top left

[modifier] mod

Mod have to be placed in [...]base/ sub-folder. For example, TremX: add +fs_game tremx in command line.

[modifier] Links

Autre