I] For who ?
This guide mean to admin which currently using a tremulous patchset (Lakitu7 qvm, tjw qvm, tremulous svn, old DnC, etc...) and what use DnC build to their servers.
You can use it on every OS supported by tremulous (GNU/Linux, Mac OSX, Windows)
II] Get binary files
You have two way to get DnC binaries.
You can get it on download page, or you can compile files yourself. The downloading is more easy. If you compile yourself, you can try a more recent (and probably unstable) DnC version.
1) Download files
Go on download page. You need two files : the server binary (tremded), and the game binary (game.*)
For the tremded binary, choose the file according to your OS and your architecture.
For the game binary, choose game.so on linux, game.dll on windows, or game.dynlib on macosx. game.qvm working on every architectures
2) Compile files yourself
a. Install dependences
If you compile binaries yourself, you can choose your own DnC version. If you're running on Windows or Mac OSX and you don't know how to compile tremulous, forget this way (or install a linux ;) )
First, you must install developement libraries and a compilator. Packages names depend of your distribution.
Basically, you need a C compilator like gcc, a make program (package make), libraries for sdl, openal, curl (probably named like libsdl, libopenal, libcurl), and subversion to download sources
b. Download sources
Now, you need choose your DnC version. Last stable version is eggy, unstable version is kitty, and experimental version is madcat. Unless you want a server with very new features, choose eggy.
to download eggy, make: svn export http://dnc.tremforges.net/svn/tag/eggy dnc
to download kitty, make: svn export http://dnc.tremforges.net/svn/branches/kitty dnc
to download madcat, make: svn export http://dnc.tremforges.net/svn/branches/madcat dnc
c. Compile sources
now, you have sources in "dnc" directory. Make
cd dnc make
to compile program. If an error occur, then you probably forgot some dependences. Or, if you are using madcat, sources are maybe broken, so contact developers.
d. Get files
after compilation, you have programs in "build/release-<system>-<arch>" directory. tremded binary at root directory, game.so at "base" directory, and game.qvm at "base/vm" directory
III] Install binary files
Start to replace your existing tremded binary with downloaded (or compiled) tremded binary.
Then, you must choose kind of game binary you want using. Dynamic library files (game.so on linux, game.dll on windows, game.dynlib on Mac OSX) are faster than virtual machine file (game.qvm), but it is operating system and architecture dependant, so more difficult to use. If you have an architecture unsupported on download page, choose game.qvm, or compile files yourself.
If you choose dynamic library file, you must copy it in 'base' directory.
If you choose virtual machine file, you must copy it in 'base/vm' directory.
IV] Configure your server
1) Check your defaults
Some defaults options modified. New values is probably what you wait for, but you should check it:
- friendly fire on
- team force balance on
- vote limit: 2
- max clients: 12
- chat team prefix: 1
- mark deconstruct: 0
- g_MapsConfigs: "mapconfigs"
2) Configure new cvars
New cvars appairs. Check if you want enable it, or not. If you don't care or don't know, keep default, it's probably the best think to do.
Very news cvars, from patch made by DnC team:
- g_jetpackLimit: energy for jetpack. If 0, jetpack is unlimited (tremulous 1.1.0 default behaviour). Value you give is number of seconds while jetpack can be active before stop. When stopped, regain progressivly power. Default: 15 seconds
- g_unlagged: In default tremulous, unlagged is on (1) or off. Now, unlagged is a value set to max recovered time with unlagged, in milliseconds. By default, set to 100ms (full unlagged for 50ping or better, ping reduction for others)
- g_grangerMode: If on, granger can't evolve to adv granger if overmind is not up (and spawn with simple granger). It is a way against egg spamming. Default: 0
- g_zoneBuildPoints, g_reactorBuildPoints, g_repeaterBuildPoints, g_overmindBuildPoints, g_eggBuildPoints: see ZoneBuildPointsPatch? (default: 0, 100, 50, 100, 50)
- g_autoDonate: If on, when have maximum of credits / evolutions, donate new credits/evo gained to teamates.
- g_repeaterOnReactor: If on, build a repeater instead of reactor when select reactor and reactor allready up. It is usefull for tremulous 1.1.0 clients using DnC server (repeater is available at s1). Default: 1
Cvars made by community, so, you maybe allready know:
- g_dretchPunt: Remove friendly fire on dretch, and put them away when they are hit by teamate. (default: 0)
- sv_wwwBaseURL: give an url to give url http download. If you don't have http server, you can use "http://www.thcteam.org/download/"
- g_suddenDeathMode (default: 0)
- mode 0: Only 0 cost structures rebuildable at SD (repeater, reactor, overmind, hovel)
- mode 1: Nothing rebuildable at SD
- mode 2: 0 cost structures rebuildable, and no spawn and no defencives structures: armory, medistation, defense computer and booster
- g_allowShare: Allow to use /share command (default: 0)
- g_allowDonate: Allow to use /donate command (default: 0)
- g_floodProtection: Time in milliseconds between two client messages (default: 150)
- g_minLevelToSpecMM1: Give a minimum level to use public chat. It could be use in clan war to disallow spectators comments (default: 0)
V] Start the new server
Basically, server starting is same, but some options given to binary can change.
First, "ttycon_ansicolor" option become "com_ansiColor".
If you use a dynamic library, use option "+set vm_game 0" in your command line. If you use virtual machine, use option "+set vm_game 2"
VI] Use new commands, and new features
Basically, see changelog page.
More comments here comming soon !
(don't forget to comment !info command)
