Back to homepage
How to setup the Official Racer Challenge room
Updated Wed, 30 Oct 2019 11:12:33 +0000 by Wuzzy

Official Racer Challenge Room Setup


The server has support for "fixed" server rooms in order to have a permanent room for e.g. hosting Racer/TechRacer maps. Fixed rooms can exist even when nobody is inside.

On the official server, we use this for the Official Racer Challenge.

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 Challenge 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: 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 update AMMO for any newly added weapon entries. 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 Challenge". Restrict join to registered players only (unregistered players don't get recorded in the stats) then run: /loadroom racer.yaml /fix /callvote map #01

And leave. The /callvote will cause error messages 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/<VERSION>/bin/hwengine prefix=/usr/home/hedgewars/<VERSION>/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 (see also ProtocolNumbers): INSERT INTO gameversions (protocol, version) VALUES (59, '1.0.0'), (60, '1.0.1-dev');

(Replace the version numbers (i.e. “1.0.0” and “1.0.1-dev”) and protocol numbers (i.e. 59 and 60) with the correct ones.)

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 a live system, that's not a problem.

It is also not a problem to stop checker at any point. If you have engine hanging for too long (shouldn't happen since 0.9.24) and game0.log suggests that there's nothing going on in the game being replayed, just kill the 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.