Is it possible to decentralize some of the calculations? In essence, use players clients as botnets. For example, an invasion with 100 players and 400 mobs. If each player simulates 4 mobs then that would take a huge burden from the server and reduce server bandwidth.
A possible check against hackers would be to let 2 or 3 other players calculate the outcome for the same mob and if one of them gives a different response then he is found out.
Another check would be to spawn a ghost mod from time to time. A mob that is indistinguishable from other mobs but is invisible to the player. Both the client and the server will simultaneously calculate the response and if they aren't the same then the client has been fiddling with AI code.
With lag and stuff you'll likely have false negatives. An 80% success threshold would probably be good. When multiple people simulate the same mob then the fastest to calculate a response and send it to the server for synchronization will prevail. The other responses serve as a check.
Thoughts?
A possible check against hackers would be to let 2 or 3 other players calculate the outcome for the same mob and if one of them gives a different response then he is found out.
Another check would be to spawn a ghost mod from time to time. A mob that is indistinguishable from other mobs but is invisible to the player. Both the client and the server will simultaneously calculate the response and if they aren't the same then the client has been fiddling with AI code.
With lag and stuff you'll likely have false negatives. An 80% success threshold would probably be good. When multiple people simulate the same mob then the fastest to calculate a response and send it to the server for synchronization will prevail. The other responses serve as a check.
Thoughts?