Game Development Community

Master Server anyone?

by Matthew Shapiro · in Torque Game Engine · 07/17/2002 (10:14 pm) · 33 replies

I am looking throught the code, and I'm wondering. Anyone interested if I made a torque master server (Most likely i'd release the source code too). Anyone else currently working on one (so i don't waste my time?). If not I'll start.

--KallDRexx
Page «Previous 1 2
#1
07/17/2002 (11:15 pm)
Sounds great! I don't know of anybody messing up with this. If you need help, just say it. Maybe i can help you in a way.
#2
07/18/2002 (5:55 am)
I'm almost positive that code is somewhere.
#3
07/18/2002 (6:46 am)
Ryan, i think your right. I belive i've read a post of Jeff Tunnel some time ago. There he said something about that. I have a look into the forum. Maybe i find it.
#4
07/18/2002 (7:21 am)
Actually, the code used to be in CVS. It's not anymore, though. :-)
#5
07/18/2002 (7:52 am)
what code?

--KallDrexx
#6
07/18/2002 (7:53 am)
Master Server code.
#7
07/18/2002 (8:07 am)
it was out before?

--KallDrexx
#8
07/18/2002 (9:15 am)
I'm not sure if it was released with the original v12 or not.
#9
07/18/2002 (9:58 am)
It hasn't been released, and from talks with Jeff, they don't plan on it, as it could be used to cause T2 problems.

Writing one for us would be a great idea, I think.
#10
02/12/2003 (1:04 pm)
Sorry if this is a late post here, but I was wonder if there was any progress on the master server? If so could you point me in the right direction. I have never written code for that before and would like a chance to look at what you have.
#11
02/12/2003 (1:45 pm)
I was planning implementing a new "master server" as a SOAP interface. That way I get all the best of all the worlds standards, can write it in ANY language, security thru multiple means, etc.
#12
02/12/2003 (2:39 pm)
im a newbie when it comes to torque, what does master server mean? what does it do?
#13
02/12/2003 (3:02 pm)
I am currently in the process of finishing a master server implementation (along with KallDrexx). It's fully functional, it just needs some finishing work before I unleash it on the world. I should have more information on the specifics of this in a month or so.

The master server is responsible for tracking active game servers. When a server goes up, it notifies the master server. Then clients can inquire of the master server if there are any active games online. (A good example of such a client is the half life game browser, or GameSpy Arcade)

I think that a SOAP interface for a master server, especially one that will be under heavy use, is a bad idea. Each halflife master server puts out hundreds of megs of traffic a day responding to queries, and they use an efficient byte-level protocol similar to Torque's. SOAP would put a huge overhead (probably 10-20 times the data per server, since you'd be going from 48bits/server to maybe 560bits/server, assuming an very efficient XML data representation) in the system, with little to no gain.

In addition, SOAP relies on stateful protocols like TCP/IP to function properly, which means that you would add a further overhead from the OS's implementation of the TCP stack (as well as arbitrary limitations on the number of connections at a time) to the already large data format SOAP forces on you.

All in all, I think that the current, UDP-based implementation is a significantly better choice. My master server implementation can transfer almost 260 servers for every 1500 byte packet it sends out, which means even for very large server sets, minimal packets are sent. Depending on the SOAP and TCP implementations you use, you'll be faced with easily a dozen times the packets for a similar payload.

SOAP does have some advantages. It's easy to script and it's flexible. Perhaps for a MMORPG where you have a small server set, and a lot of complex scripting on the server, such an approach as you describe would be better, but I really think you'll be doing yourself a disservice to implement a SOAP master server.
#14
03/02/2003 (1:33 pm)
You guys close to release?
#15
03/02/2003 (3:51 pm)
Yeah, very close. The code is complete; all that remains is some heavy duty stress testing. As part of that, I'm developing a simple client. I'll release the client code to the community (for those of you that want to do a master browser, for instance, or want to integrate master server functionality into a non-Torque app).

Hopefully I'll have some good news (with specific details :P) to post in a few weeks :)
#16
03/02/2003 (4:10 pm)
Sounds intresting, let me know when you do release it.

Im looking forward to it

:)
#17
03/02/2003 (4:40 pm)
I'm interested in this...my current RTS game will need something like this to run the metagame.
#18
04/16/2003 (3:10 pm)
Ben:

Thank you so much for letting me take a look at your code. I found a few bugs in it that were really hard to track down, so I took it upon myself to write a whole new version, using your code as inspiration and using the STL and c++ stdlib extensively.

I've got it done, and was wondering if you would like to take a look at it :)
#19
05/29/2003 (6:24 pm)
Any way I can check out this code? I would certainly like to use a none perl related version for editing, also integrate a Registration portion of it. Either that, or create 2 servers, but I think one, and also set it up through 128 - 386 bit encryption. Most are always curious of that, and how to secure log-ons, and registrations..

Brad
#20
05/29/2003 (6:31 pm)
Howdy. You can find the code at www.pblabs.com/projects.php... Take a look!

The best plan is probably to use the existing master server infrastructure and have it point you to a reg server... the master server as is isn't immensely well suited to registration type stuff.

edit: The release up on that page is not the final version; there are a few more tweaks before it will be 1.0. I'll do a proper announcement at that point.
Page «Previous 1 2