DISCLAIMER:
The content of this post is purely supposition. I have never seen the source and have no idea how it is really done. I can only guess based on what I have seen. I make no warrantee that this information is accurate. I also am not responsible for any cheating that results from this information. PLZ don't ban me.
The demo recorder is implemented as a client to the game. It gets sent the packets (probably over the local loopback [127.0.0.1] for single player games) of the game and puts their contents in a file. This is why the recorder takes up a slot in the player list. When the demo is played back the game extracts the packets from the file, (perhaps it processes them from there, or maybe it sends it through the loopback), and it is just like joining a real game. I don't think the packets are put in raw, but they may be. If they were then that could potentially give away a lot about how the packets are formatted if someone could crack the data in the file (you would have to do this in order to make your own demo player). Just figured some would find this interesting.
Your programming buddy, Dragon88
The content of this post is purely supposition. I have never seen the source and have no idea how it is really done. I can only guess based on what I have seen. I make no warrantee that this information is accurate. I also am not responsible for any cheating that results from this information. PLZ don't ban me.
The demo recorder is implemented as a client to the game. It gets sent the packets (probably over the local loopback [127.0.0.1] for single player games) of the game and puts their contents in a file. This is why the recorder takes up a slot in the player list. When the demo is played back the game extracts the packets from the file, (perhaps it processes them from there, or maybe it sends it through the loopback), and it is just like joining a real game. I don't think the packets are put in raw, but they may be. If they were then that could potentially give away a lot about how the packets are formatted if someone could crack the data in the file (you would have to do this in order to make your own demo player). Just figured some would find this interesting.
Your programming buddy, Dragon88