by Spike » Mon Nov 16, 2009 11:53 am
if it is the interval/duration, then lerpfinish is a misnomer. :P
Which, yes, would only be sent when properly required.
Regarding connection stuff, the client asks for a connection, and the server sends an ack packet and instantly starts sending 20+ packets every second from a single potentially-spoofed packet... Which is my most major gripe about NQ protocols.
The problem is that with that you can spoof ip addresses and then fully clog up a server with X dead clients that the server is constantly sending packets to. So either a denial of service attack on the server, or use a few servers and you have a denial of service for someone else. Because the CCREQ_CONNECT packet can be spoofed, its not possible to ban the DoSer.
QW+Q2+DP onwards use 'challenges', where the client has to respond with a magic cookie before any client slots are actually consumed, so you know they actually have control of that ip before you start spamming it. Also, by having the client acknowledge a challenge, you can easily route through client-side NATs (so long as the client sends the reply to the server's new port).
But now I'm babbling.
I had a quick peek at the server source, and it looks like it would be just fine with extra data tacked on the end. From memory, proquake does just that to carry the extra info to get it through NATs. From memory, proquake include a magic code to avoid bad things from happening if others add stuff too, but I've not checked that.
.