FOSS Catan clone
  • Go 99.7%
  • Shell 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-05 11:16:30 -03:00
.builds implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
.vscode feat: debugging configuration 2025-07-27 18:11:49 -04:00
board distribute tile numbers like in the original game 2026-10-18 17:13:43 -03:00
cmd feat: -no-emoji flag for some terminals 2026-02-11 23:39:27 -03:00
deploy/gcp deploy to gcp and save notes 2026-11-05 11:16:30 -03:00
game preview boards in lobby 2026-11-05 11:16:30 -03:00
.gitignore implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
go.mod Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
go.sum Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
LICENSE add license (EUPL) 2025-07-01 23:08:40 -04:00
lobby.go Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
lobby_concurrency_test.go Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
lobby_test.go Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
lobby_views.go preview boards in lobby 2026-11-05 11:16:30 -03:00
main.go Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
README.md more detail about online in README 2026-11-05 11:16:30 -03:00
screenshot.jpg update screenshot 2026-02-11 23:47:52 -03:00
serve.go Add named multiplayer lobbies and session navigation 2026-11-05 11:16:30 -03:00
serve_test.go preview boards in lobby 2026-11-05 11:16:30 -03:00

El Poblador - Settlers of Catan TUI

builds.sr.ht status

A terminal-based implementation of Settlers of Catan in Go.

game screenshot

Installation

Download the latest release for your platform from release builds. Alternatively, you can run go install git.sr.ht/~vicho/el_poblador@latest.

Another option is cloning the repo and building from source. Or making an AUR package. Go wild.

Running the Project

The examples use go run main.go, but if you have a compiled binary use that instead.

Run the main game with 3-4 players:

go run main.go new <player1> <player2> <player3> [player4]  # player names

Load a saved game:

go run main.go load <savefile>

Controls:

  • Arrow keys: Move cursor
  • Enter: Confirm action
  • Esc: Cancel action (not always available)
  • 1-4: Switch to specific player's perspective
  • 0: Switch back to current turn holder's perspective
  • Ctrl+C: Quit game without saving

Online Multiplayer

There's a hosted version, so you only need to connect to see players.

$ ssh el-poblador.vichoreyes.cl -p 2222  # to see open lobbies

It's on GCP, as documented on the deployment guide.

Connections open a lobby browser. Use the arrow keys to select a lobby and Enter to join, or press n to create a named lobby. In a lobby, press Enter to signal you're ready and want the game to start (if the lobby has 3 players all ready, it won't wait for a 4th one).

Rejoining games already in progress is not supported yet.

Self host

Start a server with

$ go run . serve
2026/08/01 17:50:49 starting server at 127.0.0.1:2222

then players can connect with

$ ssh username@<host> -p 2222

Options for the server can be checked with

$ go run . serve -help

This feature is in its early stages and as such has a bunch of rough edges. Do send patches or bug reports.

License

EUPL v1.2