Skip to content

[Game Server] Add state machine validation to prevent invalid map status transitions #396

@Flegma

Description

@Flegma

Summary

UpdateMapStatus in MatchManager prevents duplicate transitions but does not validate that transitions are valid.

Findings

  • MatchManager.cs — can transition from Warmup to Finished (skipping Live), Paused to Knife, etc. No allowed-transition map.

Impact

Match state corruption. Matches could end without being played or enter impossible states.

Suggested Fix

Define allowed transitions dictionary. Reject invalid transitions with warning log.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0-criticalSecurity & data loss riskaudit-2026-03From March 2026 codebase auditlogic-errorLogic or state machine bugservice:game-server5stackgg/game-server service

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions