Here's some technical garbage for setting up the shared moderator stuff:
Each server admin will put several config files provided to everybody that will do all the magic of including all the files needed. Each admin will maintain their own config file that contains the moderators they have chosen for their servers, and will make that file available at convenient intervals to the public, preferably via web server (this will probably become a requirement, to be honest).
Then, each admin will download at a convenient time all the files from the other admins and put them in the Right Place for the server to use.
So, for example, you have servers A, B, and C.
Each server would have, say, a directory in their config directory called "official_moderators". In that directory will be three files, named "from_A.cfg", "from_B.cfg", and "from_C.cfg". Each of those files will contain all of the USER_LEVEL directives needed to make people moderators on each server.
Then there's a fourth file, called something like "moderator_master.cfg" or something like that. It would contain the default access levels for every command for the system (we might just go with the defaults that ship with the game, we might hammer it out a bit, since those defaults don't consider a network of moderators such as this). After all of that, it would include this snippet:
Code: Select all
INCLUDE from_A.cfg
INCLUDE from_B.cfg
INCLUDE from_C.cfg
Then, each admin puts a line in their everytime.cfg file that says "INCLUDE official_moderators/moderator_master.cfg".
So, up to this point, we have each server admin picking out their own moderators and making them available to all of the others. Each other admin reciprocates. We use everytime.cfg to get everything loaded between rounds.
Now, for each server, there will be specific changes they want made to the moderator list. For example, each server operator will put themselves in their from_NAME.cfg file as a regular moderator, because that's how the other servers will see them. But on their own server, they'll want to be Owner. That's a directive they'd put after the INCLUDE official_moderators line.
That also lets them override what's in the other admins' files, for example if a moderator on A acts real crazy on B, the owner of B might want to demote that moderator for a time.
Of course, ideally, in those situations, the server admins would get together and discuss getting rid of that moderator, or sanctioning together, or whatever. The point here is that the server owner can override everything.
Finally, why are these moderator files made available to everyone? Let's say YOU have a server you want to run, and you want to allow the official moderators to moderate it, but you're not going to have it be an official server, well, then you can include the files too.
I specifically wrote this not to use an RINCLUDE because then every server would require every other server to be running to work that way. This way, if A's webserver goes down for some reason, A's moderators can still operate on B and C, using the last known config file.
That stuff is actually obvious, but worth talking about. The TRON Police idea in the other thread needs to work this way, too. I don't see another way to make it happen.
So, what we'd do, then, is periodically release a zip file that updates the servers, especially when there's a new one.
Now, how do the server admins get their config files out to people? That's largely left up to them, but if the embedded web server in 0.4 gets finished before release, there's one use for it right there.