Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
added 81 characters in body; edited title
Source Link
tim
  • 53
  • 5

Client-Side Prediction with Authoritative Server Online Multiplayer - cheating w/ delta time movement

I'm making a multiplayer game with basic linear movement and interpolation. I've read gabriel's article about client-side prediction and server reconciliation and have tried applying it to my own. My server is supposed to be authoritative, but I am worried about clients exploitingcan still exploit the system.

The system works like this:

  1. the client sends timestamped input to the server at 60hz
  2. the server runs at 30hz. Each tick it applies all the input since last tick and uses a time delta calculated from the client side input packets to determine movement (e.g. entity.x += message.delta * speed). The server then sends a timestamped state back to all clients.
  3. the client receives a timed state from the server and applies the "authoritative" positions.

My concern is with step #2. Because player movement relies on the client's delta time, I'm afraid they can cheat by sending a "fake delta time" to the server and additionaly spam input messages quicker to make them move faster in-game. If I remove the delta time altogether, the game will appear "jumpy". How can I resolve this issue?

Client-Side Prediction with Authoritative Server - delta time movement

I'm making a multiplayer game with basic linear movement and interpolation. I've read gabriel's article about client-side prediction and have tried applying it to my own, but I am worried about clients exploiting.

The system works like this:

  1. the client sends timestamped input to the server at 60hz
  2. the server runs at 30hz. Each tick it applies all the input since last tick and uses a time delta calculated from the client side input packets to determine movement (e.g. entity.x += message.delta * speed). The server then sends a timestamped state back to all clients.
  3. the client receives a timed state from the server and applies the "authoritative" positions.

My concern is with step #2. Because player movement relies on the client's delta time, I'm afraid they can cheat by sending a "fake delta time" to the server and additionaly spam input messages quicker to make them move faster in-game. If I remove the delta time altogether, the game will appear "jumpy". How can I resolve this issue?

Online Multiplayer - cheating w/ delta time movement

I'm making a multiplayer game with basic linear movement and interpolation. I've read gabriel's article about client-side prediction and server reconciliation and have tried applying it to my own. My server is supposed to be authoritative, but I am worried clients can still exploit the system.

The system works like this:

  1. the client sends timestamped input to the server at 60hz
  2. the server runs at 30hz. Each tick it applies all the input since last tick and uses a time delta calculated from the client side input packets to determine movement (e.g. entity.x += message.delta * speed). The server then sends a timestamped state back to all clients.
  3. the client receives a timed state from the server and applies the "authoritative" positions.

My concern is with step #2. Because player movement relies on the client's delta time, I'm afraid they can cheat by sending a "fake delta time" to the server and additionaly spam input messages quicker to make them move faster in-game. If I remove the delta time altogether, the game will appear "jumpy". How can I resolve this issue?

edited tags
Link
tim
  • 53
  • 5
Source Link
tim
  • 53
  • 5

Client-Side Prediction with Authoritative Server - delta time movement

I'm making a multiplayer game with basic linear movement and interpolation. I've read gabriel's article about client-side prediction and have tried applying it to my own, but I am worried about clients exploiting.

The system works like this:

  1. the client sends timestamped input to the server at 60hz
  2. the server runs at 30hz. Each tick it applies all the input since last tick and uses a time delta calculated from the client side input packets to determine movement (e.g. entity.x += message.delta * speed). The server then sends a timestamped state back to all clients.
  3. the client receives a timed state from the server and applies the "authoritative" positions.

My concern is with step #2. Because player movement relies on the client's delta time, I'm afraid they can cheat by sending a "fake delta time" to the server and additionaly spam input messages quicker to make them move faster in-game. If I remove the delta time altogether, the game will appear "jumpy". How can I resolve this issue?