Game Development Community

dev|Pro Game Development Curriculum

Yet another master server

by Joshua Leeming · 06/22/2014 (5:32 am) · 5 comments

I used Ryan Mick's master server resource as a starting point to roll my own c# implementation.

There's a few good resources out there already, but I was looking for a relatively discrete task - and this made a good learning exercise. My goal was a master server that could run in mono as well as one that would be extensible. My target for a baseline was to get a server to register, and a client to be able to query it and connect.

To address extensibility I ran with a light-weight dependency injection container - the idea being that I could inject concerns like logging, and eventually swap out some of the basic handlers I've written for sessions management and the like - with say a nice scalable redis solution. I also wanted to be able to have both a Torque based server, and one that could be modified for a very specific game.

So, warts and all - here's the baseline I began. If it's useful for someone I'd love to hear about it. For myself I am considering of switching to a TCP based server, albeit a similar approach - but it's much more in my comfort zone. My plan here is to leverage service stack and something based on Robert Fritzen's resource. If folks are interested, I'll be publishing it to github as well.


#1
06/25/2014 (5:33 pm)
Yes, I may need a master server some time later, I already was searching for one, but there was no working one so far.
#2
06/26/2014 (10:30 am)
That's cool to have! nice done.

I would like to find a master server for player connection to the game, running on a android tablet, so i can save a lot of energy cost.
I think a tablet could handle that.
#3
07/04/2014 (8:30 pm)
I have been looking into Master servers for a wile now anyone have any thoughts>

Terry
#4
07/05/2014 (12:55 am)
Torque works with a UDP based master server out of the box - so that's why I started there, and I went with c# because it's what I know.

The console application works with the AFX demo (can host and connect) - altho you will need to be able to compile the code to be able to change the port number as it stands.

#5
11/02/2014 (7:17 am)
Any chance to get more documentation for it, other than " This is a Master Server" ? And another question, is it able to run under linux?