Xonotic Forums
How can I analyze demo file or CLIENT TO SERVER packets? - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12)
+--- Thread: How can I analyze demo file or CLIENT TO SERVER packets? (/showthread.php?tid=9878)



How can I analyze demo file or CLIENT TO SERVER packets? - vighill9 - 06-19-2024

Sorry, apologies in advance. I'm newbie for inspecting Xonotic codes (quakeC, darkplaces) and I'm struggling with code analysis because I want  to make detection tools like aim hacks and suspicious user perfermances. it will be very absurd question but can I make the demo files to csvfiles that can be easily statistically analyzed? I have seen the perl script to cut or edit demofiles in xonotic open source, but it only works for those purpose. I made a script based on the script but saw the only part of the readable data and failed to make csv file. And in other options, I also found that there is a "stooge bot" for packet hijacking(?) proxy server. 

But, I might be wrong, because analying the client to server packets and demo files is obsolete for detecting aim hacks and it's really complicate in the sense that a lot of variants like dedicated server sending back clients data after applying physics. 
 
In my search, triggered by command the clients recording data is allowed to sent to server. And filtering the packets and writing the data to demo files. The recorded demo files can be read at playback process in client. And the demo files parsed into client readable message. I think I will get clues more for the parsing functions.

It's really tough things to read C codes and QuakeC codes but interesting and if I understood the whole structures about data transfering processs through the all paths between client and server, between server and server progs.dat, I would acheive my goal. Before I die to time pass to do that, I want some tricks or opinions about the question from this forum users of full experiences in this game development.