Freeciv FAQ

This is the Frequently Asked Questions document for Freeciv, a multiplayer, multiplatform variant of the popular Civilization I and II games for MS DOS/Windows. Freeciv runs on many variants of Unix, on Amiga, MS Windows, OS/2. etc. A MacOS port is in the works.

This document is available at the address http://www.freeciv.org/faq/; further distribution is encouraged, as long as it includes a reference Ato this source; this will enable the reader to retrieve the latest version.


latest modification: 02/12/2001

  1. OK, so I installed Freeciv. How do I play?

    Freeciv is a client/server system. To host a game, create computer players, etcetera, you must run the Freeciv server executable. To join a game as a player, you must run the Freeciv client executable and connect to a server. That's right, even when you're playing all by yourself, you have to start up two different executables.

    On Unix-like systems, the superuser (root) has special privileges, to be used only for system administration. Freeciv has a built-in check that prevents you from running it as root, but in some environments (eg. KDE) you may not see the error message. Make sure you run the Freeciv client and server, and your graphical desktop environment such as KDE itself, as a normal user, not root. See the relevant bug report for details.

    Once the client is started you can find information in its Help menu. See also the The README supplied with Freeciv and the online manual on this site (which is a little out of date).

    If you use MS Windows, see our Freeciv on MS Windows page. Note that there are two Windows ports, one requiring cygwin and an X server, one native. For the Amiga version, see the instructions supplied with it.

    Some visual front ends to control the server have been written, but none of them are distributed with Freeciv yet. The Freeciv contributed software directory may contain something to your liking.

    Detailed explanations of how to play Freeciv are in the README file distributed with the source code, and in the online manual available on this site which can be downloaded separately.

    Once the game is running, extensive help will be available in the Help menu.

  2. I've started a server but the client cannot find it!

    By default, your own server will be available on host localhost, port 5555; by default, your client will try to connect there. This uses the 'loopback interface', a pseudo-network connection to your own machine that can be used even on standalone machines. In fact, it's supposed to be there, but at least one Linux distribution doesn't always install it.

    localhost is supposed to be a name for the IP number 127.0.0.1; on Unix variants, the file /etc/hosts is usually where this is defined. If this is in order, make sure 127.0.0.1 is operational: if you're running a Unix variant, try the commands

    
      ifconfig -a
      ping 127.0.0.1
    
    

    The first command must list a network interface with an IP address of 127.0.0.1, the second must not return an error.

    If the loopback device is missing, add it, using your system's preferred network configuration method. (This varies widely across OS distributions.)

  3. Help! Something started talking to me and I don't know what it is!

    Upgrade.

    Before version 1.8.0, the Freeciv server would try to connect to the metaserver by default. As a result, the majority of games announced there was started by first-time users who hadn't even read the README; they would be visited by 'ghosts' that started to chat and ask questions. Most often, the visitors would never even be noticed.

    For this reason, 1.8.0 and up only connect to the metaserver when the -m flag is specified. When you connect to a game on the metaserver now, you can count on being invited.

  4. I can play on my own server, but the metaserver doesn't seem to work.

    We have dedicated gameservers now (civserver.freeciv.org and freeciv.netc.pt), so if your metaserver button turns up an empty list, there's probably something wrong with your setup.

    First, check your Freeciv version. Freeciv 1.8.1 and below connect to the old metaserver; 1.9.0 and up 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 WWW browser, and servers are listed, but the client's Metaserver button still fails to list them, you may be behind a non-transparent WWW proxy. The README explains how to solve this.

  5. How do I change the metaserver info string?

    A; Use the metainfo command. In version 1.11.5 and up, it can be abbreviated to m.

  6. Am I using the latest version? Do I need to upgrade?

    The current stable Freeciv version is 1.12.0. For an overview of changes that went into this release, see the NEWS-1.12.0 file. For a list of all changes, see the complete ChangeLog (warning: very large!).

    The NEWS-#.#.# file is only updated for a new release; updates to CVS are listed in the freeciv-cvs archives and the actual code changes can be reviewed using our online source code browser.

    If you decide to upgrade, see the main page for source code, or the download page for contributed binaries.

    Not all precompiled binaries and ports have been updated to 1.12.0 yet. If you can contribute, please do! Prepare a package and announce it to freeciv@freeciv.org.

    Clients and servers of different versions are often incompatible due to changes in the client/server protocol. You will see incompatibilities as a 'mismatching capabilities' error. For example, 1.8.0 and 1.8.1 are compatible; 1.10.0 and 1.11.0 are not.

  7. How do I use Freeciv under MS Windows 95/98/NT ?

    See our Freeciv on Windows document.

    MS Windows support is relatively recent, and still experimental; Freeciv was originally written for Unix and the X window system, and is, in fact, extremely portable across Unix versions. One option is to install a Unix variant on your PC (such as Linux) and use that.

    For a list of supported Freeciv platforms, see the requirements and download pages.

  8. "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 that doesn't need X; see the previous question.

  9. HOME directory not set?

    The Freeciv client wants to write a configuration file named .civclientrc in your $HOME directory. On MS Windows, the $HOME variable is not always set. This can be done from the DOS prompt or a .bat file, for example:

    
      set home=C:\freeciv
    
    
    You can still play if this error message appears, but your client options won't be saved.

  10. How do I restart a saved game?

    It is not yet possible to load a saved game from a running civserver. Instead you have to start it with the -f option, for example:

    
      civserver -f civgame1150.sav
    
    

  11. The server cannot save games!

    If the saveturns server variable is set, the server will attempt to save games in the directory you were in when you started it. Check its ownership, permissions, and disk space/quota for the partition it is on. It may be convenient to use a wrapper script that creates and uses a separate directory for each server session.

  12. Why are some of the menus in the Freeciv client disabled?

    In order to play Freeciv, you must start the Freeciv client and connect to a server. If you play by yourself, start the Freeciv server first, and connect the client to localhost. On the server command line, use the s command to start the game. The server will now load some configuration files that some of the menus depend on.

  13. 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 'Why are some of the menus disabled?' (Some work needs to be done to make this more intuitive.)

    Outside the Freeciv client, we have some online tutorials on www.freeciv.org, but they are not entirely up to date. A graph of the (default) technology tree is available from David Pfitzner: see http://msowww.anu.edu.au/~dwp/freeciv/.

  14. Sometimes, I cannot move; the map doesn't get focus.

    This was a known bug in the 1.10.0 GTK+ client, fixed in 1.11.0. Make sure the map panel has focus!

  15. 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'                                                
    
    
    See also the April, 2000 thread on this subject. [6~

  16. Menu items do not work under KDE.

    Deactivate NumLock.

  17. Popup windows are sent to the back in KDE and pile up there.

    When opening popups in the Xaw client activated from other popups, eg. the Change production dialog in the city window, the popup that was previously open gets sent to the back. After a while the client slows down due to the number of open city windows, and they have to be closed one by one. The same thing may happen to report windows.

    This problem is specific to the KDE window manager. If you know a way around it, please let us know.

  18. The client complains it can't read the .civclientrc 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.

  19. My Freeciv client dumps core when I start it!

    Don't tell us: you're 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@uu.gatech.edu)
    • install GTK+ (if not installed already), compile and use the GTK+ client instead of the Xaw one

    See also the SuSE Linux support database on this problem (in German, or in English).

    If your SEGV at startup is due to a different problem, please report it to the developers' bug reporting system, by sending it to bugs@freeciv.org.

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

  21. When compiling Freeciv from source, the no command cannot be found.

    This silly error message, and possibly others, may arise if you ./configure --with-included-gettext to use the multilingual support library (GNU gettext) distributed with Freeciv, but change your mind later. The problem is the creation of a libintl.h -> intl/libgettext.h that should be removed upon reconfiguration, but isn't. See this question asked on freeciv-dev and the answer given there.

    The same error message may arise if you have no gettext on your system and forget to use --with-included-gettext.

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

  23. How do I compile Freeciv under Solaris or FreeBSD?

    On Solaris, FreeBSD, and some other systems, the default make isn't GNU make. In order to compile with such a make you must either

    • use GNU make or
    • ./configure --disable-cvs-deps --disable-nls in order to disable the GNU make specific parts of the Makefile.

  24. I hate isometric view! How do I play with Civ I style graphics?

    Start the client as "civclient --tiles trident".

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

    Two clients are actively being maintained for Unix/X11. The default client uses the GTK+ windowing toolkit.

    The original client is based on the Athena widget set ('Xaw'), which is fast and very widely available, but many users find it old-fashioned. The client can also be compiled to use Xaw3d. New features are sometimes implemented in the GTK+ version only, but the Xaw one still has some advantages.

    Both clients compile and run on any Unix variant we are aware of, not just the ones for which our download section provides native installation support.

    This includes MacOS X, and MS Windows with Cygwin and a suitable X11 server such as Exceed; see our Freeciv on Windows FAQ for details.

    For Amiga and MS Windows, clients exist that use the native windowing system rather than X11. They are both in under active maintenance and in the main CVS tree. For 'classic' MacOS, BeOS, Java, and possibly other platforms, clients are under development - see the projects page for details. A KDE/Qt client was once started but is not under development now, as far as we know - see a discussion on freeciv-dev.

    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. command line option. 1.11.4 and earlier versions default to the trident tileset, which gives a flat 2D, Civ I-like look. 1.11.6 and up support an isometric (quasi-3D) tileset. See also the previous question.

    Other tilesets in both categories are separately available: see our 1.11.5 screenshots for an overview.

    An older tileset, with larger tiles, was the default for 1.8.1, and is still bundled with the distribution. Use civclient's -tiles engels option to select it.

    The original Civ I or II tiles can be used with Freeciv. We do not distribute them for copyright reasons.

    If you don't think this is good enough: the developers list has witnessed many discussions on wrapping at the edges, hexagonal tiles, playing on a sphere, etc. Unfinished work exists on a Java client and an OpenGL client. Most of these solutions would be less portable than what we have now.

    See also our graphics section.

  26. How do I enable sound support?

    Sound support has been implemented by David Weisgerber; an up to date patch was available in October 2001, but it still isn't part of the development code.

    Earlier discussions on freeciv-dev: 1, 2, 3, 4, 5, 6, 7, 8, 9 (a functional patch), A (another).

  27. Can I build up the palace or throne room as in the commercial Civs?

    No. This feature is not present in Freeciv.

  28. Can I change settings or rules to get different types of games?

    On the server command line, before the game is started, you can change various game settings: for example, the way in which the world map is generated, the number and strength of AI players, the cost of stealing or exchanging technology. When you join someone else's game, don't forget to check the settings.

    World maps can be created using the CivWorld map editor (available separately). It is not yet possible to edit savefiles from running games; the editor will turn them into empty maps.

    You can create 'modpacks': alternative sets of units, buildings, and technologies. They are defined in the data/*/*.ruleset files. The 'default' is to mimic Civ II; the 'civ1' modpack makes the game more like Civ I. The modpack mechanism is still being enhanced from version to version.

    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-1.12.0 file, differences between Civ II and Freeciv, and lists that have appeared on freeciv-dev (partly listing differences fixed in later Freeciv releases):

    On the differences with Civ III, see (a link I am unable to check right now).

  29. How do I attack another player?

    From version 1.11.4 and up, you are initially at peace with everyone - except AI players, which do not know how to use diplomacy. Therefore, you cannot attack any enemy units or cities unless you explicitly cancel the peace treaty with this enemy: use F3, select the player, and Cancel Pact.

  30. 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. AI players have the opportunity to move at the end of a turn; automated moves such as the execution of goto are executed at the start.

    This allows AI players to move units twice without client-side interruption (see bug reports 286 and 371). It also allows human players to surprise their opponents by clever use of goto.

  31. Why are the AI players so damn good on 'easy'?

    You are not expanding fast enough. See a discussion on freeciv-dev.

  32. What distinguishes AI players from humans? What do the skill levels mean?

    AI players in Freeciv operate in the server, partly before after all clients move, partly afterwards. Unlike the clients, they can observe the full state of the game, including everything about other players.

    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.

    Further (see the code), the easy AI are less eager to build cities, and at easy and normal, the AI 'forget' where huts are and which unknown techs exist (see the code).

  33. I want more action.

    In Freeciv, expansion is everything, even more so than in Civ I or II. Some players find it very tedious to build on an empire for hours and hours without even meeting an enemy.

    See some techniques to speed up the game. The basic 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.

  34. How do I change the font?

    For the GTK+ client, you can specify fonts in $HOME/freeciv.rc. For example,

    
      
    style "help_text"
    {
      font = "-*-courier-medium-r-*-*-14-*-*-*-*-*-iso8859-*"
    }
     
    

    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:

    
      civclient -xrm "Freeciv*font: 8x16"
    
    

    If the font isn't fixed width, some on the dialogs won't look right, but they'll still work.

  35. How do I get the latest development code?

    A snapshot of the development code is made every day; simply retrieve the latest version with your browser. This is development code; it may contain new features, bugs, and incompatibilities with older versions.

    An alternative is to use CVS directly:


    1. Obtain and install CVS on your Unix machine. On modern distributions it is already there; look for the cvs command. You can get CVS from Cyclic Software.

    2. Set your CVSROOT environment variable:

      • using /bin/sh: CVSROOT=:pserver:freecvs@www.freeciv.org:/home/freeciv/CVS; export CVSROOT
      • using ksh or bash: export CVSROOT=:pserver:freecvs@www.freeciv.org:/home/freeciv/CVS
      • using csh or tcsh: setenv CVSROOT :pserver:freecvs@www.freeciv.org:/home/freeciv/CVS

    3. Tell the CVS server who you are:

      cvs login     (password: freecvs)

    4. Grab the source:

      cvs co freeciv

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

    Another useful cvs command is:

    cvs diff -u

    This shows the changes between the version you have on disk and the current development code.

    See also how to contribute to Freeciv development.

    If you'd like to know more about CVS, try here .

  36. Does Freeciv violate any rights of the makers of Civilization I or II?

    There have been debates on this and the honest answer seems to be: we don't know.

    Freeciv doesn't contain any actual material from Civ I or II, so it doesn't infringe on copyright. The name 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 Civ I and Civ II. If the rules of a game are patentable, and those of Civ I or II are patented, then Freeciv may infringe on that patent.

    Incidentally, there are good reasons to assume that Freeciv doesn't harm the sales of any of the commercial Civilization games in any way.

  37. How do I wake up in the morning?

    We're open to suggestions on this one.

  38. Where can I ask questions or send improvements?

    Please send questions about the game, its installation, this FAQ, or the rest of this site to the freeciv@freeciv.org mailing list. Patches are welcomed on the freeciv-dev@freeciv.org list; bug reports at bugs@freeciv.org. The mailing lists are archived; see our mailinglists overview.


    There is a Freeciv newsgroup: alt.games.freeciv. It was created early 1999. Few Usenet servers carry it.

    If you have a question about Freeciv that isn't answered on this site, a better answer to a question that is already here, or another suggestion to improve this FAQ, please mail it to freeciv@freeciv.org and we'll include it.

    The mailing list archives are available online.

    Bug reports are best reported to the Freeciv bug tracking system, either by WWW form at http://www.freeciv.org/cgi-bin/bugs or by e-mail to bugs@freeciv.org.


www.civ.alkar.net