Ricochet Robots Game Protocol (RRGP) Version 0.1.2 2003-5-31 Keith Packard Carl Worth keithp@keithp.com carl@theworths.org Introduction RRGP is a network protocol for playing the Ricochet Robots game. It permits a single server to host multiple games with named participants. The protocol is designed so that people can play using only telnet, but it is expected that graphical interfaces will be able to drive the protocol as well. RRGP borrows ideas from other network protocols like SMTP using a synchronous command interface. Document Conventions All commands include a response (yeah, synchronous protocols are bad. tough) -> is one of: ERROR 1. Requests 1.1 Connection setup The RRGP server has no well defined port; agreement on which port to use must be done through some external mechanism. Once connected, the client must identify itself: HELO [] -> HELO If the client doesn't supply , the server will compute one and return it. Possible errors: INVALIDNAME 1.2. Global commands 1.2.1 Listing available users WHO -> WHO ... lists connected users and the number of games they've won. 1.2.2. Listing available games GAMES -> GAMES ... 1.2.3. Message MESSAGE -> MESSAGE 1.2.4. Help HELP { } Displays help. If is provided, displays more detailed help on a specific command, otherwise displays an overview of all commands. 1.2.5. Quit QUIT -> QUIT 1.2.6. Version VERSION -> VERSION Negotiates version number between client and server. The server will respond with a version no higher than the client version number, but it may be lower. Version numbers are integers. This document describes protocol version 1. 1.3. Game management commands 1.3.1. Listing players in a game PLAYERS -> PLAYERS ... Possible errors: NOGAME 1.3.2. Listing watchers of a game WATCHERS -> WATCERS ... Possible errors: NOGAME 1.3.3. Get game information GAMEINFO -> GAMEINFO