I can finally announce you that today, the major "next-gen" update of the supeR,Servers is finally finished !
A lot of effort were put into these new servers, and I would like to particularly thank Heap and Riwa for their help.
These efforts were not only done to update servers configurations with the feedback of many of the players that reported us their problems and ideas (thank's guys !), but I've made up an automatic maintenance system, and a whole new administration system, with many modules, like you've never seen before, that will permit to fully delegate most of the privileges and tasks, thus managing efficiently the servers.
Do not be scared : this post will serve as a starting point with the necessary informations about the servers updates, how the new system works (for potential users or to implement it in your own server) and how the privileges are delegated.
So if you are an administrator of a q3a-based game, this article is for you. I hope this system will inspire and help you in easing your burden.
Table of content
.Summary of the updates
.How the new supeR,Servers work ?
.Pyramidal hierarchy of privileges for managing the supeR,Servers
.List of the tools used
- * supeR,Servers config
* supeR,Servers + b3 bot launchers
* b3 supeR,Bot config
Summary of the updates
B3 bot :
- * anti language abuse
* right management system (we can elect moderators now, without giving rcon !)
* new admins and moderators tools : you can warn, kick, tempban, ban, follow (put a player on watching, with a reason, and any admin connecting to the server will be noticed of this player state automatically) and forceteam (force a player into a team or in spectators)
* global public banlist (inactive atm, needs other admins...)
* fix some OA missing or buggy features : !list to get a list of players with the right clientid, !nextmap to know the nextmap, etc... type !help
* auto notices and advices (regularly - each 6 minutes - and on talk - try to say "lag" or "camper")
* registering your nickname : you can avoid name stealing by !register, then !registernick and you can delete it later with !deletenick
* you can know when a player was last seen on any of the supeR,Server by issuing a !seen <nickname>
* get the next map (!nextmap) or the list of all maps available on server (!register then !maps)
* many other funny stuffs like !quote for random quotes, or !ratemap to rate current map, and many others.
Automated server maintenance :
- * all servers are automatically restarted every night (several warning message are issued before)
* all servers are constantly watched for crash or error and automatically restored in maximum 1 hour
* all servers logs are rotated (logs max size is 5 MB)
* all these measures makes sure that memory is cleaned each day and servers performances are optimum (it has been proven that logs and running server since a long time without a reboot significantly decrease the performances and makes the server lag), plus you stay assured that the servers will always be reset everyday to the exact gamemode you're used to : all votes are cleaned up.
* b3 database gets regularly flushed (particularly for the chatlog). Exception for the penalties table (ban are _not_ flushed).
Next-gen supeR,Servers :
- * Opened 2 new servers : supeR,CTF2 and supeR,RocketsOnly
* These 2 supeR,Servers are based on ExcessivePlus
+ innovative full delag technology used in OACL2010
+ indulgent anti-camp system (only there to avoid very excessive abuses of camping)
+ custom HUDs
+ custom radio voices chat (try /say &ownage.wav ^3OwNaGe!)
+ lock teams (you can do real matchs on these servers)
+ customizable brightskins
+ many more, look at the excessiveplus.net website
* All servers were edited following the user's feedbacks :
+ supeR,Tourney and supeR,Mini1v1 now have no bot at all, so you can connect and just wait for someone.
+ supeR,Tourney and supeR,Mini1v1 have more maps (like jokiamphi!), and Mini1v1 has a new rotation.
+ supeR,DM and supeR,TDM removed the big (> 1.5 MB) custom maps, only a few are left and their size was diminished (eg: void4b1 2.5MB replaced by void4_1 400KB)
+ supeR,CTF2 and supeR,RocketsOnly have a map rotation, and new custom maps (like speedyctf, mlctf1beta, oasago2j, hdsagoalpha, oan, ps37ctf3, reptctf11, reptctf12 and jokictf2)
- supeR,Instagib removed oa_bases3
- supeR,Airways removed (buggy and anyway not player any longer)
+ Brand-new supeR,Defrag servers : supeR,DefragFreestyle and supeR,DefragRuns (see below)
Note : type !register then !maps to get a list of all maps available.
Anticipating the future of Defrag in OA :
- * First servers to be opened and configured with our new open management system, these servers are directly managed by Riwa, an experienced Defrag player.
* 2 brand new Defrag servers : supeR,DefragFreestyle and supeR,DefragRuns.
+ supeR,DefragFreestyle will be used as a training ground. No runs can be found there : only free fun !
+ supeR,DefragRuns is a defrag runs server with all the runs maps you ever wanted. Don't hesitate to request more !
* An innovative defrag bot developped by Riwa and JockeTF is at your disposal to help you (eg : !maplist to get the list of the maps you can play).
* At anytime you can see the full list of maps at maps.superbots.org, the list is refreshed each day.
Opensourcing our systems :
* Releasing all our tools publicly (even our private ones) with a schema on how we use them on our servers
- + OpenArena Multi-Purpose Servers launcher for Linux (oamps.sh) for maximizing automation (particularly maintenance).
+ OACL2010 config from which we are basing our next-gen servers.
+ CPMA customized for OA
+ GTV customized for OA (and a version for ExcessivePlus multiview is provided too)
+ Dynamiclogin tool and OA parser and many other plugins for Big Brother Bot 3
+ A guide on how to customize a mod
- + Camel XP's Dedicated Control Panel to manage game servers (start, restart, edit config, remote rcon, backup, etc...)
+ Big Brother Bot 3 with OA parser and dynamiclogin plugin (fruit of our collaboration) to manage ingame rights (eg: moderators)
+ Web file manager to upload, edit and delete ressources (maps, models, binaries, etc...) and configs
+ oamps automates the reset of the servers, each day, thus ensuring that temporary edits are dismissed
How the supeR,Servers work ?
The supeR,Servers are based on 4 main modules :
- OpenArena Multi-Purpose Server Launcher (OAMPS) : automatically manage the maintenance of the servers.
- Big Brother Bot (supeR,Bot) and AIpaca : add in-game functionnalities (such as stats and maps list) and manage players privileges.
- Web file manager : manage technically the servers (edit the files, add maps, brightskins, add mods, update openarena version, create new servers, etc...).
- (optional) CamelXP's Dedicated Control Panel : visually edit and manage servers (edit config file, web rcon, restart server, backup and reinstall). This module is not necessarily needed as you can do about the same with the web file manager, but it eases the administration of a server a lot. It is greatly advised.
- (future) mod ExcessivePlus v2.1 for OA : add many great new technologies like full delag for all weapons, anti-camp system, multiview demos and gtv, and match management with referees and lock teams.
Note : this mod should be only server-side, with no download required by users, but OA 0.8.5 is compatibility broken, so only 2 servers with this mod are up right now (supeR,CTF2 and supeR,RocketsOnly).
Here is a diagram of the supeR,Servers :
Click here to enlarge the picture
As you can see, thank's to the supeR,Bot (Big Brother Bot), it is possible to communicate and coordinate with other outside servers.
In the example, it would be used for a global banlist system, based on IP and GUID, but, thank's to its nature, the Big Brother Bot can be easily extended with python extensions, and so it's possible to share any kind of informations.
Pyramidal hierarchy of privileges for managing the supeR,Servers
Our system is mainly focused on 2 goals : provide rock-solid servers auto-maintained, and delegate as many tasks as possible while staying safe.
For the auto-maintenance, the OAMPS script was developed.
For the delegation of privileges, we have integrated a web file manager, a dedicated control panel and an in-game bot in respect to a pyramidal hierarchy of privileges.
Here is a schema of this pyramid of privileges, with their technical powers :
Click here to enlarge the picture
Pyramidal hierarchy of privileges for managing the supeR,Servers :
Rights : Has full SSH access and all access to the host computer running all the game servers.
Powers : Can create new users accounts, install softwares, update the OS, restart (pseudo-)physically the computer, etc...
Cannot : Install another OS.
Rights : Has a limited SSH access.
Powers : Can install new softwares (limited to its unix userspace), can manage the files of all game servers, can manage the web server, edit unix crontab, get direct access to the unix terminal, create new panel accounts...
Cannot : Update the OS, restart (pseudo-)physically the computer hosting the game servers, install system-wide softwares, create new unix users accounts, etc...
Game Server Higher Admin
Rights : Has an account on the game server panel and a higher access on the web file manager (to the game binary directory directly).
Powers : Can manage several servers, can upload anything, update the game version, hard restart the server, edit the config with a nice GUI panel, edit commandline parameters and even add his own scripts to launch when launching the server (upload the script and then edit the Start file in the panel).
Cannot : Install new softwares, update the OS, edit the web server, go beyond the boundaries of the game server he is attributed.
Game Server Admin
Rights : Has access to the files via web file manager.
Powers : Can upload new maps, mods, and other ressources (like Q3 textures and brightskins), can directly edit and upload the config file(s), can edit any server settings and store them. Like the Co-Admin, he can restart server on hangup or small crash or whenever he wants to load new config with the RCON.
Cannot : Restart a fully crashed server (process terminated - but our script oamps automate hard failure cases), hard restart, edit commandline parameters (like the port of the server), load new mods (can only upload them), update the server's game version, etc..
Game Server Co-Admin
Rights : Has access to the superadmin b3 accounts and server Rcon.
Powers : can manage the server : designate new moderator/referees (see B3 doc for privilege gift), change map, change server's settings on-the-fly, can restart server on hangup, reload the config, etc...
Cannot : edit technically the server (upload new maps, change rcon (he can but Server Admin can set another directly inside the config file).)
Game Server Lesser Admin
Rights : Has access to the superadmin b3 accounts and server Rcon.
Powers : can manage the server : designate new moderator/referees (see B3 doc for privilege gift), change map, kick players, ban them (depends on the level of rights of the moderator), lookup for user's infos, etc...
Cannot : manage technically the server (change game server settings on the fly, restart server on hangup, etc...)
Rights : use B3 bot warnings or the ref system of E+).
Powers : can issue warnings, changemap, force people in teams, place flags (follow) players with suspect behaviour, lock teams (with E+), etc...
Cannot : manage anything, only moderate people and matchs (change game server settings.)
Rights : use B3 regular user system
Powers : can access to more b3 functions.
Rights : play on the server.
Power : none but basic b3 functions.
Note : each higher level can elect and technically configure users of lower levels (theoretically any level - eg: Server Admin can elect a Server Co-Admin, but can too elect a Moderator, even if this should be left to the Game Server Lesser Admin (which is just above) for a better distribution of work load in the system).
List of the tools used
- Big Brother Bot :
Note : for the full configuration and list of plugins used in our servers, read the next section.
- CamelXP's Dedicated Control Panel (dedipanel) :
- OpenArena Multi-Purpose Server Launcher for Linux :
Note : for an example of how it is used in our servers, read the next section.
- Web File Manager - AjaxPlorer :
- ExcessivePlus v2.1 :
Note : for an example configuration, read the next section for our supeR,Servers config files, or at the OpenArena Clan League 2010 General Config :
http://superbots.free.fr/superbots/file ... v1.1.2.zip
- AIpaca : I leave the initiative to the authors, JockeTF and Riwa, to publish their tool when they will think it is ready.
In our effort to open our all architecture and share our knowledge and experience, we here give you all our configurations as an example you can crawl and test. They are opensource, so you can use them as is on your servers, but I advise you to make your own after you will have experienced ours. Be creative !
- supeR,Servers config
http://superbots.org/modules.php?name=D ... tit&lid=33
- supeR,Servers + b3 bot launchers
http://superbots.org/modules.php?name=D ... tit&lid=35
- b3 supeR,Bot config
Our bot is based on Big Brother Bot v1.3.3 with oa081.py parser v0.7.5.
Download : http://superbots.org/modules.php?name=D ... tit&lid=34
List of plugins used with our Big Brother Bot supeR,Bot :
- * oa081.py parser ->Download
* Admin core plugin
* ADV core plugin
* Chat plugin
* Chatlogger plugin
* Chatlogger Quoter plugin
* Censor core plugin
* Dynamic Login
* Follow plugin
* Forceteam plugin
* Ratemap plugin
* Scheduler plugin
* SpamControl core plugin
* Stats core plugin
* Status core plugin
* Superadmin plugin
* Wideban plugin
For more infos and to download all these plugins, look at :
Plugins you could may add but we didn't :
- * CountryFilter : can show players provenance and filters players to only one country.
* Welcome core plugin : very useful but disabled because GUID tends to change from time to time and /rcon tell is broken in the current version of OA.
* XLRstats : was disabled because I don't believe in stats (people tends to cheat by disconnecting, pwning noobs and unbalancing teams), and we don't want to overload servers with useless stats. The temporary stats, provided by the stats core plugin, fits better.
- Cronjob :
The launchers should add themselves to a cron job, for more infos, look inside the "_README-to-launch-servers.txt" that you can find in the supeR,Servers launchers archive.
TODO: Things that can be enhanced for the future
- [IMPORTANT] Use the autorestart (--restart) function of B3 for the bot to be restarted automatically on crash (currently deprecated, the function doesn't work). Very important for automaintenance.
- Switch all supeR,Servers to ExcessivePlus full serverside (sv_pure 0). At this moment, OA 085 is incompatible with server-side mods, the client crashes.
- Add VSP stats or XLRstats
- Add a GTV server connected to all supeR,Servers
- Add Echelon for B3 (to easily review events and warnings)
- Activate the global banlist (when other admins will set this up too...) :
with Echelon share our http://gtv.superbots.org/echelon/banlist.php and other server's admins can then use Courgette's Banlist plugin to auto-update their banlist (and we can do the same if others share their banlists)
- Avoid the "changemap lag" : when you do change map on a server, it will make the other servers lag. Is there a way to avoid that ? Lowering processes priority ?
- Install and setup Monit : Monit is an opensource automatic maintenance script. It could be used as a web remote controller to start/stop/monitor the servers, or simply as an added security layer that watch over the servers.
More infos : http://mmonit.com/monit/
I hope this new system, although being seemingly complicated, will ease the burden of every game server admin. Feel free to use, edit, add, customize, rip, hack any or whole parts of the tools and stuffs we give.
Be free. Be creative.
GrosBedo alias supeR,Grism