A generic board game socket server
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



A server for pluggable board game implementations, implemented using gevent.

The server included here is designed to work with jbradberry/boardgame-socketplayer and the Monte Carlo Tree Search implementation jbradberry/mcts.


You need to have the following system packages installed:

  • Python >= 2.6

Getting Started

To set up your local environment you should create a virtualenv and install everything into it.

$ mkvirtualenv boardgames

Pip install this repo, either from a local copy,

$ pip install -e boardgame-socketserver

or from github,

$ pip install git+https://github.com/jbradberry/boardgame-socketserver

To run the server with (for example) Ultimate Tic Tac Toe

$ board-serve.py t3

Optionally, the server ip address and port number can be added

$ board-serve.py t3
$ board-serve.py t3 8000

To connect a client as a human player, using boardgame-socketplayer

$ board-play.py t3 human
$ board-play.py t3 human 8000   # with ip addr and port

To connect a client using one of the compatible Monte Carlo Tree Search AI players

$ board-play.py t3 jrb.mcts.uct    # number of wins metric
$ board-play.py t3 jrb.mcts.uctv   # point value of the board metric


Compatible games that have been implemented include: