Bot Questions - Death packets Mr Ekted - Fri Dec 10, 2004 1:18 am Post subject: Death packets
Doies anyone know something that I dont about death packets? All my bots do "*relkills 1" on login. They handle reliable and unreliable death packets, but only if they are of the expected size (10 bytes not counting rel header). Despite having Routing:DeathDistance:16384, there are always a few death packets that don't show up (compared to F2). Are there any known cases where death packets are of a different length, or where more than one is sent in a block. I do handle packet clustering, but this is not the same thing.
50% Packetloss - Fri Dec 10, 2004 4:15 am Post subject:
From what I see in mervbot's source code, it seems to do the same thing you described: checks for 10 bytes long then splits apart the packet. From experience, I have been in arenas on more than one occasion where my scores did not update after a player died but I dont recall ever missing a death packet when I had *relkills on. I hosted a crap load of league games with ?kills in chat and never once failed to recieve a death packet. According to catid's comments in this section of his code, a score-update packet is sent right after a player dies, possably that could be of some help.
"This message is followed by a score update,
because kills are not visible all the time.
The killee & killer are assumed to have updated
their own scores, so no score updates are sent."-catid
But I believe that catid probably got most of his info about the packets from other people, mainly snrrrub, so there is probably some room for error with his assesment.
Mine GO BOOM - Fri Dec 10, 2004 9:22 am Post subject:
Don't you have your bot log all unknown packets that it doesn't handle?
A while ago, in a previous version of Subgame, one of Priit's fix.dll changes made it so every so often, two different packets both have the same RelID. I only figured that one out because I still had debugging code in in which it stored the previous 200 or so reliable packets, and checked to make sure I handled doubles correctly.
With one of your tests bots, you could always throw in code to keep a small checksum of previous reliable packets, and make sure they are all being sent correctly. Or if hosted locally, just keep a count of how many packets were being sent twice.