#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 pair (admin rights on the server required!) 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');
}}}
If you see too many "Check failed" messages in your checker's log, check your setup. If you fixed a problem with engine, you might want to recheck previously failed replays by moving them from "failed" to "replays" folder on the game server. You may do it on live system, that's np.
It is also not a problem to stop checker at any point. If you have engine hanging for too long (shouldn't happen since .24) and game0.log suggests that there's nothing going on in the game being replayed, just kill engine process to count this attempt as failed.
It is fine to have multiple instances of checker running, even on the same host and on the same account, if you like. This helps when you have lots of replays to check and some spare cpu cores.