Simple Gemini Game Server (SGGS)

A system for playing turn-based multiplayer games.

Setup

Playing

The interface should be self-explanatory. Create a new game, or join a new one. Read the game help if necessary.

Further interface notes

Adding new games

I would be very happy to accept submissions of new games to be played on the system. This is meant to be easy. Games are implemented as commands which accept some arguments, write output to stdout, use appropriate exit codes, and store state in the current directory. There's no library to worry about, so you can easily use your favourite language. See the source code links from the help pages of the existing games for examples.

Detailed instructions on how your game command should behave

Fairly minimal example game

If you've written a game you'd like me to include, please first test it thoroughly (you don't need a running instance of SGGS for that, just run it from the command line in a test state directory), then send the source along with any build instructions to <mbays@sdf.org>, licensed under GPLv3. Please make the code readable -- I will only accept it if I am convinced that it will not open a security hole.

Privacy

Hosting your own instance

The full source for the server is available below, released under the GPLv3. Getting it working may take some fiddling, but hopefully it's possible. Note that although I decided against using the AGPL to make it a legal requirement, it would still be polite to release the source for any modifications you make for your instance.

source tarball

git bundle (use 'git clone sggs.bundle sggs' to clone from it)