Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
0 04_snakes_task
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Сети
  • Осенний семестр
  • 04_snakes_task
  • Merge requests
  • !2

Merged
Created Oct 09, 2026 by Vadim Ippolitov@vadippOwner

Introduce Snake protocol v2 with improvements and simplifications

  • Overview 4
  • Commits 16
  • Pipelines 14
  • Changes 9

Introduce Snake protocol v2 with independent network roles and player statuses. A MASTER or DEPUTY can continue serving the game after their snake dies.

  • Separate PLAYING/VIEWING from MASTER/DEPUTY/NORMAL; support watching, respawning, and leaving.
  • Specify ACK handling, bounded deduplication, command ordering, and MASTER failover.
  • Use fixed networking timers: 100 ms retries/idle Ping and a 1-second failure timeout.
  • Make StateMsg authoritative for player status; remove ZOMBIE snakes and food generation from dead snakes.
  • Restrict transport to IPv4 and datagrams to 1,200 bytes. Allow six participants, four snakes of up to 32 cells, and boards up to 100×100.

This version is incompatible with v1 and thus uses multicast discovery on a new port: 9193.

Edited Oct 16, 2026 by Vadim Ippolitov
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: protocol-v2