PROTOCOL.md

changeset 192
e57e2874fb2a
parent 191
6da16865a270
--- 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
 

mercurial