Note, all of this is new for upcoming 0.2.8.3 clients and current SVN versions.
What are they?
Subcultures are communities of servers that want to stick together and stay separate from the regular servers listed on the master servers. Some servers can only be reached via subcultures or direct connection, others may be in subcultures and on the main list. Some servers may even be in several subcultures. Possible examples for subcultures are
- Competition servers for clan wars or tournaments. You don't want them listed on the master servers to keep non-participating players from pouring in without realizing they are entering an important game. (As of this writing, this is the only really existing subculture, with just one server. Hey, it's a start :) )
- Servers for expert players. Sick of n00bs messing up your fortress startup? Play on subculture servers.
- Incam only servers.
- Servers with moronically high rubber. WE DON'T WANT THEM ON THE MAIN MASTERS. :)
- Servers for players that don't trust the official master server system.
How do I connect to one as a player?
Enter the menu Game -> Network Game -> Subcultures. There may already be default official subcultures defined (which kind of defeats the purpose), for them, just move the cursor over them and hit Enter. You'll enter a master server browser menu with servers just from that subculture.
If your desired subculture is not listed, hit the Edit item. You'll get a chance to edit your subcultures. The menu works exactly like the server bookmarks menu. You'll have to find out the address and port of the master server managing your subculture and enter them in one of the bookmarks and pick a name for the subculture.
How do I add my server to a subculture?
You'll need to edit the configuration file master.srv for that purpose. Again, you need to find out the address and port of your subculture's master server, then add the lines
ServerBegin connection <address> port <port> name <subculture name> ServerEnd
To be listed on several subcultures, just add several of these blocks.
If you want your server to be removed from the main master server list, you need to delete the entries for the master servers that were there before you started editing, and switch your server to listen on another port. (the last step is important, the master servers will keep your server listed as long as they notice it is still running.) You should probably note the connection info of your server somewhere to the prospective players that are not using a version with subculture support yet.
How can I start a new subculture?
You'll need to host the master server that manages the subculture. For that, you need to compile a server from source with the master server compilation enabled. The following assumes you are using a Unix system. Just use
./configure --disable-glout --enable-master
to configure your server. Maybe you want to throw in the extra
argument if you don't want to compile a regular server as well, and maybe you want to prefix the whole thing with
so that the master server installation does not collide with a regular server installation from other sources.
If you want servers on your subculture NOT to be known to the regular masters, you need to open up the file config/masters.cfg and clear its contents.
Then, build and install the server as usual:
make make install
and start the master server with
(replace armagetronad with your chosen progname) and add /etc/init.d/armagetronad-master to the init files executed automatically at system boot (distribution dependant).
Then, publish your master server's contact info, consisting of the address and port, so players and server admins can follow the two previous section docs to connect to it. Your master server will listen on the default port 4533 if you don't edit settings_dedicated.cfg.
Windows users are on their own here, sorry. The code::blocks project builds a master server, but there are no scripts in place that make it run automatically.
Currently active subcultures are:
Servers reserved for competitions. Address: master1.armagetronad.net, port: 4532