Advertisement

Quake 4 UDP packet structure

Started by December 12, 2005 03:34 PM
5 comments, last by hplus0603 19 years, 2 months ago
Hi all, I'm wondering where I can get hold of the UDP packet structure specs for Q4. I don't mean the full specs for the masses of data that flies between the client and server during a game, but merely the ones involved in querying a server, in the way tools such as ASE and KQuery do. Surely these simple structures are defined somewhere, or else how do the writers of the above tools get hold of the info? Can anyone point me in the right direction?
i dont know if you can get the actual packet structure. at least not yet anyway. the closest thing you could probably get would be the actual packets. if you want to play with that you need a packet sniffer such as Ethereal available at http://www.ethereal.com/ i'm fairly new to this so i may be wrong. but i hope it helps.
Advertisement
Quote:
Original post by nyt3hawk
i dont know if you can get the actual packet structure. at least not yet anyway. the closest thing you could probably get would be the actual packets. if you want to play with that you need a packet sniffer such as Ethereal available at http://www.ethereal.com/ i'm fairly new to this so i may be wrong. but i hope it helps.
What you're saying is good advice.

To the OP:

You might want to check out Doom 3's protocol (if there is documentation available on it, if not, Quake 3) to get an idea of how Quake 4's works while reviewing packets in Ethereal.
yay i gave good advice! lol. anyway i forgot about this when i first posted.
here is the quake3 networking model. there is also more info on similar engines. the links can be found in the forum faq. John Carmack likes to release his code so there is a good chance you will be able to find it in the probably distant future. hope it helps and good luck =)
http://dev.kquery.com/index.php?article=0
Ta for the responses, and that article on KQuery's site looks interesting, but it's still for Q3 rather than Q4.

Surely this information is published, or else how do the tools I mentioned work out how to structure the query packet? I've already grabbed the relevant packets with a sniffer and you can interpret the response fairly easily but did they just guess what to send for the original query?
Advertisement
You can grab the original query packets using the same sniffer. Yes, they most likely just reverse-engineered the query.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement