- Note: This FAQ is continuously updated. For a version that is frozen for version 2.0 and earlier, see FAQ 2.0.
OK, so I installed Freeciv. How do I play? Edit
Freeciv is a client/server system. But in most cases you don't have to worry about this; the server is run automatically for you when you start a new game. So unless you're using one of the older Freeciv client programs all you have to do is run the client. Do this by double-clicking on the
freeciv-gtk2 executable program or by typing
freeciv-gtk2 in a terminal (in the case of the gtk2 client).
Once the client starts, select start new game. Now edit your game settings (the defaults should be fine for a beginner-level single-player game) and press the start button.
Once the game is started you can find information in its Help menu. If you've never played a Civilization-style game before you may want to look at the help on Strategy and Tactics.
You can continue to change the game settings through the Remote Server menu item in the Options submenu of the Game menu. Type
/help in the chatline (or server command line) to get more information about server commands.
Detailed explanations of how to play Freeciv are also in the
./doc/README file distributed with the source code, and in the online manual available on this site. The manual covers both the client and the server and is available in several different versions for various major Freeciv releases.
How do I play multiplayer? Edit
You can either join a network game run by someone else, or host your own.
To join a network game, choose Connect to Network Game and then Internet Metaserver. A list of active servers should come up; double-click one to join it.
You can also choose to directly connect to a specific server (including ones not on the metaserver list), provided you know the IP address and port of the server you're connecting to. This server will then show up under Local Area Network.
To host your own game, we recommend starting a separate server by hand. (As of 2.4.0, it's no longer possible to host a network game from the client; in any case, we didn't recommend it, as if the client crashed or quit, the server and hence the game would be lost.)
To start the server, enter
freeciv-server in a terminal or by double-clicking on the executable. This will start up a text-based interface.
If all players are on the same LAN, they should launch their clients, choose Connect to Network Game and then Local Area Network. You should see the existing server listed; double-click on it to join.
To play over the Internet, players will need to enter the hostname and port into their clients, so the host will need to tell the other players those details. You may also start up the server with the
-m command-line option to make it report to the Metaserver and allow other players to connect to it through the Internet Metaserver tab.
Note that hosting an Internet server from a home Internet connection is often problematic, due to firewalling and NAT that can make the server unreachable from the wider Internet. The metaserver does not currently check that a server is reachable before publishing it, so unfortunately it is entirely possible to publish the existence of a game that no-one will be able to connect to. Safely bypassing NAT and firewalls is beyond the scope of this FAQ.
Where is the chatline you are talking about, how do I chat?Edit
The chatline is located at the bottom of the window. Sometimes you have to activate a Chat tab to see it.
In SDL Freeciv you have to press Tab to access the chatline.
The chatline can be used for normal chatting, or for issuing server commands by typing a forward-slash '/' followed by the server command.
Why can't I attack another player's units? Edit
You have to declare war first. See section for How do I declare war on another player below.
(As a note, you start out at war with all players, but you are always offered a cease-fire treaty upon first contact which if accepted has to be broken before you can attack the player's units or cities.)
How do I declare war on another player? Edit
Go to the Nations report, select the player, then choose Cancel Treaty from the bottom-located Diplomacy menu. This drops you from "cease fire", "armistice", or "peace" into "war". If you've already signed a permanent "alliance" treaty with the player, you will have to cancel treaties several times to get to "war".
See the in-game help on Diplomacy for more detail.
How do I do diplomatic meetings?Edit
Go to the Nations report, select a player, then choose Meet from the bottom-located Diplomacy menu. But remember that you have to either have contact with the player or an embassy established in one of their cities.
How do I trade money with other players?Edit
If you want to make a monetary exchange, first initiate a diplomatic meeting as described in the section about How do I do diplomatic meetings above. In the diplomacy dialog, enter the amount you wish to give in the gold input field on your side or the amount you wish to receive in the gold input field on their side. With the focus in either input field, press Enter to insert the clause into the treaty.
How can I change the way a Freeciv game is ended? Edit
A standard Freeciv game ends when only one player/team is left alive, when a player's spaceship arrives at Alpha Centauri, or when you reach the ending turn - whichever comes first.
You can change the default ending turn by changing the
endturn setting. You can do this through Remote Server (see article on Server options) under the Options menu item in the Game menu or by typing into the chatline something like:
/set endturn 300
You can end a running game immediately with:
For more information, try:
If you want to avoid the game ending by space race, you can change the
spacerace setting - again either through the Server Options dialog or through the chatline by:
/set spacerace 0
From 2.4, you can allow space races without them ending the game by instead changing the
A single player who defeats all enemies will always win the game -- this conquest victory condition cannot be changed. An alliance of players may also win the game; this is controlled by the
alliedvictory server setting.
My irrigated grassland produces only 2 food. Is this a bug? Edit
No, it isn't. It's a feature. Your government is probably despotism, which has a -1 output whenever a tile produces more than 2 units of food/production/trade. You should change your government (see Government) to get rid of this penalty.
How do I play against computer players? Edit
See also the How do I create teams of AI or human players? section below.
In most cases when you start a single-player game you can change the number of players, and their difficulty, directly through the spinbutton. Note the number of players here includes human players (an
aifill of 5 adds AI players until the total number of players becomes 5).
/set aifill 30
Difficulty levels are set with the
You may also create AI players individually. For instance, to create one hard and one easy AI player, enter:
/create ai1 /hard ai1 /create ai2 /easy ai2 /list
More details are in the
./doc/README file supplied with Freeciv and the online manual on this site.
Can I build up the palace or throne room as in the commercial Civilization games? Edit
No. This feature is not present in Freeciv, and will not be until someone draws the graphics for it.
Can I build land over sea/transform ocean to land? Edit
Yes. You can do that by placing engineer units on a transport and going to the ocean tile you want to build land on (this must be in a land corner). Click the transport to display a list of the transported engineers and activate them. Then give them the order of transforming this tile to swamp. This will take a very long time though, so you'd better try with 6 engineers at a time. There must be 3 adjacent land tiles to the ocean tile you are transforming.
Can I change settings or rules to get different types of games? Edit
Before the game is started, you may change settings through the server options dialog (available in the pregame screen). You may also change these settings or use server commands through the chatline. If you use the chatline, use the
command to display the most commonly-changed settings (see article on show), or
to get help on a particular setting, or
/set <setting> <value>
to change a setting to a particular value (see article on server options). After the game begins you may still change some settings (but not others).
World maps can be created using the built-in map editor. It is also possible to edit running games: Just enable Editing Mode from the Edit menu. (You may also unzip and edit any savegame with a text editor, if you're ambitious, although the format is not documented and is subject to change.)
You can create rulesets or "modpacks" - alternative sets of units, buildings, and technologies. Several different rulesets come with the Freeciv distribution, including a civ1 (Civilization 1 compatibility mode), and civ2 (Civilization 2 compatibility mode). Use the
rulesetdir command (see rulesetdir) to change the ruleset (as in
/rulesetdir civ2). Note the ruleset mechanism is still being refined from version to version. In the GTK client you are able to choose the ruleset from a dropdown on the pregame screen.
Finally, upgrade! Freeciv continues to improve from version to version: a rule may change when the mailing list agrees it is 'wrong'. See, for instance, the NEWS.
How compatible is Freeciv with the commercial Civilization games? Edit
Freeciv was created as a multiplayer version of Civilization™ with players moving simultaneously. Rules and elements of Civilization II, and features required for single-player use, such as AI players, were added later. It is still a stated goal to let Freeciv's game engine be 100% compatible with Civilization™ I and II, but only as an option.
This is why Freeciv comes with three game configurations (rulesets): the civ1 and civ2 rulesets implement game rules, elements and features that bring it as close as possible to Civilization I and Civilization II respectively, while the default ruleset tries to reflect the most popular settings among Freeciv players. Unimplemented Civilization I and II features are mainly those that would have little or no benefit in multiplayer mode, and nobody is working on closing this gap.
Little or no work is being done on implementing features from other similar games, such as SMAC, CTP or Civilization III.
So the goal of compatibility is mainly used as a limiting factor in development: when a new feature is added to Freeciv that makes gameplay different, it is generally implemented in such a way that the "traditional" behaviour remains available as an option.
See also Projects.
My opponents seem to be able to play two moves at once! Edit
Freeciv's multiplayer facilities are asynchronous: during a turn, moves from connected clients are processed in the order they are received. Server managed movement is executed in between turns. This allows human players to surprise their opponents by clever use of goto or quick fingers.
Server settings to mitigate this problem include:
- phasemode, which has an alternating movement mode, in which only one player can move their units at a time.
- timeaddenemymove (which extends the turn timeout when an enemy's unit is seen moving).
- (since 2.3.x) unitwaittime (which imposes a minimum time between moves of a single unit on successive turns).
I am far superior to my opponent but their last city is on a 1x1 island so I cannot conquer it, and they won't give up. What can I do? Edit
If you can't build marines yet, but you do have engineers, and other land is close-by, you can also build a land-bridge to the island (i.e. transform the ocean).
Why are the AI players so hard on 'novice' or 'easy'? Edit
You are not expanding fast enough. Read the How to Play article for some general tips how to get a head start in the game.
You can also turn off Fog of War. That way, you will see the attacks of the AI. Just type '/set fogofwar 0' on the chat line before the game starts.
Why are the AI players so easy on 'hard'? Edit
Several reasons. For example, the AI is heavily playtested under and customized to the default ruleset and server settings. Although there are several provisions in the code to adapt to changing rules, playing under different conditions is quite a handicap for it. Though mostly the AI simply doesn't have a good, all encompassing strategy besides "eliminate nation x". For further details, see the article on AI.
To make the game harder, you could try putting some or all of the AI into a team. This will ensure that they will waste no time and resources negotiating with each other and spend them trying to eliminate you. They will also help each other by trading techs. You can use the team command to set teams before the game starts. For AI teams you have to create the AI players first using the create command. For example
/create ai1 /create ai2 /team ai1 "Team 2" /team ai2 "Team 2"
You can also form more than one AI team by using any of the different predefined team names, or put some AI players teamed with you.
What distinguishes AI players from humans? What do the skill levels mean? Edit
AI players in Freeciv operate in the server, partly before all clients move, partly afterwards. Unlike the clients, they can observe the full state of the game, including everything about other players. Additionally, Hard AI players can see every game unit even through fog of war.
AI players can change production without penalty and switch governments without going through anarchy. Additionally, Hard AI players can set their research, tax or luxury to 100% regardless of their governments.
Other than this, the AI players are not known to cheat, except when on Cheating skill level.
Further, the Novice and Easy AI are less eager to build cities, and at Novice, Easy and Normal, the AI 'forgets' where huts are and cannot plan attacks against enemy units they shouldn't be aware of.
How do I play on a hexagonal grid? Edit
It is possible to play with hexagonal instead of rectangular tiles. To do this you need to set your topology before the game starts
/set topology hex|iso|wrapx
/\ | | \/
_ / \ \_/
If you start a new game in the client, the grid (topology) will automatically be set to match your tileset. However since you can't change the tileset in pre-game this may not be helpful. You can try running the client as
freeciv-gtk2 -t isophex
freeciv-gtk2 -t hex2t
to set the tileset immediately on startup. (This assumes that you are using the gtk2 client.)
How do I create teams of AI or human players? Edit
See also the How do I play against computer players? section.
The GTK client has a GUI for setting up teams - just right click on any player and assign it to any team. You may also use the command-line interface (through the chatline.)
First of all try the
/list command. This will show you all players created, including human players and created AI players. To assign AI players to teams you have to create them first, as in
/create ai1 to create an AI player named "ai1".
Now, you're ready to assign players to teams. To do this you use the team command. For example, to create two AI players and put them on the same team you can do
/create ai1 /create ai2 /team ai1 "Team 2" /team ai2 "Team 2"
You may also assign teams for human players, of course. If in doubt use the
/list command again; it will show you the name of the team each player is on. Make sure you double-check the teams before starting the game; you can't change teams after the game has started.
I want more action. Edit
In Freeciv, expansion is everything, even more so than in the single-player commercial Civilization games. Some players find it very tedious to build on an empire for hours and hours without even meeting an enemy.
There are various techniques to speed up the game. The best idea is to reduce the time and space allowed for expansion as much as possible. One idea for multiplayer mode is to add AI players: they reduce the space per player further, and you can toy around with them early on without other humans being aware of it. This only works after you can beat the AI, of course.
Another idea is to create starting situations in which the players are already fully developed. There is no automated support for this yet, but you can create populated maps with the built-in editor.
I can't see trade routes in the city dialog (GTK+) Edit
In the GTK client, you can see the effect of trade routes by left clicking and holding on the trade value in the Info panel of the city dialog.
Does Freeciv violate any rights of the makers of Civilization I or II? Edit
There have been debates on this in the past and the honest answer seems to be: We don't know.
Freeciv doesn't contain any actual material from the commercial Civilization games. (The Freeciv maintainers have always been very strict in ensuring that materials contributed to the Freeciv distribution or website do not violate anyone's copyright.) The name of Freeciv is probably not a trademark infringement. The user interface is similar, but with many (deliberate) differences. The game itself can be configured to be practically identical to Civilization I or II, so if the rules of a game are patentable, and those of the said games are patented, then Freeciv may infringe on that patent, but we don't believe this to be the case.
Incidentally, there are good reasons to assume that Freeciv doesn't harm the sales of any of the commercial Civilization games in any way.
How do I wake up in the morning? Edit
We're open to suggestions on this one.
You can try to give Freeciv to your boss. There is no guarantee, but he may wake up later than you. Remind yourself that if you run into him at Civilization Anonymous, it's time to change jobs.
Where can I ask questions or send improvements? Edit
Please ask questions about the game, its installation, or the rest of this site at the Freeciv Forums.
Patches and bug reports are best reported to the Freeciv bug tracking system at https://www.hostedredmine.com/projects/freeciv.
Technical Stuff Edit
I've found a bug, what should I do ? Edit
See the article on Bug Reporting.
I've started a server but the client cannot find it! Edit
By default, your server will be available on host
localhost (your own machine), port
5556; these are the default values your client uses when asking which game you want to connect to.
So if you don't get a connection with these values, your server isn't running, or you used
-p to start it on a different port, or your system's network configuration is broken.
To start your local server, run freeciv-server. Then type
start at the server prompt to begin!
mike@localhost:/usr/local/bin$ ./freeciv-server This is the server for Freeciv version 2.5.0 You can learn a lot about Freeciv at http://www.freeciv.org/ 2: Loading rulesets. 2: AI*1 has been added as Easy level AI-controlled player (classic). 2: AI*2 has been added as Easy level AI-controlled player (classic). 2: AI*3 has been added as Easy level AI-controlled player (classic). 2: AI*4 has been added as Easy level AI-controlled player (classic). 2: AI*5 has been added as Easy level AI-controlled player (classic). 2: Now accepting new client connections. For introductory help, type 'help'. > start Starting game.
If the server is not running, you will NOT be able to connect to your local server.
If you can't connect to any of the other games listed, e.g. those on metaserver, a firewall in your organisation/ISP is probably blocking the connection.
If you are running a personal firewall, make sure that you allow communication for freeciv-server and the Freeciv client to the trusted zone. If you want to allow others to play on your server, allow freeciv-server to act as a server on the Internet zone.
I can play on my own server, but the metaserver doesn't seem to work. Edit
If your Metaserver tab turns up an empty list, there might something wrong with your setup.
First, check your Freeciv version. Freeciv 1.9.0 up to and including 1.14.2 use the old metaserver, 2.0 and higher use the new metaserver; if you're mixing versions, you may be getting the wrong list.
If you can view the metaserver page with your web browser, and servers are listed, but the client's Metaserver tab still fails to list them, you may be behind a non-transparent proxy. See article on proxy settings for a detailed explanation.
How do I change the metaserver info string? Edit
/metamessage command. See
Am I using the latest version? Do I need to upgrade? Edit
The current stable Freeciv version is 2.5.6. For an overview of changes that went into this release, see the NEWS-2.5.6 article.
NEWS-#.#.# article is only updated for a new release; updates to Subversion are listed in the freeciv-commits archives (see Mailing Lists) and the actual code changes can be reviewed using our online source code browser.
If you decide to upgrade, see the Download page for source code or contributed binaries.
It's unlikely that all precompiled binaries and ports have been updated to 2.5.6 yet. If you can contribute, please do! Prepare a package and announce it to email@example.com.
Clients and servers of different major versions are generally incompatible due to changes in the client/server protocol. You will see incompatibilities as a 'mismatched capabilities' error. Different minor versions should be compatible, however. For example, 2.0.0 and 2.0.8 are compatible; 2.0.0 and 2.5.6 are not.
"cannot open display :0" Edit
The Freeciv client is unable to open a window on your local X display. Are you running an X server at all? Maybe you need to install and run one, or switch to a Freeciv client that doesn't need X; see the previous question.
Under Mac OS X, try starting the Freeciv client from the xterm session running under X.
HOME directory not set? Edit
The Freeciv client wants to write a configuration file named
.freeciv-client-rc-2.2 (for Freeciv 2.2.x) in your
$HOME directory. On Windows XP
$HOME is usually "C:\Documents and Settings\username\Application Data" On Windows 7 it can be found under "C:\Users\username\AppData\Roaming".The
$HOME directory can be set from the
DOS prompt or a
.bat file, for example:
To set the environment variable permanently, right-click This Computer, select Properties and find the proper dialog.
You can still play if this error message appears, but your client options won't be saved.
How do I start the next game? Edit
A running Freeciv server can only run a single game. Once the game has been started with the
/start command, restarting is impossible.
To start a new game,
/quit the server and start a new one, then reconnect the client to it.
How do I restart a saved game? Edit
If for some reason you can't use the start-screen interface for loading a game, you can load one directly through the server command line (see Command-line options). You can start
freeciv-server with the
-f option, for example:
freeciv-server -f freeciv-T0175-Y01250-auto.sav.bz2
Or you can use the
/load command inside the server before starting the game.
The server cannot save games! Edit
In a local game started from the client, the games will be saved into the default Freeciv save directory (typically
~/.freeciv/saves/). If you are running the server from the command line, however, any savegames will be stored in the current directory. If the
saveturns server variable is set, the server will periodically save the game automatically (which can take a lot of disk space in some cases). In any case, you should check the ownership, permissions, and disk space/quota for the directory or partition you're trying to save to.
Where are the save games located by default? Edit
On Unix like system, it will be in ~/.freeciv/saves On Windows XP, it will be in $HOME\.freeciv\saves where $HOME is usually "C:\Documents and Settings\username\Application Data" On Windows 7 it can be found under "C:\Users\username\AppData\Roaming"
You could change this by setting the HOME environment variable, or using the --saves command line argument to the server (you would have to run it separately).
Menus that cannot be used will be disabled. This means some menus are disabled during pregame, or unless you select a unit, or if the game has ended.
It's also possible that you're not connected to a game server at all. If you start the client it should allow you to create a new game automatically (by pressing the Start New Game button). You may also try running the server from the command line (as
freeciv-server) then connecting to it manually with the client (connect to
localhost). Use the
/start command to begin the game once you have connected. The server will now load some configuration files that some of the menus depend on.
How do I find out about the available units, improvements, terrain types, and technologies? Edit
There is extensive help on this in the Help menu, but only once the game has been started - this is because all of these things are configurable up to that point; see also section on Why are some of the menus in the Freeciv client disabled? above. (Some work needs to be done to make this more intuitive.)
The game comes shipped with an interactive tutorial scenario. To run it, select Start Scenario Game from the main menu, then load the tutorial scenario.
My diagonal arrow keys do not work on Solaris. Edit
Why exactly, I don't know, but you have to xmodmap a few keys around. From my
xmodmap -e 'keycode 27 = Up' \ -e 'keycode 31 = Left' \ -e 'keycode 34 = Down' \ -e 'keycode 35 = Right' \ -e 'keycode 76 = Up' \ -e 'keycode 98 = Left' \ -e 'keycode 120 = Down' \ -e 'keycode 100 = Right'
The client complains it can't read the
.freeciv-client-rc-x.x file. Edit
This is harmless: the file will be created to store your client options, as soon as you save them; but it isn't supplied initially.
My Freeciv client dumps core when I start it! Edit
In all likelihood, the problem is an enhanced version of the Xaw library, (Xaw3d, Xaw95,or neXtaw). A Freeciv binary compiled against the 'plain' Xaw library will segfault upon startup when used with these.
- Freeciv can be recompiled to use Xaw3d, if you have it: use
- Make sure the
libXaw.soFreeciv is seeing is an unenhanced version (by installing the appropriate package, pointing to the right version using environment variables, or whatever; details depend on platform)
- If for some reason you can't, but there is a 'plain'
libXaw.asomewhere: hunt through the Makefiles and change lines which contain
/usr/X11/lib/libXaw.a, or wherever
libXaw.ais stored on your machine, then recompile (this was suggested by <dva AT uu.gatech.edu>
- Install GTK+ (if not installed already), compile and use the GTK+ client instead of the Xaw one.
This problem used to be documented in the SuSE Linux support database.
If your SEGV at startup is due to a different problem, please report it to the developers' bug reporting system.
Freeciv fails to compile due to the Xaw libraries. Edit
As reported with Debian 2.1:
> make: Entering directory `/usr/src/freeciv/client' > Making all in gui-xaw > make: Entering directory `/usr/src/freeciv/client/gui-xaw' > gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I./.. -I./../include > -I../../common -I../../intl -I/usr/X11R6/include -g -O2 -Wall -c > pixcomm.c > In file included from pixcomm.c:54: > pixcommp.h:54: X11/Xaw3d/CommandP.h: No such file or directory > make: *** [pixcomm.o] Error 1 [...]
This is, again, an Xaw/Xaw3d confusion problem. In this particular case, the Debian xaw3dg package is not installed on the system.
To select plain Xaw or Xaw3d explicitly, use:
./configure --with-xaw [...] ./configure --with-xaw3d [...]
How do I compile Freeciv under Solaris? Edit
Solaris (2.5 and up) has its own version of X in
/usr/openwin, its own version of
/usr/ccs/bin/make, and its own compiler (to be purchased separately) which, if you have it, is available in
/opt/SUNWspro/bin. Solaris does not provide the XPM library, which is required for the Xaw client; it doesn't provide any of the stuff required for imlib, gdk and gtk, either, which is required to build the GTK+ client. (This stuff can be compiled however, and is now more readily installable with the Ximian GNOME distribution.)
To confuse matters further, many local systems administrators add MIT X (usually, in
make, and the
gcc compiler. If you're unlucky, the
./configure && make
procedure will get confused about these different versions of tools.
However, with some patience, everything can be compiled without problems. Details are provided in the Freeciv
I hate isometric view! How do I play with Civilization I style graphics? Edit
Start the client as
freeciv-gtk2 --tiles trident
for the gtk2 client.
There is also a client option in the Local Client sub-menu under Options (gtk client) or Local Settings (xaw client) menu.
What other GUI options do I have for the Freeciv client? Edit
The look and feel of your GUI is mainly determined by the Freeciv client you use.
The recommended client is the Gtk client. This has the most features.
The Qt client is a newer client using the Qt toolkit. It has a more immersive main map screen, but still lacks some features.
The SDL client provides a more immersive experience, but lags behind somewhat in features.
The original client was based on the Athena widget set (Xaw), which is fast and and the time more widely available, but it is no longer as well-maintained as the Gtk client and lacks some features. Many users find it old-fashioned, but it does still have a speed advantage. The client can also be compiled to use Xaw3d.
All of these clients should compile and run on any Unix variant we are aware of, not just the ones for which our download section provides native installation support.
For Windows, the Gtk and SDL clients are recommended.
Some details of the GUI can be configured from the running client.
A larger impact is made by the tileset used to display terrain, cities, units, etcetera. A tileset can be specified when the client is started up.
Other tilesets in both categories are separately available from our download page.
We do not distribute commercial Civilization™ game tiles for obvious copyright reasons.
How do I enable/disable sound support? Edit
The client can be started without sound by supplying the commandline arguments:
Further instructions are in
./doc/README.sound in the source tarball.
Please note that the stdsounds are extracted to data/stdsounds with soundspec file data/stdsounds.soundspec. For a system-wide installation you can extract that into
/usr/local/share/freeciv, such that a directory
/usr/local/share/freeciv/data/stdsounds will exist.
You can then start the (gtk2) client as follows:
freeciv-gtk2 -P <plugin> -S stdsounds
If that does not work, try:
freeciv-gtk2 -d 3 -P <plugin> -S stdsounds
This will help you get some debug information (e.g. why the sound does not work).
Where can I find more information on the *.ruleset files? Edit
There is some documentation in the
./doc/ directory, such as
./doc/README.effects. The default ruleset also has a minimal explanation of what all the fields mean, so
default/buildings.ruleset would for instance list the meaning of the fields in the
buildings.ruleset. Also of interest might be the rulesets page on freeciv.org; currently it contains little in the way of documentation but you may help change this by contributing some.
How can I add additional civilizations in the nation/ subdirectory, or add cities to the list for an existing nation? Edit
See the Nations article or ./doc/README.nations in the source tarball.
How do I change the font? Edit
For the Gtk client, once the game has started, you can change the fonts in Game > Options > Local Client, on the Font tab.
For the Xaw client, you can change the font with X resources. You can specify them on the command line with the
-xrm command-line option, or put them in your
.Xdefaults file or the Freeciv
To change the main font, try something like:
freeciv-xaw -- -xrm "Freeciv*.font: 8x16"
If the font isn't fixed-width, some of the dialogs won't look right, but they'll still work.
Note that on Microsoft Windows systems the $HOME environment variable usually isn't set by default, so you have to set it. In that case, create a directory for Freeciv settings somewhere (an obvious place would be
C:\Documents And Settings\(your username goes here)\Application Data), then open a command shell and typing something like:
set HOME="C:\Documents And Settings\(your username goes here)\Application Data"If $HOME is already in use by other applications, just use that directory. Now copy the settings file to it as instructed above (note the . at the start of the resulting filename) and change some font settings ((e.g. replace Sans with Utopia here and there) and you should notice the effect. (See also this forum thread.)
I am having problems with accented characters. What gives? Edit
The problem is that Freeciv (the server or client) simply cannot display the characters properly in the character encoding it is set to use. This is particularly a problem in older clients like the XAW client.
- In the server, this can be fixed by changing your locale to use UTF-8. Normally this is done by changing the
$LANGenvironment variable (you can see your current
echo $LANG). A full explanation is beyond the scope of this document, but here are a few common examples. If your
$LANGis empty, try setting it to
en_US.UTF-8(for US English). If it is
ru_RU.KOI8-R, try setting it to
ru_RU.UTF-8. Note that the
$LANGof the server only affects terminal input and output of the server, and will not have any effect on client behavior.
- In the XAW client, the problem occurs for the exact same reason as in the server. The solution is the same: change your locale to use UTF-8. If this isn't possible you may improve things by installing GNU libiconv. GNU's iconv library has better transliteration support than the iconv that comes on most unix-like systems.
- The GTK+ client should not have any character problems. If you do it is probably a font issue.
How can I change the language of my client/server? Edit
See Interface Language.
How do I get the latest development code? Edit
Use Subversion (SVN) directly:
- Obtain and install SVN on your Unix machine. On modern distributions it is already there; look for the
svncommand. You can get SVN from Apache.org.
- Grab the source:
$ svn co svn://svn.gna.org/svn/freeciv/trunk freeciv
Once you're retrieved the source, to update it,
freeciv directory and issue
Another useful svn command is
This shows the changes between the version you have on disk and the current development code.
This is development code; it may contain new features, bugs, and incompatibilities with older versions.
See also How to Contribute to Freeciv development.
If you'd like to know more about SVN, try here.
How do I disable full screen mode? Edit
In the GTK client, go to View and select Full Screen. It may not take effect until the next time you start the client.
In the SDL client, open the Options dialogue, select Video options, deselect the Fullscreen Mode check box and then select the resolution of your choice. The change will take effect immediately.
What are the system requirements ? Edit
In a typical game the server takes about 30MB of memory and the client needs about 200MB. These values may change with larger maps or tilesets. For a single player game you need to run both the client and the server.
We recommend at least a 200MHz processor. If you find your game running too slow, these may be the reasons:
- Too little memory
- Swapping memory pages on disc (virtual memory) is really slow. Look at the memory requirements above.
- Large map
- Larger map doesn't necessary mean a more challenging or enjoyable game. You may try a smaller map.
- Many AI players
- Again, having more players doesn't necessary mean a more challenging or enjoyable game.
- City Governor (CMA)
- This is a really useful client side agent which helps you to organize our citizens. However, it consumes many CPU cycles.
Graphic display Edit
The GTK client works well on 1024x800 or higher resolutions. On smaller screens you may want to enable the Arrange widgets for small displays option under Interface tab in local options.
A 56Kb modem should be enough to play a typical online game. However, many players suggest that a large ping is a big disadvantage. Your ISP mustn't block ports
5600, because these are the ports which typical servers are run on.
How do I use Freeciv under MS Windows? Edit
Precompiled binaries can be downloaded from www.freeciv.org.
If you want to compile the source code yourself, you will need mingw or cygwin.
Retrieving the Native Windows Freeciv Edit
The Native Windows packages come as self-extracting installers.
Simply download and install one of the .EXE installers. There are two different packages available, one using the GTK+ 2.0 toolkit, and one using the SDL libraries. The GTK version requires Windows NT, 2000, XP or later.
OK, I've downloaded and installed it, how do I run it? Edit
If you used one of the self installer versions then there's a program group with the name chosen at installation time (for example,
Freeciv 2.5.6 (GTK+2 client).) Just go to click on Start→Programs→Freeciv 2.5.6 (GTK+2 client)→Freeciv
That's it! You should be up and running.
I've started the Freeciv client, but don't know what to do next? Edit
The following steps should get you started:
- The Freeciv client will pop up and after a second you will be taken to the main menu.
- If you want to play against other humans (I think they're human anyway :-) then click on the Connect to Network Game button in the main menu. Then either type in the IP address of the server or select the Internet Metaserver tab to play on online public servers. Then select an available game and click the Connect button. (You may need to click the Update button to get the list of servers initially and to update it after a while.)
- If you want to play on your local machine against the AI (all other players are AI controlled) then click on the Start New Game button. Then select your difficulty level and the Total players (it includes yourself, so if you wanted to play against four AI players, you'd select 5).
- Click the Pick Nation button to choose your nation, leader name, sex, and city style.
- Click the Start button.
That's it! Enjoy!
How do I use a different tileset? Edit
Since 2.3, some popular tilesets are available through the "Freeciv Modpack Installer" utility. To install these, just launch the installer from the Start menu, and choose the one you want; it should then be automatically downloaded and made available for the current user.
Otherwise, the first thing to do is to download the tileset you want to use (e.g., from Tilesets).
Then you have to unpack the tileset into the
DATA or root directory in your Freeciv directory (so if your Freeciv directory is
C:\FREECIV-2.5.6, then you'd tell 7-Zip to extract to
C:\FREECIV-2.5.6\DATA.) Make sure you tell your extraction program to extract into the subdirectories in the file.
Once that's done you can start using the new tileset (FINALLY!)
The more advanced Freeciv clients, including the gtk version, have an in-game GUI option to select tileset. Find it under local client options.
Another way to accomplish this is to pass a command-line argument to the Freeciv client when you start it. Open a Command Prompt (from Start→Programs→Accessories→Command Prompt in my case, sometimes called an MS-DOS Window). Change to the Freeciv directory (for example,
cd \FREECIV-2.5.6) and start the client with the
--tiles tilesetname option. For example for the gtk2 client,
FREECIV-GTK2 --tiles freeland
You should be good to go then!
How do I use a different ruleset? Edit
Again, this is easiest if the ruleset is available through the "Freeciv Modpack Installer" utility that's shipped with Freeciv since 2.3.
Otherwise, a different ruleset can be used by downloading the ruleset and extracting it in the Freeciv root or data directory (
C:\FREECIV-2.5.6\DATA, for example). This should create a subdirectory with the ruleset name (
ancients, for example.)
Then you need to tell the server to use it. This is done by typing
/rulesetdir ''ruleset directory''
in the chat line of the client before pressing the Start Game button.
I opened a ruleset file in Notepad and it is very hard to read Edit
The ruleset files (and other configuration files) are stored with UNIX line endings which Notepad doesn't handle correctly. Please use an alternative editor like WordPad, notepad2, or notepad++ instead.
Mac OS XEdit
How do I install the latest version of Freeciv or compile it myself?Edit
- See the Install-MacOSX article.
Where is the data directory?Edit
How do I install X11? Edit
X11 is an application, part of OS X provided by Apple, but not installed by default.
If you have 10.4 "Tiger":
- Find your Tiger install disc and insert it
- Open the "Optional installs.mpkg" from the CD
- Select Applications > X11 in the installer
- Visit this website and download the installer.
If you have 10.3 "Panther":
- Download the X11User.pkg installer from Apple
- Open the file and install
How do I troubleshoot Freeciv crashes?Edit
Freeciv writes some information to the system log if crashes. To see this, open /Applications/Utilities/Console.app immediately after a crash. Freeciv-related stuff should appear in the bottom.
Freeciv crashes because it doesn't find libXinerama something? Edit
This bug could appear in 10.3 or incomplete X11 installations. To fix it requires either reinstallation of X11 (see above), or some knowledge of OS X internals.
I found this fix:
- Download the Xbin.tgz distro from http://ftp.xfree86.org/pub/XFree86/4.5.0/binaries/Darwin-ppc-5.x/
- Unpack it and locate libXinerama.1.0.dylib in the lib directory
- Put libXinerama.1.0.dylib in /usr/X11R6/lib
- Symlink libXinerama.1.0.dylib to libXinerama.dylib and to libXinerama.1.dylib in that directory
How do I install new tilesets? Edit
First, the Linux way works fine on OS X (put tilesets in ~/.freeciv).
There is also an OSX-specific solution (taken from the Freeciv Forums):
- Download your favorite tileset and unpack it.
- Right (or ctrl) click on the client executable and select Show Package Contents from the context menu.
- Go to this directory: Contents/Resources/freeciv-x.y.z/share/freeciv
- Put the *.tileset file and corresponding folder into this directory.
- Start the client and the new tileset should show up in the Local Options dialog.
Note: Not just tilesets, but other data like scenarios should also be installed in the same location.
How do I scroll the map?Edit
To recenter the view, you can right-click either on the overview or the large map (the playfield). To simulate a right click on a single-button mouse, hold the command key (apple symbol key) while clicking. You can also try scrolling the map using two fingers on the trackpad while the view window is active.
Freeciv won't start on my machineEdit
There can be many reasons for this. Here are a few tips:
- You need Apple X11 installed to run the official release. Install from your system DVD/CDs (10.4 Tiger or later) or download and install from Apple's developer website (10.3 Panther).
- Freeciv may not start if you are logged in as Admin. Log in as a Standard user and try again.
- Official releases later than 2.0.3 are built to run on OS X Tiger or later and won't start on earlier versions of OS X.