I'm trying to develop some security for my game, in case a host goes rogue on me (again). I'd like to make a sort of "virus" that I can activate at any time from any key where I will set a password. When the password is set, I'd like anyone that logs in or out of the game to be saved with that password. After the game reconizes 20 people infected, it shuts down the game whenever one of these people pass through the Login() or Logout().
Now, the way I see it, the only way they could stop the world shut down would be to delete the randomly selected player files, which would require a Player wipe to find.
But I want to give the Host the chance to put in the password when s/he logs in. So when they log in, they are not booted from the game, and therefore have the chance to remove the password. This would be given by me if things were resolved, etc.
But how do I find the host?
Also, are there any flaws in this theory that someone could kindly point out?
ID:157395
Mar 17 2010, 11:35 pm
|
|
In response to Spunky_Girl
|
|
Spunky_Girl wrote:
I'm sure others would share in my feelings that your theory is very stupid. I don't know if I'd say stupid. Very odd, yes. Very very odd, and it won't be as effective as expected, and there would be easier things you could do that would be more effective. To the OP: If you're going to do something that forces the host to delete savefiles if they want to keep hosting, why not just make a secret system that deletes all the savefiles instead? Same end result, less wierd stuff, easier to implement. Still, it would be too easy to defeat your "security" measure. I could just create a program to look at all the savefiles and remove the so-called safety measure. Or even easier yet, I could just keep backups of the savefiles and I could just restore the clean ones. I suggest you just don't give anything to people you don't trust, but if you insist on doing so anyway, a much easier "security" measure would be to create a password that is required when the game starts, one that either you have a way of changing somehow, or one that somehow changes every time in a predefined method that you know. Then you can just give out the next few passwords to the host, and whenever the host is running low from reboots, give the host some more, and just stop giving them when you want to restrict access. Then the only "secret ability I can use no matter who I'm logged in as or where I am" type thing you need would be the ability to reboot, as that would force a new password requirement. You could create some kind of pseudorandom number sequence or just a simple encryption, either method can be based off the time. Maybe world/New() outputs the current real time to world.log and you just need to know your number sequence or encryption algorithm to apply to the time to find the password. Even this seems silly to me though, but it's probably a better and more sound method than "viral savefiles." |
If you have issues with your hosts "going rogue", then all you really need to do to keep them from ever hosting your game without your consent(if that's a word), is to set a hub password and never tell your hoster. So if they do "go rogue", then you just need to change your hub's hub password.
And what you described was not in any form a "virus". I'm sure others would share in my feelings that your theory is very stupid.