Skip to content

longturn/freeciv21

Repository files navigation

Freeciv21 - Develop Your Civilization from Humble Roots to a Global Empire

License: GPL v3+ Build CodeFactor Codacy Badge Coverity quality badge

Screenshot


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 and get in touch on Discord. The #General channel is a great place to start. The documentation is found on our documentation website.

We welcome pull requests, bug reports and simple suggestions! Check out our contributing docs or talk to us on Discord.

Installation

Snap, Flathub and AUR Editions

Get Freeciv21 on Snapcraft Get Freeciv21 on Flathub AUR version

Windows and macOS

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

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.

Install dependencies

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

Get the code

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

Compile

Freeciv21 uses a standard CMake workflow. We recommend building with Ninja:

cmake . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/freeciv21
cmake --build build

(Optional) Install

This will install the files in the directory $HOME/freeciv21 specified above:

cmake --build build --target install

Using Nix

Alternatively, Freeciv21 can be used with Nix. For this, enable Nix flakes and run

nix run github:longturn/freeciv21#;

FreeBSD

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