by Spike » Wed Feb 22, 2012 9:14 am
a demo is basically a collection of the packets received by the client as well as the timings, yes.
qwd demos also contain the outgoing movement commands, so you properly see predicted positions as the original player did.
mvd demos have no pvs checks, with masks describing which client was sent directed commands (like stuffcmds/centerprints etc) which are conditionally read, and stats for all players which are always read but updated for the player they were 'directed' to.
you can still get packet overflows with any protocol if the mod spams eg particle() builtin calls. You just won't get them from 30000 entities visible all at once.
QuakeWorld and DP5+ protocols do not need to resend motionless unchanged entities to keep it present in the client. Note however that these protocols will still send the entity as it leaves/enters pvs.
I'm unsure about earlier DP-specific protocols.
But the vanilla NetQuake protocol (as well as 'QUAKEDP', fitzquake, etc) requires network traffic to 'refresh' the entity in every (unreliable) packet. Each entity will be resent from its baseline. An entity which exactly matches its baseline will consume 2 or 3 bytes per packet, but if its moved, rotated, etc then it will take more space up to a maximum of 17 bytes (with vanilla) in every single packet.
.