Freeciv
Advertisement
  • Note: This FAQ is frozen for version 2.5. For a continuously updated version, see FAQ.

Gameplay[]

OK, so I installed Freeciv. How do I play?[]

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 in-game help.

How do I play multiplayer?[]

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?[]

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?[]

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 AI players offer you 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?[]

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?[]

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?[]

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?[]

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:

/endgame

For more information, try:

/help endgame

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 disabled

You can instead allow space races without them ending the game by instead changing the endspaceship setting.

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?[]

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?[]

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).

If you are playing on a remote server, you'll have to do this manually. Change the aifill server option through the Remote Server options dialog, or do it on the chatline with something like:

/set aifill 30

Difficulty levels are set with the /hard, /normal, /easy, and /novice commands.

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?[]

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?[]

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?[]

Of course.

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

/show

command to display the most commonly-changed settings (see article on show), or

/help <setting>

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 in the GTK clients. 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?[]

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.

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 classic 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. However, we're not aiming for absolute 100% compatibility; in particular, we're not aiming for bug-compatibility.

See also Projects.

My opponents seem to be able to play two moves at once![]

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?[]

Research 'amphibious warfare', build a marine, and get them. Alternatively research 'combined arms' and either move a helicopter or airdrop a paratroopers unit there.

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'?[]

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'?[]

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?[]

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?[]

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
 /\ 
|  |
 \/ 

and switch to a isometric hexagonal tileset (Game > Options >Local options and choose a different tileset from the drop-down; isophex is included with the game). Note if you do it wrong, you may end up playing with a rectangular tileset on a "true" hexagonal grid or to play with a hexagonal tileset on a rectangular grid - the game doesn't stop you trying this, but it's probably not what you want.

 _ 
/ \
\_/ 

You may also play with overhead hexagonal, in which case you want to set the topology setting to 'hex|wrapx' and use the hex2t tileset.

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

or

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?[]

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.[]

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+)[]

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.

Community[]

Does Freeciv violate any rights of the makers of Civilization I or II?[]

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?[]

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?[]

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[]

I've found a bug, what should I do ?[]

See the article on Bug Reporting.

I've started a server but the client cannot find it![]

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.[]

If your Metaserver tab turns up an empty list, there might something wrong with your setup.

First, check your Freeciv version. Freeciv clients can only talk to servers of the same major version (2.5.x can only talk to 2.5.y), and there may simply be no public servers for the version you're running. Check out the web interface (which shows servers for all versions) and look at the "version" column.

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?[]

Use the /metamessage command. See /help metamessage.

Am I using the latest version? Do I need to upgrade?[]

The current stable Freeciv version is 3.1.0. For an overview of changes that went into this release, see the NEWS-3.1.0 article.

The NEWS-#.#.# article is only updated for a new release; updates to Git can be reviewed in the 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 3.1.0 yet. If you can contribute, please do! Prepare a package and announce it to freeciv-dev@freelists.org.

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 3.1.0 are not.

"cannot open display :0"[]

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?[]

The Freeciv client wants to write a configuration file named .freeciv-client-rc-2.5 (for Freeciv 2.5.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:

set home=C:\freeciv

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?[]

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?[]

If for some reason you can't use the start-screen interface for loading a game, you can load one directly through the client or server command line (see Command-line options). You can start a client such as freeciv-gtk2, or 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![]

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 autosaves server setting is set appropriately, the server will periodically save the game automatically (which can take a lot of disk space in some cases); the frequency is controlled by the saveturns setting. 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?[]

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"

On MacOS systems, it's "/Users/{username}/.freeciv/saves" , but the finder won't show you folders that start with "." To get around that, launch the terminal app and enter these command lines -

cd ~

ln -s .freeciv dotfreeciv

Now the finder will show you a "folder" named dotfreeciv in your user folder, which is actually the ".freeciv" folder.

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).

Why are some of the menus in the Freeciv client disabled?[]

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?[]

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.

Outside the Freeciv client, we have some online tutorials in the Docs section of the wiki. A graph of the (default) technology tree is available on the wiki.

My diagonal arrow keys do not work on Solaris.[]

Why exactly, I don't know, but you have to xmodmap a few keys around. From my .xinitrc:

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.[]

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![]

Read on if you are using the Xaw client under certain Linux distributions or IRIX.

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.

Remedies:

  • Freeciv can be recompiled to use Xaw3d, if you have it: use
configure --with-xaw3d
  • Make sure the libXaw.so Freeciv 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.a somewhere: hunt through the Makefiles and change lines which contain -lXaw to /usr/X11/lib/libXaw.a, or wherever libXaw.a is 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.[]

As reported with Debian 2.1:

> make[2]: Entering directory `/usr/src/freeciv/client'
> Making all in gui-xaw
> make[3]: 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[3]: *** [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?[]

Solaris (2.5 and up) has its own version of X in /usr/openwin, its own version of make in /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 /usr/X11), GNU 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 INSTALL document.

I hate isometric view! How do I play with Civilization I style graphics?[]

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?[]

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. (There are a range of different Gtk clients for different versions of the Gtk library -- Gtk2/3/etc -- but they all support more or less the same feature set.)

The Qt client is a newer client using the Qt toolkit. It has a more immersive main map screen. It supports most features, with the notable exception of the map editor.

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 was at the time more widely available, but it is no longer maintained and lacks features; it will be removed in a future release. 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 Qt 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?[]

The client can be started without sound by supplying the commandline arguments: -P none

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?[]

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?[]

See the Nations article or ./doc/README.nations in the source tarball.

How do I change the font?[]

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 app-defaults file.

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?[]

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 $LANG environment variable (you can see your current $LANG with echo $LANG). A full explanation is beyond the scope of this document, but here are a few common examples. If your $LANG is 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 $LANG of 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?[]

See Interface Language.

How do I get the latest development code?[]

Use Git directly:

  1. Obtain and install Git on your Unix machine. On modern distributions it is already there; look for the git command. You can get Git from git-scm.com.
  2. Grab the source:
    $ git clone https://github.com/freeciv/freeciv

Once you're retrieved the source, to update it, cd into the freeciv directory and issue git pull.

Another useful git command is git diff.

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.

How do I disable full screen mode?[]

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 ?[]

Memory[]

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.

Processor[]

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[]

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.

Network[]

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 5556 - 5600, because these are the ports which typical servers are run on.

Windows[]

How do I use Freeciv under MS Windows?[]

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[]

The Native Windows packages come as self-extracting installers.

Simply download and install one of the .EXE installers. There are three different packages available: one using the GTK+ 2.0 toolkit, one using Qt, 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?[]

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 3.1.0 (GTK+2 client).) Just go to click on Start→Programs→Freeciv 3.1.0 (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?[]

The following steps should get you started:

  1. The Freeciv client will pop up and after a second you will be taken to the main menu.
  2. 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.)
  3. 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).
  4. Click the Pick Nation button to choose your nation, leader name, sex, and city style.
  5. Click the Start button.

That's it! Enjoy!

How do I use a different tileset?[]

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-3.1.0, then you'd tell 7-Zip to extract to C:\FREECIV-3.1.0\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-3.1.0) 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?[]

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-3.1.0\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[]

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 X[]

Beware: none of the current development team use the Mac OS. We're not currently building packages, and don't have recent experience. This section is probably out of date.

How do I install the latest version of Freeciv or compile it myself?[]

Where is the data directory?[]

~/.freeciv

How do I install X11?[]

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
  • OR
  • Visit this website and download the installer.

If you have 10.3 "Panther":

How do I troubleshoot Freeciv crashes?[]

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?[]

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:

  1. Download the Xbin.tgz distro from http://ftp.xfree86.org/pub/XFree86/4.5.0/binaries/Darwin-ppc-5.x/
  2. Unpack it and locate libXinerama.1.0.dylib in the lib directory
  3. Put libXinerama.1.0.dylib in /usr/X11R6/lib
  4. Symlink libXinerama.1.0.dylib to libXinerama.dylib and to libXinerama.1.dylib in that directory

How do I install new tilesets?[]

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):

  1. Download your favorite tileset and unpack it.
  2. Right (or ctrl) click on the client executable and select Show Package Contents from the context menu.
  3. Go to this directory: Contents/Resources/freeciv-x.y.z/share/freeciv
  4. Put the *.tileset file and corresponding folder into this directory.
  5. 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?[]

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 machine[]

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.


Top Navigation
Game Anatomy & ModdingDevelopmentGuidesDownloadsAbout Freeciv
Guides
IntroductionManualsFAQTutorials
Advertisement