#summary How to setup the official racer room
= Racer Room Setup =
== Overview ==
Some time ago unc0rr added support for "fixed" server rooms in order to have a permanent room for hosting race maps. A little manual setup is required, and at present must be recreated on every new release and server restart.
== Removing the Room ==
In order to add a room for a new release, the old room must be removed first. Join the game using the old release, join the Official Racer Room then run:
{{{
/unfix
/delegate YourNick
}}}
Then exit. The room will be removed.
== Updating the room config for a new release ==
The racer room configuration is currently here: [https://hg.hedgewars.org/hedgewars/raw-file/tip/misc/racer.room]
It is stored relative to the game server.
According to unc0rr, any errors in syntax will kill the server, so be careful!
To update for a new release you usually just need to add new characters to the AMMO for any newly added weapon entries.
{{{:s/\([0-9]\{58\}\)/\10/g}}}
will do this in vim, where 58 is the number of weapons in the current racer room and the 0 is for the addition.
New maps can be added too, using existing entries as a reference.
== Setting up the room ==
After having removed the old room, create a new room named "Official Racer Room". Restrict join to registered players only (unregistered don't get recorded in the stats) then run:
{{{
/loadroom racer.room
/fix
/callvote map #01
}}}
And leave. The callvote will cause errors as long as you are still the room admin, but they don't matter. You can quit/rejoin before that step if you wish.
== Running checker ==
Make sure you have hedgewars working, your login/password is stored in frontend's config
To build checker:
{{{
$ cabal build checker
}}}
Put checker.ini into ~/.hedgewars with such content:
{{{
[engine]
exe=/usr/home/hedgewars/0.9.24/bin/hwengine
prefix=/usr/home/hedgewars/0.9.24/share/hedgewars/Data
}}}
When updating between versions, update version in checker's source, run this on the server's database to have new stats appear on the records page:
{{{
INSERT INTO gameversions (protocol, version) VALUES (55, '0.9.24'), (56, '0.9.25-dev');
}}}