So after posting
this, I got to thinking that it might be worthwhile to build a toolkit for people who are looking to start a dedicated (linux) server.
Here are some rough ideas:
-
Installation ScriptWhen run as root, this script would ask which user to install the files for or create a user (pb2servers) if needed. When run on a non-su account it would assume ~/paintball/. The script would then probe the repository (
http://dplogin.com/files/) and discover the location of the latest miniserver tarball. It would proceed to download it from SF. Extract miniserver tarball, go back to repo and download and extract the latest serverupdate tarball.
-
Content DownloaderWhen this script is run it will go to the repo and check for any new (third-party) content. i.e. maps, textures, mapinfo, etc. and download them as necessary. There would be a prompt at the end of the server installation to run this script so that servers would have a decent set of initial maps. This script would have a couple parameters so that it can be run silently without any prompts so that it could auto-download new content every day, week, etc. as per the server admin.
-
Server Instance FacilityA facility that would allow you to quickly manage your server scripts. This would basically allow you to create new launch scripts or cleanup old ones. Servers would be launched into a
screen and this facility would take care of the scripting portion of it. Admins would just need to specify a couple pieces of information such as: shortname, config, port, auto-start?, etc. and the facility would make sure that all the necessary scripts to start the servers are in order. I guess the facility could also allow you to control the stopping and starting of servers as well, rather than manually killing processes and rerunning scripts.
-
Misc.Some other things would need to be made to have this all work. Some scripts that help with cron, init.d, etc.
Other Ideas:
There's a couple other ideas floating around that I'm a little less keen on. A web front-end to manage some of these tasks, a ncurses program so that people can make configs, maplists, modify login access (commands.txt), etc.
Any other ideas/input is welcome, but I'm really only looking to hear from developers, server admins or linux gurus. Thanks