The dopewars metaserver

Every dopewars server is different, due to their differing locations and configurations. Thus some centralised system for listing the currently available servers and displaying some sort of comment about the games running on them is necessary, to enable client players to pick the game that most suits them. This is the function of the dopewars metaserver.

Metaserver location

The metaserver is a PHP script which lives at SourceForge. It is accessed by both dopewars servers and clients via TCP connection to port 443, by standard encrypted HTTPS.

Using the metaserver from the client

Players who want to use the metaserver to list the currently available servers should go to this link, or just follow the "Active servers" link from the main dopewars web page. It cannot be guaranteed that all the listed servers are functional - they may, for example, have been registered in error, or a server may have crashed since being added to the list - but the list is checked daily for service, and so there is at least a good chance that the servers listed there will be working.

The metaserver, being an ordinary web page, should work happily on most machines which have web access. If you require a proxy to connect to the Web, set the https_proxy environment variable.

Using the metaserver from the server

People running servers who do not want their details listed by the metaserver should disable the metaserver comunication of the server with the MetaServer.Active=0 configuration file setting, or the -S command line option. Servers which do register their details can have their accompanying comment set with the MetaServer.Comment configuration file setting.

Each dopewars server notifies the metaserver of its current status, and sends this data on startup and shutdown, and when players leave or join the game. See the server page for more details.

The server, just like the client, may have trouble connecting to the metaserver if you are using a web proxy; see the information above for fixing this problem.

But it's displaying the wrong name!

Once connected to the metaserver, you may find that it displays the IP address of your server and not its domain name, or that it gets the domain name wrong. This is usually because your DNS is not set up to translate your IP into a domain name, or because you have multiple domain names for the one IP, and can be remedied by specifying the hostname with the MetaServer.LocalName variable in your dopewars configuration file. For security reasons, the metaserver will only accept this given name if it in turn maps to your IP address.

On other occasions, the metaserver will mistakenly display the name of your web proxy. In this case, you will need to override the hostname that the metaserver guesses for your machine with one you choose yourself. This is again done by specifying the hostname with the MetaServer.LocalName variable. In order to prevent abuse of this facility, you must obtain a password from the metaserver maintainer to authenticate your chosen hostname. Email the maintainer, giving the exact hostname you want to use (be aware that this is case-sensitive) and you will be given a password. Specify this password with the MetaServer.Password variable in the dopewars configuration file.

For example, if you wish your server to be known as dope-serv.com and you have emailed the maintainer, receiving the password Dope-Auth, then add the following to the dopewars configuration file:-
MetaServer.LocalName="dope-serv.com"
MetaServer.Password="Dope-Auth"

Restart your dopewars server, or send it a SIGUSR1 signal, for changes to these variables to take effect.

But my server has a dynamic IP...

Finally, your server's IP may be resolved happily, but you may have a connection to the internet which assigns you a dynamic IP. Consider what happens if your connection is broken before the dopewars server exits; the metaserver will list the IP of the "old" server, and you will now have no way of removing that entry when your connection comes back up, as your IP will be different. In this case, you can email the metaserver maintainer, and specify a blank MetaServer.LocalName variable. You will again receive a MetaServer.Password variable (see above), which the metaserver will use to identify "your" server; now, when your internet connection is restored, the server registration with the "new" IP will automatically replace the "old" one.


Last update: 10-04-2023
Valid XHTML 1.1