FOSS Catan clone
Find a file
2026-08-01 17:56:42 -04: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 fix: lengthen horizontal road 2026-02-11 23:39:27 -03:00
cmd feat: -no-emoji flag for some terminals 2026-02-11 23:39:27 -03:00
game implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
.gitignore implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
CLAUDE.md refactor Phase and SpectatorPhase interfaces 2026-02-25 22:49:25 -03:00
go.mod implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
go.sum implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
LICENSE add license (EUPL) 2025-07-01 23:08:40 -04:00
main.go implement ssh based multiplayer 2026-08-01 17:49:25 -04:00
README.md a lil more multiplayer on readme 2026-08-01 17:56:42 -04:00
screenshot.jpg update screenshot 2026-02-11 23:47:52 -03:00
serve.go implement ssh based multiplayer 2026-08-01 17:49:25 -04: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

It works now!

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@localhost -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