Freeciv21 is a free open source turn-based empire-building 4x strategy game, in which each player becomes the leader of a civilization. You compete against several opponents to build cities and use them to support a military and an economy. Players strive to complete an empire that survives all encounters with its neighbors to emerge victorious. Play begins at the dawn of history in 4,000 BCE.
Freeciv21 takes its roots in the well-known FOSS game Freeciv and extends it for more fun, with a revived focus on competitive multiplayer environments. Players can choose from over 500 nations and can play against the computer or other people in an active online community.
The code is maintained by the team over at Longturn.net and is based on the QT framework. The game supports both hex and square tiles and is easily modified to create custom rules.
Get started by reviewing our about page. We welcome pull requests, bug reports and simple suggestions! Get in touch on Discord. The #General channel is a great place to start.
The documentation is found on our documentation website.
We provide Windows and macOS installers in the Assets section of every release. Make sure to download the .exe or .dmg file depending on platform. After downloading, run the installer. The Windows install is documented here.
Linux users running on Debian (or one of the many variants such as Ubuntu) can download a package from the Assets section of every release (make sure to download the .deb file). After downloading, run the installer:
sudo apt install ./freeciv21_*_amd64.deb
Other Linux users will need to compile the code. Ubuntu 22.04 or higher is supported. See this link for the detailed procedure and a list of supported distributions. See below for a quick set of instructions for Debian based distributions.
You may need to adjust this command for your package manager. You need CMake 3.16 or higher, Qt (base and SVG) 5.15 or higher, and Lua 5.3 or 5.4. You need to do this only once.
sudo apt install git cmake ninja-build g++ python3 gettext qtbase5-dev \
libqt5svg5-dev libkf5archive-dev liblua5.3-dev libsqlite3-dev libsdl2-mixer-dev
Use this command the first time you download Freeciv21:
git clone https://github.com/longturn/freeciv21.git
cd freeciv21
Afterwards, you can refresh the code with:
cd freeciv21
git pull --ff-only
Freeciv21 uses a standard CMake workflow. We recommend building with Ninja:
cmake . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/freeciv21
cmake --build build
This will install the files in the directory $HOME/freeciv21
specified above:
cmake --build build --target install
Alternatively, Freeciv21 can be used with Nix. For this, enable Nix flakes and run
nix run github:longturn/freeciv21#;
Freeciv21 is available in the FreeBSD ports tree. You can install the binary package using this command:
pkg install freeciv21
Although it is recommended to use the binary package, you can also build Freeciv21 using the ports tree:
make -C /usr/ports/games/freeciv21 install clean