Skip to main content

Multiplayer CLI survival strategy game

Project description

Terminus

Multiplayer CLI survival strategy game. Manage your settlement, allocate workers, build structures, and survive catastrophes — all in your terminal.

Python 3.11+ License: MIT

Install

From PyPI (recommended)

pip install terminus-game

From GitHub

pip install git+https://github.com/kushal-DL/terminus.git

From source (development)

git clone https://github.com/kushal-DL/terminus.git
cd terminus
pip install -e ".[dev]"

Pre-built executable

Download the latest release for your platform from GitHub Releases — no Python installation required.

Prerequisites

  • Python 3.11 or newer (for pip install methods)
  • Terminal with Unicode support (Windows Terminal, iTerm2, most Linux terminals)
  • cloudflared (optional — only needed for --public mode to share games over the internet)

Run

terminus                # Launch the game (starts server + TUI client)
terminus --public       # Launch with public URL via cloudflared tunnel
terminus --server-only  # Run headless server (for dedicated hosting)
terminus --port 9090    # Use a custom port (default: 8080)
terminus --verbose      # Enable debug logging

Quick Start

  1. Run terminus — select "Create Game"
  2. Choose your colony location and specialization
  3. Share the displayed URL with other players (or use --public for internet access)
  4. Other players run terminus"Join Game" → paste the URL
  5. Host starts the game once all players are ready
  6. Survive 5 catastrophes over ~45 minutes. Highest score wins!

Gameplay

  • Allocate workers across farming, mining, research, construction, defense, and medicine
  • Build structures (farms, walls, hospitals, labs, warehouses, housing) up to level 3
  • Trade resources at the market — prices fluctuate each tick
  • Prepare for catastrophes — the watchtower gives early warnings
  • Manage morale — starvation and damage reduce it; good management boosts production

Dev Console (Admin Tools)

For debugging and testing, Terminus includes a dev console TUI:

# Start the game server first
terminus --server-only

# In another terminal, launch the dev console
TERMINUS_DEV_MODE=1 python -m terminus.dev --server http://127.0.0.1:8080

The dev console provides: real-time state inspection, resource overrides, catastrophe controls, and instant building completion.

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run balance simulator
python -m tools.balance.simulator --preset standard --games 10

# Run load test
python tools/load_test.py --players 20 --duration 60

License

MIT — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

terminus_game-0.1.0.tar.gz (214.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

terminus_game-0.1.0-py3-none-any.whl (103.2 kB view details)

Uploaded Python 3

File details

Details for the file terminus_game-0.1.0.tar.gz.

File metadata

  • Download URL: terminus_game-0.1.0.tar.gz
  • Upload date:
  • Size: 214.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for terminus_game-0.1.0.tar.gz
Algorithm Hash digest
SHA256 66f3e66b6e7744559467c5fe15e4f1845d27eaab1a83bf8dca65182e938cc33f
MD5 e4bd048fbe2711c1bea6b15a4cf6f8fd
BLAKE2b-256 e8b64cc56ada31d758337354bc5dfb5c0f60581743592a39c23f6728d5d1309d

See more details on using hashes here.

File details

Details for the file terminus_game-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: terminus_game-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 103.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for terminus_game-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9ada5f4bd1db9925250d682ae16191372a86c0dbcebd474a1fe15cc077737fe
MD5 6ef0b557daa0e00b0cdd809dd3124763
BLAKE2b-256 b168a3a64eb869c520edbb5f755ae2c9bedd96357deecfb99d3363ee5ae1d578

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page