Preventing the player from changing his System time?


I am keeping track of time in my game and I need a way to prevent the player from shutting down the game, changing the time on his computer, then booting the game back up. Is something like that possible?

Best regards,
Damir H.

I don’t think you can prevent the player from doing that. The most you can do is to detect wether the player has changed the time. You could do this by pulling the time from a server.

You can’t do that. If you are trying to protect a game with a trial system, just forget it. Never work, if someone want to crack it they will.

As order66 wrote, instead of using their machine time you could obtain the time from an NTP server.

Thanks folks. It’s not about a time limit really, it’s just me wanting to use the real time as my in-game time. It’s an offline game though and I don’t want to enforce an online connection. Guess I’ll have to live with the possibility of people skewing their system time.

You could use a system like in Animal Crossing.


You didn’t specify if this is in the context of a networked game but if this is a networked game, I wouldn’t suggest using the client’s system time for networked game logic anyway. Keep track of “master” time on the server and initialize a time-keeping system on the client from this during session initialization, and only have the system time used for displaying a localized time/date to the user (obviously other than where the engine uses client system time). Security rule of thumb is never trust or rely on anything from a client, ever. Again, not sure if this is in the context of a networked game, I’m just assuming.


It’s ok though, I just won’t sweat too much about it. Truth is, with the systems we have planned for the game the player will have a relatively easy way to jump around different day times anyhow, so there will be little incentive for this sort of “clever use of game mechanics”.

Thanks for all the info.

Now you understand pain of making DRM and security that does not **** user off :stuck_out_tongue: I don’t think theres really way to verify the time other then internet, motherboard clock is simply unrealiable, if it was there would be no need for NTP

I’m not sure if what I’m going to say is even possible, but maybe you could check the system time and compare it to the time on the internet (if it’s connected to the net) and tell the player that it can’t play unless his system time is properly set.