Server network code validation? How is it possible that a cheater changes a hook state instantly?
Network messages coming from the clients should only allow what the client is supposed to do.
There is no possible reason (other than bad design) a survivor should be able send a message to the server telling it to change the hook state of any survivor, among other things. (Or any other thing it's not supposed to do)
Somehow I expect something like:
The server receives ...
- A message from survivor A for time T (which should be very close to server time) telling survivor A at position (x,y) began to unhook survivor B at position (x',y') (checked). Starting an alarm event for the end of the hooking action at time T" computed taking into account the active perks.
Later the server receives either ...
- A message telling survivor A cancelled his action at time T' (discarding the aforementioned alarm event)
- A message telling the killer at position (x",y") (checked) has hit/grabbed the survivor A (checked) at time T' (discarding the alarm event)
- A message telling the survivor A has finished his action at time T" (corresponding to the alarm event and matching the current server time)
(The messages sent by the server to update all clients about the game state aren't particularly relevant to this)
I understand some message need to be resent but it shouldn't allow way out of sync messages (I'm trying to understand how it could happen)
What can possibly be sent by a client that allows corrupting the state of the match?
It's like if the server was simply a dispatcher of events between all players without much intelligence. Even if, every player game program should be able to validate the information too.
Comments