To be completely secure, the server should run the battle alongside the client, receiving only the inputs from the player, rather than any data, as in an online battle. This, however, will require some reasonably large infrastructural changes to make Battle able to be used for multiple battles at once, and for one-sided mirroring (which is going to be slightly different from online battles). The functionality for this is probably closely tied to that needed for battle replays (#75).
I'm going to mark this as complete, because although it's a little rough around the edges, for the most part it works, and for the small edge cases where it doesn't, we have separate issues.
To be completely secure, the server should run the battle alongside the client, receiving only the inputs from the player, rather than any data, as in an online battle. This, however, will require some reasonably large infrastructural changes to make
Battle
able to be used for multiple battles at once, and for one-sided mirroring (which is going to be slightly different from online battles). The functionality for this is probably closely tied to that needed for battle replays (#75).