Collection of just-good-enough browser-based multiplayer games
Find a file
2024-11-17 23:09:45 +01:00
logo Add logo, readme 2022-10-13 04:41:31 +02:00
static Finish go 2022-10-02 07:13:46 +02:00
templates feat: improve mastermin usability 2024-11-17 23:09:45 +01:00
webgames feat: improve mastermin usability 2024-11-17 23:09:45 +01:00
.gitignore Initial commit 2021-10-31 14:44:14 +01:00
LICENSE Add license 2022-10-13 04:06:29 +02:00
README.md Add logo, readme 2022-10-13 04:41:31 +02:00
requirements.txt fix: typo in requirements.yml 2023-12-03 10:34:18 +01:00
setup.py Add Go 2022-09-30 22:25:07 +02:00

3 «Set» cards

Webgames

Collection of just-good-enough browser-based multiplayer games written during COVID lockdown to play our favorite games remotely.

  • No authentication
  • No best practices
  • No sophisticated web framework
  • Just a bunch of multiplayer games quickly hacked together.

Quickstart

python3 -m virtualenv venv
. venv/bin/acticate
pip install -e .
python -m webgames 0.0.0.0 8080

Games

  • Sudoku: Whoever finishes the sudoku first, wins
  • Set
  • Carcassonne including some of its extensions
  • Go: Play against another player or against the GNU Go engine. Requires GNU Go to run in GTP mode as an inetd-style service (see below)

GNU Go Systemd Socket

The following example config configures a socket-actived systemd unit which runs GNU Go in GTP mode, listening on /run/gnugo.sock.

/etc/systemd/system/gnugo@.service:

[Unit]
Description=GNU Go GTP Daemon

[Service]
StandardInput=socket
ExecStart=/usr/games/gnugo --mode gtp
DynamicUser=yes
PrivateTmp=yes
NoNewPrivileges=yes
ProtectSystem=full
ProtectHome=yes

/etc/systemd/system/gnugo.socket:

[Unit]
Description=GNU Go GTP Socket

[Socket]
ListenStream=/run/gnugo.sock
Accept=true

[Install]
WantedBy=sockets.target

License

Licensed under the MIT License. See LICENSE