Break what isn't broken but don't fix what is, well done. Zombies still walk through walls, melee cannot be used in doors, but yeah fuck around with the memory structures for some unknown reason. My character is gone, he's just plain simple gone, he didn't get shot, he didn't get jumped by zombies, he just vanished, no amount of reconnecting and changing file names have fixed that. He might still be somewhere on the hive but I can't get him back. There's a very simple check that could prevent something happening in cases when its server v hive. Attach three values to a character: 1) An ID number (when it was made YYMMDDHHMMSS + some random numbers). 2) Value of all the items in question on the character. Higher quality items obviously being worth more. 3) Boolean value for if the character has died (1 = dead, 0 = alive). Also, the values in the hive should be bound to the steamID of the user only (alternatively assign each steamID a cd-key-like value). No names, no user names, no other useless crap data that is not permanent. Now: If the ID numbers are the same that means that the server has the correct data from the hive and whatever the server returns will overwrite what the hive has. If the ID numbers are different and the hive has the character marked as alive. The hive should reject all updates from the server up until the value of the player's loot is greater than the value of the character stored on the hive. This will prevent an empty old character taking precedence over a new character which has found some loot and it will prevent an empty new character replacing a stocked old one. If the character on the hive is marked as dead the newly created character replaces it immediately. This is kind of checks you learn in basics of C++. Is the entire dev team lacking any kind of common sense?