Freeciv-Web Client[]

The Freeciv-Web client is a version of Freeciv which can be played online in a web browser.

Some public servers that exist or previously existed (see also Github README):

  •, 2018-
    • Includes updated rulesets which use the new 3.x server features
    • Sizeable multiplayer community
    • Longturn (one turn per day) massive multiplayer games
    • Singleplayer games
  • 2019(?)-
    • Plain vanilla Freeciv-Web server
    • Recommends using but offers itself as a backup when is down.
    • Singleplayer games
  •, 2022->
    • FCIV.NET is the best way to play Freeciv in 3D.
    • Seeks developers and artists to complete the 3D project
    • Singleplayer and multiplayer games
  •, 2013-2018
  •, 2009?-2011

Freeciv-web is an open-source turn-based strategy game. It’s built entirely in HTML5 and features in-depth game-play and a wide variety of game modes and options. Your goal is to build cities, collect resources, organize your government, and build an army, with the ultimate goal of creating the best civilization. You can play online against other players (multiplayer) or play by yourself against the computer. 


Freeciv-Web Screenshot


The source code of Freeciv-web is developed in Github using a git distributed development model. This means that you can easily fork one of the main development repostories on github, and implement your improvement, and send a pull request to get your change accepted. These are the main git repositories for freeciv-web:

To check out the code, use the following command:

git clone

More info about the source code[]

Freeciv-web consists of five main software modules:  

  •  freeciv - a fork of the main Freeciv C client and server.
  • freeciv-proxy - a HTTP proxy which allows web client users to connect to Freeciv civservers. The proxy is a HTTP and WebSocket server, and proxy between web browsers and civservers.
  • freeciv-web - a Java web application for the Freeciv web client. This application is a AJAX application which consists of HTML,  Javascript, images and JSP files which make up the application  viewed in each user's web browser.
  • freeciv-img-extract - extracts the images of the Freeciv tileset,  and generates a version for the web. This produces a tileset PNG  and Javascript. Run this to sync with the upstream Freeciv SVN  repository.
  • publite2 - a simple way to launch multiple civservers. 

This is also a useful resource for developers interested in Freeciv-web.

Freeciv-web overview page on github

Freeciv-web on github

Setting up Freeciv-web using Vagrant on VirtualBox[]

Freeciv-web can be setup using Vagrant on VirtualBox to quickly create a local developer image running Freeciv-web on Ubuntu 13.10 on your host operating system such as Windows, OSX or Linux.

1. Enable Virtualization in your BIOS. Link with how

2. Install VirtualBox:

3. Install Vagrant:

4. Install Git: then check out Freeciv-web from git to a directory on your computer, by running these two git commands:

git config --global core.autocrlf false
git clone

5. Run Vagrant with the following commands in your Freeciv-web directory from step 3:

vagrant plugin install vagrant-vbguest
vagrant up

This will build, compile, install and run Freeciv-web on the virtual server image. Wait for the installation process to complete, watching for any error messages in the logs.

6. (Skip this step if you run Windows) For Linux or OS X, then you need to setup a SSH tunnel to port 80 like this:

sudo ssh -p 2222 -gNfL 80:localhost:80 vagrant@localhost -i ~/.vagrant.d/insecure_private_key

Then test Freeciv-web by pointing your browser to http://localhost/ on your host operating system.

To log in to your Vagrant server, run the command: vagrant ssh

Note that running Freeciv-web using Vagrant requires about 4Gb of memory and 3 Gb of harddisk space.