Forum

QW master server source code

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

QW master server source code

Postby frag.machine » Wed Jun 30, 2010 7:51 pm

I was wondering that an interesting project to implement would be a Java version version of the QW Master Server, maybe hosted at Google AppEngine. Anyone knows if id ever released the QW master server sources so I could study the protocol ?
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2090
Joined: Sat Nov 25, 2006 1:49 pm

Postby Spike » Wed Jun 30, 2010 8:15 pm

id did not.

fte has one in sv_master.c
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby frag.machine » Wed Jun 30, 2010 8:50 pm

Does FTE uses the original protocol or has its own version ? From what I remember both FTE and Darkplaces can use the dp master server implementation, right ?
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2090
Joined: Sat Nov 25, 2006 1:49 pm

Postby Spike » Wed Jun 30, 2010 9:05 pm

The qw master protocol is a bit awkward.
The original protocol isn't even supported by ID any more. There are no projects that still use it.

FTE clients support both QW and dpmaster masters, as do the servers.
The master server supports dpmaster+Q2+QW, supposedly.

The QW protocol is basically this:

QW Query:
\xff\xff\xff\xffc
Gives the response:
\xff\xff\xff\xffd\nIIIIPPIIIIPPIIIIPP
(Where IIII is the ip, and PP is the port of each server).

QW Heartbeat:
\xff\xff\xff\xffa
Doesn't give a response (id's master sends a ping - a 'k' packet, but that's more for the operator's use than anything else, and only when first added).

And yeah, that's basically it.
Each heartbeat needs to keep the server listed for long enough to cover packet loss. 5/6 mins will do it.

There used to be more commands in earlier versions, but that stuff isn't used any more. Servers don't support/need it.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby frag.machine » Wed Jun 30, 2010 9:24 pm

Cool, i'll check it later then. Looks like quite feasible to emulate, and I want something practical to test Google's hosting capabilities. And besides, if turns out to be something useful for our tiny community, better. :)
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2090
Joined: Sat Nov 25, 2006 1:49 pm


Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest