your not going to protect it with an opebn source scripting enviroment, by socketing in and downloading the script, someone who wants to crack it well just do that and alter the script once they have dl it.

I dont really know what type of game it is, so cant really say what might help prevent cheating.

One method is that all players are infact the server, each other player is a client, ill try and explain it (this only works for some types of games also)

lets say there are 8 players and we setup a channel called #thegame to play in and maybe it even needs a second chanenl for passing fields etc lets call that #thegame.fields

So your all sitting in the #thegame chan and the game starts, well all 8 machines are running the same script, player 4 does something and that causes an effect, in #thegame.fields all the players scripts reply with some type of result code, now anyone that replies differently has a different script running.

you might say, but they could fake the replies, well yes they could, but the idea is it wont matter, becuase the other 7 games are playing by a set of rules defined on there machines not this 8th players machine, so lets assume player 8 should be stunned in the game well 7 machines well say stunned and his wont, well the games soon gonna go BAAAAAHHHHHH as soon as he keeps trying to play wheil the other machines go "hes stunned!"


Of course not knowing what type of game it is, that might not be possable, if a set of secret values need to be stored for each player then the above doesnt work, since you dont want those values exposed to each machine as that in itself can be used to cheat (the tanks game cheat is an example). Then a server machine must be selected and really i can only see that the person running that sever machine has to be trusted to not have hacked into the code.

Another way i have heard of is using a master server, when a game starts the master server is copntacted by the players, and it aligns and starts the game, it selects one of the players to act as the game server, and the game begins, it however also acts as the game server, and at any point during the game can be polled for game stats, now if its stats and the current game server stats dont line up, then the current player who was acting as the server has altered the script somehow.

The only problem alot of ideas like this have is there is no way of predicting if an all servers or master server system recieves the exact same set of messages in the same order as each other. if everyone is issuing ing commands in real time, one server might see P1 kills P3, P2 shoots dead P1 so p3 is dead, and p2 is dead BUT another machine saw it like this P2 shoots dead P1, P1 Kills P3, so it says P1 is dead, P3 is not since P1 was already dead

Its like the trivia script games when you sit there and wonder why BOB got the answer but YOU BILL and PETER all answered before him, the trivia bot didnt see it in that order (maybe due to linked irc severs)


PS: what type of game is it?