ref: 715de9d3e1e26dbee3490ac3ad53f6b2069536da
dir: /README/
CHESSFS(4) CHESSFS(4) NAME chessfs - chess filesystem SYNOPSIS chessfs [-verbose] [-addr addr] [-srv srv] [-group gid] rc/play [-r] player directory DESCRIPTION Chessfs is a filesystem for playing chess games. It posts a server named after the argument, which by default is "chessfs". Specifying a listening address serves 9p over the announces address, instead of a server, or UNIX socket. The files' username is the one running the program, and the group can be set using the -group option. The filesystem contains three files - ctl, clone and games. Opening the clone file creates a new game, and the id can be read from the fid. The game can be found under the games directory, as a directory with the game id. Ctl is for reading and setting server options. It displays the maximum amount of games, and the current count of games. Setting roomsize changes the maximum number of games which can be played. In each game directory, there are the ctl, white, black and moves file. Ctl supports the following commands: time seconds Set the amount of time each player has. The default value is -1 indicating that the game is not timed. start Start the game. close Close the game, which may or may not have ended. The board files, white and black, show the current pieces' position, depending on the player. Writing to the file makes a move on behalf of the corresponding player. draw Offer a draw, or accept a draw if the other player offered one. resign Resign the game. move Make the following move, following the algebraic notation. For reading the game in the PGN notation, the moves files can be read. The package comes with two scripts. Play is an interactive script which prints the board and game status, and waits for your or your opponent's move. The -r flag transcribes the UTF-8 piece symbols into other symbols, in case the used font doesn't have them. EXAMPLES Run the filesystem: chessfs -srv chessfs -group chessclub mount /srv/chessfs /n/chess Create a new game, set parameters, and play: cd /n/chess cd games/`{cat clone} echo time 1800 >ctl echo start >ctl echo e4 >white sleep 1 echo resign >white SOURCE https://git.disroot.org/kitzman/chessfs https://shithub.us/kitzman/chess/HEAD/info.html BUGS AND TODO The board does not have the right coordinates for the right player. Encrypting connections should be an option. Currently players cannot change the owners of the files. That means anyone can take over the game.