Donate

You can make a donation if you'd like to support my work:


Contact

I deactivated the rating mechanism for now due to excessive spamming; while I got some interesting comments when I started it the current ratio is several hundred spam comments for one useful comment. If you have anything to say, please write an email to bwachter-hp@lart.info

OpenTTD add-ons

This page is dedicated to some stuff I wrote for easier maintenance of dedicated OpenTTD servers. If you came here looking for my public servers please go to games.pimp.lart.info.

You can get the stuff via cvs from cvs.lart.info:

cvs -d:pserver:cvs@cvs.pimp.lart.info:/cvs co ttd_addons

ttdsrv ( OpenTTD 0.3.6 dietlibc static)

ttdsrv is a wrapper around a dedicated OpenTTD-server. It works best when started from some daemon monitoring tool (like daemontools). That's what ttdsrv does:

When running under a daemon monitoring tool ttdsrv will make sure that your server is always up, or brings the server down if you bring it down in the monitoring tool. You can use the logfile and the control FIFO to attach an external program to perform specific actions on special events (greet a joining player, restart server, ...). There are a few things which need to be implemented:

ttdsrv can be linked against dietlibc for small program size. It works best if the OpenTTD-server has been linked against dietlibc (you can get my binary till I found time to commit the patch needed for it to compile) -- if you're using a glibc-binary you'll have much fun preparing the chroot environment. The chroot should have the following contents (for the dietlibc binary):

data
a directory containing the data files
dev
device directory, containing nodes for null and urandom
etc
a directory containing the systems resolv.conf
lang
a directory containing the language stuff
openttd
the OpenTTD binary
openttd.cfg
the OpenTTD configuration file

You should create a new user for the ttd-server, and then start ttdsrv with `ttdsrv uid gid chroot-directory log errlog'; log is the redirected stdout, errlog the redirected stderr. Choose any name for errlog, but stick to `log' as file for the default log if you'd like to use ttdconsole.

ttdconsole

ttdconsole is a simple implementation of a console to control servers started using ttdsrv mentioned above. You just call it with the data directory as only argument. ttdconsole expects to find the logfile as `log' in the data directory.