Introduce Snake protocol v2 with improvements and simplifications
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.