Hi, I've seen many post speaking about people changing system time to cheat, And I think i've found a solution to this.
It can detect cheaters during events, and don't require the game to become online.
- calculate the total idle time for the event (doesn't requiee online)
2)calculate time spent active
3)sum those two times
When the player try to collect the rewards, he must be online.
Then, calculate the real time since the start of the event, and compare it.
You can easily detect if someone is cheating.