Pre-Game
Registration Open
Game has not started yet

We're assembling players for a new Longturn game. Sign up now to reserve your spot and choose your nation. The game will begin once registration closes.

Request to Join
Each player picks a unique nation — browse all 580+ nations

Connect

freeciv.andrewmcgrath.info
Port 5556
Freeciv 3.2.3 Required

Mac Install

  1. Install Homebrew if needed
  2. Run brew install freeciv
  3. Launch with freeciv-gtk4

Verify: freeciv-gtk4 --version must show 3.2.3

Windows Install

  1. Download installer (~50MB)
  2. Run installer (defaults are fine)
  3. Launch Freeciv GTK4 Client from Start Menu

Connecting

Open Freeciv → Connect to Network Game → Server: freeciv.andrewmcgrath.info → Port: 5556 → Enter your username and password. You'll be automatically assigned to your nation.

Game Rules

Longturn Format

This is a Longturn game — like chess by mail but with armies, cities, and diplomacy. Log in once a day, make your moves, click Turn Done. No marathon sessions needed.

Turn Timer

  • 23-hour deadline per turn
  • Click Turn Done when finished
  • All players done? Next turn starts instantly
  • Otherwise auto-advances after 23 hours

Disconnecting

If you disconnect mid-turn, AI will not take over. Your units hold position. Your empire waits for your return. No penalties for going offline.

Notifications

You'll receive an email at the start of each new turn with the current rankings, game stats, and a countdown to the next deadline.

Ruleset: civ2civ3

This game uses the civ2civ3 ruleset — a balanced evolution of Civ2 rules adapted for multiplayer. Key features: tech trading, caravans, wonders, unit upgrades via Leonardo's Workshop, espionage, and nuclear weapons. Full tech tree with 87 advances. All nations available.

Technical Info

Server Configuration

VersionFreeciv 3.2.3
Rulesetciv2civ3
Hostfreeciv.andrewmcgrath.info:5556
ProtocolTCP (raw)
AuthSQLite + MD5
Map SizeFULLSIZE (4)

Turn Settings

Timeout82800s (23h)
Unit Wait Time36000s (10h)
Fixed LengthDisabled
Auto ToggleDisabled
First Timeout-1 (same as normal)
Min Players0 (auto-start)

Infrastructure

HostingFly.io (yyz)
CPUShared 1x
Memory256 MB
StoragePersistent volume
OSDebian Bookworm
Web Serverbusybox httpd

Automation

Auto-saveEvery turn + game over
Auto-takeOn connect (via FIFO)
Turn EmailsSES SMTP on turn change
Status PageRegen every 15min + on turn
Save Format.sav.gz (gzip)
DB BackendSQLite (fcdb)

How It Works

The server runs inside a Docker container on Fly.io. A startup script (start.sh) manages four background processes:

  1. FIFO Writer — Sends commands to the Freeciv server's stdin via a named pipe. Handles aitoggle on startup (switches pre-created AI players to human control) and take commands when authenticated users connect (auto-assigns them to their nation).
  2. Turn Watcher — Monitors the server log for new save events. When a turn change is detected, triggers email notifications to all registered players and refreshes this status page.
  3. Status Page Generator — Parses all save files (.sav.gz) to extract game history, player stats, and rankings. Outputs a static HTML file with embedded Chart.js graphs. Refreshes every 15 minutes or immediately on turn change (via SIGUSR1).
  4. HTTP Serverbusybox httpd serves this status page on port 8080. Fly.io routes HTTP/HTTPS traffic here, while the game client connects directly on port 5556 (raw TCP).

Player authentication uses Freeciv's built-in fcdb system with a SQLite database. Players are pre-created in the .serv config file with assigned nations. The database.lua script handles login verification and connection logging. The allowtake setting (HAhadOo) permits authenticated humans to take control of their assigned player.

Join & Help

Want to Play?

New players are welcome! Fill out the form and we'll set up your account.

Request to Join

Each player picks a unique nation — browse all 580+ nations

Need Help?

Having trouble connecting, installing, or need your password reset?

andrewjohnmcgrath@gmail.com