Jump to content

- - - - -

Setting up a ID Tech 3 compatible master server

3 replies to this topic

#1 GSIO01


    UberGames Developer

  • UberGames Developer
  • 1,021 posts

Posted 31 March 2010 - 03:39 PM

The EF2 master server is down, well not that this will be a problem for most people but when I heard this it reminded me on the research I once did about this when the EF master was down. Now if you search the net you'll find many sites where people ask how to setup a master server but almost none how it can be done. I decided to change this. Now the master server I will be using is the dpmaster (Dark Places Master server) which is a master server for the Dark Places Engine, but it supports the ID Tech 3 master protocol as well (sadly not EF2 though, there seem to be changes done by Ritual).

First things first
Download dpmaster 2.1 and extract it.

The next step depends on the OS you want to setup the master server on. If it is windows just move the dpmaster.exe somewhere you want and got to the next step, if it is linux continue reading here.

Even though dpmaster was written for windows and there is only a precompiled windows binary this is no real problem as the source code is included and compiles on linux out of the box. Only thing you might have to do before compiling is installing gcc and possibly some depencies. To compile the master do the following things:
  • cd src
  • make release
  • move the fresh compiled dpmaster binary somewhere you like

Setting up the server
Actually you can simple start it by runing the binary, the master server will be running and accepting heartbeats and queries from any ID Tech 3 game that uses an (mostly) unchanged Quake 3 master protocol.

Off course you can configure the master server further, I'll now explain some but not all of the parameters you can use (as the help function explains them pretty good (dpmaster --help).

Verbose mode: -v <int>
Run in verbose mode (the master will output information). You can choose from level 1 almost no information up to level 4 every information.

Setting the maximum ammount of servers: -n <int>
Well explains itself, default is 4096.

Making the master only accepting servers of specific games:
--game-policy <apcept|reject> <gamename> <anothergamename> ...
For EF1 the gamename is STEF1.

Setting the listen adress: -l <ip> or -l adress
If you have multiple IPs (for example rootserver sometimes have) you can choose which one to listen on with this option.

Mapping adresses: -m adr1=adr2
Allows you to map one adress to another for example: -m master.somedoman.com=123.456.789.111

-L enables logging
--log-file <filepath> allows to change where the logfile is, default is: /var/log/dpmaster.log

OS specific options:

Deamon mode (unix): -D
Run the binary in deamon mode

Jailpath(unix): -j <jail_path>
chroot dpmaster, user running dpmaster needs super-user rights

The final steps
Congratulations you have a running master server.

You wont find any servers with it though. Why? Master servers are not browsing for servers themself. They are waiting for servers to send them heartbeats, all servers doing this will be added to the server list.

So the last thing is to let people know about your master server, so they add it as additional sv_master.

I have a master running listening on master.gdev-rp.org:27950 atm.

#2 JDavid



  • Members
  • 251 posts

Posted 05 April 2010 - 03:07 PM

Awesome stuff GS :D Should come in handy one day ^_^

#3 sharpkiller


    Queen Fanatic

  • Members
  • 491 posts

Posted 05 April 2010 - 08:06 PM

Awesome, thanks GSI. :D The {UFP} will also be looking at running a master server off of our dedicated server in the unfortunate eventuality that EF1's master server does go offline. :)


#4 GSIO01


    UberGames Developer

  • UberGames Developer
  • 1,021 posts

Posted 10 April 2010 - 07:56 PM

Turned out dpmaster is compatible with ioEF, ioCow and rpgxEF but not with vEF and EF2.

As I already have posted I have modified dpmaster to an ef2 Masterserver called ef2master, precompiled binaries and the source can be downloaded from: http://ef2master.hennecke-online.net.

I also have modified dpmaster to be compatible with vEF. It is called efmaster, precompiled binaries and the source can be downloaded from http://efmaster.hennecke-online.net.

Reply to this topic


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users