Forums » Bugs

Bug: Bots with improper identities

Mar 29, 2004 a1k0n link
SYNOPSIS
After a server restart, bots have incorrect identities, such as the frigate showing up in the user listing as a gold defense bot, or vice versa. This isn't much of a problem except when the bot happens to be hostile to you and seems to be a defense bot on your team.

STATUS
Broken in current 3.3.22 production release, fixed for next release.

WORKAROUND
When the server restarts, exit your client completely. This is the only way to clear its character ID cache. Re-run and reconnect and all should be fine.

DISCUSSION
With the latest round of server updates, I accidentally released some new code for dynamic character generation.

Each character in the game is uniquely and permanently identified by a character ID number. This was true of bots, too, until I made the decision, based upon the requirements for missions and other gameplay elements, to create bots dynamically. These dynamic bots can't have permanent character IDs, so I reserved a range of values for them, and then converted the bot generation code to use dynamic bot IDs.

The bug, then, is really a protocol misunderstanding between the client and the server. The client thinks whenever it sees a character ID, it will always be the same character. When the server restarts, the bot character IDs aren't usually generated in the same order, and the client doesn't know that it should forget what it knows about a character ID in the dynamic range whenever it leaves the presence of one of those characters.

Now, when your client thinks a bot isn't hostile, it won't send any "validate hit" messages when you shoot it. Friendly fire is implemented on both the client and the server, but it should probably be removed from the client. To say it saves bandwidth is laughable (though it technically does...if all you do is shoot your teammates).
Mar 29, 2004 RelayeR link
Well, I originally deleted this response but I like your idea of discussion. I'll point out that we will still see this problem until the next release.

Would this account for the fact that initial gauss hits on the frig do not result in a "validate hit" for me? I must first hit the frig with a gemini, which registers, then all gauss hits register.
Mar 30, 2004 a1k0n link
From what I can tell, no.. that's a different problem. That's very interesting. Unsure what causes that at this time; haven't seen it myself.
Mar 30, 2004 RelayeR link
It happens all the time to me. Sent Ray my errors.log and if you want to witness, just grab me next time I'm on.