Freeciv
Free turn-based strategy game with a dedicated multiplayer server
The Freeciv server is the multiplayer host component of Freeciv, a free turn-based empire-building strategy game inspired by Civilization. It supports hosting persistent multiplayer games for many players.
Key features
- Turn-based strategy hosting
- Many players per game
- Configurable rulesets
- Long-running games
Pros & cons
Strengths
- Mature and stable
- Cross-platform
Trade-offs
- Dated interface
- Niche genre
Freeciv replaces
Last reviewed Sep 13, 2026 · 853 words
The Freeciv server is not a separate project. The repository at github.com/freeciv/freeciv is the whole game, and freeciv-server is one of the binaries it produces, alongside the GTK client and a ruleset editor. What you host is that single server process, and the reason to host it rather than click "start server" inside the client is persistence: a game that survives your laptop closing, accepts players in different time zones, and runs for weeks. On 256 MB of RAM it will hold a full 8-player map without noticing.
One repo, three binaries
Packaged builds of Freeciv ship freeciv-server, a client (freeciv-gtk3 or the Qt one), and freeciv-ruledit. Every Linux distribution I have used carries the server in its main repositories, so apt install freeciv-server on Debian or Ubuntu is a legitimate deployment and the one I would pick for a long-lived game. Building from source is only worth it if your distro's package lags a major version behind the clients your players use, because client and server must agree on the network protocol. A 3.1 client will not join a 3.0 server. Check freeciv-server --version against what your players download from freeciv.org before anything else.
If you prefer containers, there is no official image, so community images vary in quality. The sibling project Freeciv-web is the one with a real Docker story, and it embeds this same server behind a browser client, which is worth knowing if your players refuse to install anything.
Port 5556 and a startup script
The server listens on TCP 5556 by default. A minimal persistent run looks like this:
freeciv-server --port 5556 --read /srv/freeciv/settings.serv \
--saves /srv/freeciv/saves --log /srv/freeciv/server.log
The settings.serv file is just server console commands, one per line, which is the part newcomers miss. A sensible one:
set aifill 6
set timeout 0
set autosaves TURN
set saveturns 1
rulesetdir civ2civ3
timeout 0 means turns end when all humans press End Turn, which is right for a game among friends. Setting autosaves and saveturns 1 writes a save every turn, so a crash costs nothing. Wrap the command in a systemd unit with Restart=on-failure and a WorkingDirectory, and point clients at your hostname on 5556. Do not put a reverse proxy in front; the protocol is not HTTP. If you want access control, the built-in /set connectmsg and password-per-player options are thin, so keep the port behind a VPN such as Tailscale unless you deliberately want strangers.
The ruleset matters more than any other setting
Freeciv ships several rulesets and they play like different games. classic is the Civilization II feel most people remember. civ2civ3 is the balanced one active communities favour, with terrain and government tweaks that stop the early rush from deciding everything. multiplayer tunes for humans against humans. Choose before turn 1, because a ruleset cannot change mid-game, and a mismatch between the server's ruleset and what a player expects is the most common source of "this is broken" complaints I have fielded. Rulesets are plain text files under /usr/share/freeciv/, and the ruleset editor exists specifically so you can fork one without hand-editing.
Long-turn play is why you bother hosting
A live Freeciv session among 4 to 6 people takes an evening and rarely finishes. The format that actually works for a persistent server is what the Longturn community has run for years: one turn per day, everyone plays at their convenience, a game lasts 2 to 4 months. Set timeout 86400 for a 24-hour turn and the server advances on its own. This is the mode where a dedicated host earns its keep, and it is why "many players per game" is listed as a highlight rather than a marketing line; Longturn games routinely run 20 or more human empires.
The dated interface is real and I will not pretend otherwise. The GTK client looks like 2004 because it largely is. Players who bounce off it can use Freeciv-web against the same server.
Backups and the process that dies
Saves are gzipped text under your --saves directory and are the entire state. Copy that directory nightly with whatever already backs up the box. Restoring is freeciv-server --file saves/freeciv-T0142.sav.gz and players reconnect to the same names. The server process itself is stable across weeks in my experience, but it does not daemonise and will exit with the terminal if you run it by hand, hence the unit file.
What I'd do
Install the distro package, write a settings.serv with civ2civ3 and per-turn autosaves, run it under systemd on 5556 behind a VPN, and commit to a 24-hour timeout game with people you know. Ignore Docker unless you also want Freeciv-web for browser players. For anything other than this specific async multiplayer use, just start a server from inside the client and skip the hosting entirely.
Compare Freeciv
1 head-to-head comparisons.
Similar game servers apps
Mindustry
Game ServersTower-defense and factory game with servers
Replaces Factorio
Lichess
Game ServersOpen-source chess server and platform
Replaces Chess.com
OpenRCT2
Game ServersOpen-source remake of RollerCoaster Tycoon 2
Replaces RollerCoaster Tycoon
papermc-docker
Game ServersContainerized Minecraft Java server image
Replaces Minecraft Realms
ArchiSteamFarm
Game ServersTool for farming Steam cards from multiple accounts
Replaces Idle Master
2048
Game ServersSelf-hostable browser version of the 2048 sliding puzzle
Replaces Mobile puzzle games