A while ago, I promised to add something more about adding the 333networks MasterServer to your in-game Server Browser (or known as Ubrowser). It was about time that I kept my end of the bargain!
Basic Operation
A MasterServer is a server that maintains a list of all servers (of a certain game) that are currently online. When you open your
Multiplayer Games menu and select
Internet Games, in a few seconds a list of UTdemo servers will appear. From there you can see the map name, players, game rules and you can click to enter the server. This works the same way for both the full version and the demo. It looks easy, but this is in fact what happens:
- Every UTdemo server sends a signal to the MasterServer every minute or so.
- The MasterServer keeps a list of all these servers, storing the IP and query port during this minute.
- When you open your Multiplayer Games menu and select Internet Games, you request and receive this server list.
- The MasterServer sends you this list. Your UTdemo then performs a check on all servers in this list. This query is a request to each and every server in the list that you received from the MasterServer. Every server responds to this request with the server name, mapname, number of players, etc.
- And now you can see every server name of servers that is online and choose to join it.
[center]
[/center]
Ubrowser
Unreal Tournament (and Demo) have the correct settings for this MasterServer by default. In
UnrealTournament.ini, in your game folder (C:\Tournamentdemo\System or C:\UnrealTournament\System for the regular user) you will find the following lines:
Code: Select all
[UBrowserAll]
ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=unreal.epicgames.com,MasterServerTCPPort=28900,Region=0,GameName=ut
ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master0.gamespy.com,MasterServerTCPPort=28900,Region=0,GameName=ut
These lines 'tell' Unreal Tournament where the MasterServer can be found, what port and what game (e.g. unreal, ut). However, so far we only described how Unreal Tournament uses this list.
Signal
To make your server visible, you need to send a signal, called a Beacon (or UDPBeacon) every minute to the MasterServer. Of course, Unreal Tournament can do this automatically. You can also add an uplink to a custom MasterServer manually. Only; this time you need to specify the servers you want to send your beacon to. For example, to our MasterServer. This can be done by adding a line similar to the lines from the following example. Unreal Tournament already has three standard MasterServers listed (the long lines).
Code: Select all
[Engine.GameEngine]
CacheSizeMegs=4
UseSound=True
ServerActors=IpDrv.UdpBeacon
ServerActors=IpServer.UdpServerQuery
ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.telefragged.com MasterServerPort=27500
ServerActors=UWeb.WebServer
ServerPackages=SoldierSkins
ServerPackages=Botpack
MasterServer
(At the moment this tutorial was written, unreal.epicgames.com already stopped the service for the MasterServer)
[center]
[/center]
So, concluding the description about how it works, we can say that the MasterServer is nothing more than a (small) program that keeps a list of all servers.
Instructions
333networks has it's own MasterServers online. These servers are located on master.333networks.com:27900 and on darkelarious.blicky.net:27900 (which is just a different label/domain for the same MasterServer). These MasterServers are used by our server lists and serve like stand-alone MasterServers in case the other MasterServers fail, like in the autumn of 2008. With the instructions in previous posts, you can add our MasterServers to your Internet Games (for players) or add your server to our MasterServers (for admins).