crlserver ========= crlserver is a roguelike server in the spirit of dgamelaunch, but it manages users logins and scores for far more than just nethack. Features -------- * It's not GPL'ed * Multiple game * Simple configuration * SQL or LDAP authentification backend * Simple and clean UI * Easy username filtering TODO ---- * Support of ttyrec for games record * Support of ttyplay for real time games watching * Configurable menus via the configuration file, like dgamelaunch does Known working plateforms ------------------------ * OpenBSD i386, amd64 and loongson * Ubuntu i386 and amd64 Compilation ----------- * Edit 'pathnames.h', to suit your needs (there is documentation inside) * Use 'make' or 'gmake' depending on your plateform Installation ------------ * Put the binary somewhere and the content of 'data' in the directories you have specified in 'pathnames.h'. * Create the 'playground' and 'userdata' directories. * Create a user (eg: 'crlserver') * Edit your sshd_config and add those lines: Match User crlserver ForceCommand /path/to/crlserver * Alternatively you can use telnet or put crlserver as a login shell but it's not the recommended way. * Create a crlserver configuration file and put it in /etc or crlserver's home * It works (or if not, mail me) ! Configuration ------------- Grab the sample.conf in 'data' and change the values to what you want. game nethack { longname = "NetHack" version = "3.4.3" description = "This is the vanilla version of NetHack" key = "n" path = "/usr/games/nethack" params = {"-u","%user%"} } When the string '%user%' is found somewhere in the variables 'env' and 'params', it is automatically replaced by the username at login-time. You can do the same thing for text editors. editor rledit { longname = "RogueLike Editor" version = "?" description = "This is an example" key = "r" path = "/usr/local/bin/rledit" }