diff -r 6da16865a270 -r e57e2874fb2a PROTOCOL.md --- a/PROTOCOL.md Mon Aug 24 15:48:19 2026 +0200 +++ b/PROTOCOL.md Mon Aug 24 16:13:51 2026 +0200 @@ -6,7 +6,7 @@ This document describes the protocol in detail, including the message formats and the expected behavior of clients and the server. -The current protocol version is 24. +The current protocol version is 25. ## Message Format @@ -166,6 +166,8 @@ The game MAY be ended at any time by any (including the waiting) player by [resignation](#resign). +The game MAY also be ended after by agreeing on a [draw](#offer-a-draw). + #### Checkmate Whe the active player determines they were checkmated with the last move, @@ -215,25 +217,13 @@ ### Offer a Draw -_TODO: draw offers by the active player are bugged - see issue #980_ - -_TODO: the description is very confusing and should be cleaned up after fixing issue #980_ - Both the active and the waiting player MAY send a `REMIS` message any time to offer a draw. -When the waiting player receives such an offer, they MAY choose to answer it -with either an `ACCEPT` or a `DECLINE` message. +When both players have sent a `REMIS` message to the other player within the +same move, the draw is agreed upon and both players SHALL end the game. -When the offer was accepted, both players SHALL end the game. -Otherwise, they SHALL continue playing. -When an offer was declined, the requesting player SHOULD NOT send another offer -for the same position. - -When the active player receives such an offer, they MAY ignore it. -No confirmation is sent. -Instead, if the player chooses to accept the offer, they SHALL send a `REMIS` -message on their own. +Playing a move SHALL revoke any draw offers. ### Propose Resignation