Recently, there has been word caught of users crashing my servers with corrupt save files. My game features a "login screen," if you will, that checks for a user's save and HUB records. The way I have it now is rather tacky and could definately be better, so I won't bother posting the code snipplet; it's a simple save loader.
The problem is I cannot locate the users that are crashing the servers. I've "globally banned" these users from my game via their ips, keys, and CIDs, yet their friends still flaunt around how these users are still succeeding to crash my servers on completely different computers; I cannot snag their alternative IDs.
So, the question is if anyone would know a way to make it so a save loader simply ignores this save if it's corrupt/missing, dodging the crash all together.
This is my only other way of preventing these catastrophes. There are about 5-10 dedicated users performing these crashes and I simply cannot maintain a stable game without the capability to keep a server up.
Please help. Thanks, guys.
ID:157733
Jan 10 2010, 7:33 pm
|
|
Jan 10 2010, 8:55 pm
|
|
Look up Lock() in the help.
|
It depends on how they're doing it. Your best choice is to output the savefile before loading it, and then when a crash occurs you can check to see what's in it. Like so:
client That'll give you a savefiles.txt that you can take a look at next time it crashes. The invalid savefile should be at the bottom on the list. If you want help keeping it from crashing your game, you'll have to copy-paste it here. |
In response to Garthor
|
|
So there's no way a save file loader could just ignore the save if it isn't valid/existent?
I really don't think I have the experience under my belt to decode the save and find what's wrong. :( |
In response to MortalMorz
|
|
You can encrypt a savefile to protect it from being tampered with, but there's no straightforward way that I know of to tell if it's "invalid" and will crash the game if read. However, I would like to see what exactly is causing the crash, because I may be able to provide a solution that wouldn't require you to nix everybody's savefile.
|