Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Answers

Security

1. Fishnet has Client-Side Prediction features, it doesn't fully prevent cheats but it reduces the opportunity to do so

Client-Side Prediction (CSP) allows the client to move in real-time while also ensuring they cannot cheat. It works by having the client locally react to user input before the server acknowledge the input and update the game state. CSP also reduces latency problems, in which case also reduces the visual feedback time. For example, if a client tries to speedhack, server rejects the client's new position and instead moves as inputted originally. If it's the client's speed, max movement speed can be implemented.

=> Player movements and actions will be in sync visually, whether it's client or host.

2. The developer needs to make the server authoritative for all critical state, such as health and attack

By making the server authoritative, which means that server is the one that holds any power to write and change any inputs or updates. Clients would need to send requests to make those updates, and if the server deems those changes illogical or impossible, the server can reject those.

=> Changes to clients will be updated accordingly by the server.

3. Cheats that doesn't rely on modifying client-side game state or outside the client process

Both Fishnet and developers won't be able to prevent all the cheats that exist, but can prevent most of them. Cheats such as DDoS-ing or ones that use hardwares would need other kinds of modes to prevent those, like using BattlEye and Cloudflare.

=> Highly unlikely but can prevent DDoS attacks and other cheats that is outside of the game state.

Latency

1. Movement Synchronization

  • On client #1 (low latency), movement feels instant.
  • On client #2 (high latency), movement appears delayed and slightly jerky due to network lag.

2. Hit Detection

  • On client #1 (low latency), hits are registered accurately.
  • On client #2 (high latency), shots may appear to miss because the client sees outdated positions of other players.

3. Item Pickup

  • On client #1 (low latency), items are picked up and disappear immediately.
  • On client #2 (high latency), there is a short delay before the item disappears.

4. Server-Client Disagreement

  • The server is authoritative: its version of events overrides the clients.
  • If a client believes they are behind cover, but the server sees them exposed, the server enforces the damage calculation, and the player still takes damage.