The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Unreal Tournament 2003 Protocol
I'm currently trying to reverse engineer the UT game protocol.
So far, I have only analyzed the client -> server protocol.
All I found out up to now is that there is a packet counter (2 bytes) at the beginning of each packet. At byte number 8 is (not always) another packet counter (again 2 bytes) that increments only every second or third packet.
If the third byte is "02", information about the movement of the player is stored in the packet. The facing direction is two times two bytes at the end. If the player moves, the package is different, the facing direction is not stored in it anymore (Or perhaps at a different position).
This "02" could be a "command identifier", but I am not sure about it.
DJPaul: Short of creating some sort of bot, I see why this knowledge would be of any use of you. You better not be trying to create a new AimBot, or somesuch.
Trystan: I don't know many aimbots that function at the packet level. Knowledge sought is not always for personal gain; perhaps he's looking to write a highly customized game browser, or perhaps he's looking to replace the UT2K3 client with his own. Perhaps he's simply intrigued. ;)
Mychaeel: In Unreal Tournament aimbots didn't have to be on package level simply because they could be written directly in UnrealScript. UT2003 very effectively prevents that. – Of course none of this is sufficiently indicating that something bad is going on here, but I'd also like to hear a comment of KCN's on that.
El Muerte TDS: it's useless to use the game protocol for a game browser, it could be usefull to create side demo recording or side stats recording outside the Game. (or for external modification of the game)
KCN: Actually I have not thought about what to do when I got the protocol. I just wanted to play with it a bit. Now I'm thinking about reading the packets from server to client and showing their positions on a map or so.
Mychaeel: I'm afraid such a thing (a client-side only radar) would be considered a cheat.
KCN: Argh. I'm really not trying to cheat. I do not even play this game. I just want some fun at a LAN Party. When you play games over the Internet, your can never be sure that someone cheats. I'll just continue, if nobody wants to help me, it's their choice.