Clone
clone: git://shithub.us/kitzman/chessfs gits://shithub.us/kitzman/chessfs
push: hjgit://shithub.us/kitzman/chessfs
patches to: kitzman@disroot.org
Last commit
e82dcee1
– k <k@midgaard>
authored
on 2023/11/07 13:04
updated readme
About
# Synopsis
This is a 9P filesystem aimed at playing chess. It's written in Go,
leveraging the `styx` library, so you should be able to compile it
on Linux, Plan9, etc, and play it in the terminal.
Usage:
```
chessfs -a tcp!*!5650 &
srv tcp!cobra!5650 chess /n/chess
```
# Files
## Status
The `status` file presents the following things:
- elapsed time for white
- elapsed time for black
- maximum player time (measured in seconds; -1 means no limit)
- current turn
## Board
The `board` file shows a view of the current board using UTF-8. The
view is from white player's perspective.
## Control file
The following control commands are available:
- new
- move <move>
- load <PGN line>
The moves are coded in a notation similar to the Standard Algebraic Notation.
## History
A PGN-format line representing the game history. You can `cat` it to a file
and replay the game later by using the `load` command.
## Notify
Reading from this file finishes when the player turn changes.
# Mirrors
https://git.disroot.org/kitzman/chessfs
http://shithub.us/kitzman/chessfs/HEAD/info.html
# TODOs
Features:
- mounting on Inferno does not work
- more descriptive error messages
- script or create file for black player's perspective
- implement the following moves: castling, promotion, en passant
- win/lose mechanism & score file
- game history file (PGN format)
- write a script to import a PGN puzzle
- Limbo frontend! Emacs frontend!