Product Docs Pricing Devlog About
Sign In Get Started
Server Authority for Indie Multiplayer: The Case for It
Back to Devlog

Server Authority for Indie Multiplayer: The Case for It

Kenji Watanabe

Without server authority, a modified client can falsify its position, health, or score and corrupt the game state. Server authority means the server reports and controls meaningful state. Peer-to-peer play gives that trust to clients instead, creating security problems as soon as a player exploits the arrangement.

For an indie studio, server authority costs real infrastructure. A dedicated server that processes and checks all game state needs more compute than a relay-only setup and makes development more involved. Peer-to-peer is not always wrong, but choosing it means accepting specific trust and security tradeoffs.

What Client-Owned State Really Means

When clients can submit their position, health, score, or another outcome-affecting value, that value sits across a trust boundary. The server can accept, check, or discard it. Lightweight multiplayer often accepts it because checking requires enough server state to compare the report, and implementing that correctly is expensive.

If the server accepts a client-owned position, anyone who edits the packet reporting it can put their character anywhere in the world. If it accepts client-owned health, a player who blocks incoming damage packets can appear immortal. These are practical first attempts for anyone with basic network tools who wants to cheat.

Peer-to-peer play has no dedicated server; clients synchronize state directly, making it the most permissive version. Each player trusts all the others. A player who alters traffic controls their own state and may affect everyone else. Host migration adds another attack surface: the client promoted to host controls the rules.

Where Indie Studios Get Trapped

Time is the straightforward reason many indie multiplayer games ship with weaker server authority. Full authority means replicating enough game logic on the server to check client actions, including physics, collisions, and game rules alongside session management. That requires far more code than a server that only routes packets.

The usual shortcut runs the complete simulation on each client while the server accepts reported results. It builds faster, but exchanges integrity for speed. It works while every client belongs to the trusted studio team, then fails once a player willing to modify the client gets access.

A frequent middle ground splits authority: the server checks movement and position, while clients report combat results with basic sanity checks. This improves on full client ownership but leaves uncertainty at the boundary. Exploits move into cross-system actions, validation edge cases, and lag-spike timing windows where checks use stale server state.

A Practical Server-Authoritative Design

Server authority does not mean running the whole game engine on the server. It means checking the outcomes that matter to competitive integrity. In most games, that means:

  • Position and movement: the server checks that reported positions are reachable given previous state, velocity caps, and collision geometry.
  • Damage and health: damage is calculated server-side from weapon parameters and confirmed hit geometry, not accepted from client reports.
  • Score and progression: any change to score, currency, or persistent progression is server-issued, not client-reported.
  • Session events: kills, deaths, objectives, end conditions are all triggered by server logic, not client notification.

Client prediction still fits this design. The client simulates locally for responsiveness and sends inputs to the server. The server runs the authoritative simulation and corrects the client when prediction differs. Most competitive multiplayer games use this model, which also underpins Tashi's netcode layer.

Why Small Studios Feel It More

Large studios can add behavioral analysis, client scanning, and detection systems to a permissive architecture through dedicated anti-cheat teams. They can handle ban appeals, manage community fallout from a major cheating incident, and absorb some cheating as an acceptable friction cost.

A small studio with a close player community and a game built on competitive integrity has none of that room. One organized cheating incident left unresolved for a week while you ship content can permanently change how players view the game. Competitive players leave, spread the story, and push the player count into a difficult-to-reverse decline.

Getting authority right at launch is not about elegant architecture. It makes cheating manageable for a team without three engineers assigned to it. Tashi's server-side validation layer manages that logic instead of making you build it from scratch. The rule remains the same with any tool: trust the server, not the clients.

Tashi enforces server-authoritative validation out of the box. Read the product docs architecture overview. Free tier: 50 concurrent players.