The client can be customized in many ways to reflect your tastes for its user interface. The game system, rules, units, and such are not controlled by the client and are beyond customization at the client level; they are defined by the server. But many issues dealing with graphics features can be changed.
The graphics used for Freeciv are defined in XPM (X Pixmap) files in the distribution; there are separate files for terrain squares, units, roads, the small symbols used on various windows, and the spaceship elements. The default tilesets are a set of 45x45 tiles by Ralf Engels. Other tilesets exist which are different both in style and in size; many people prefer using 30x30 tiles to fit more of the map on the screen (17 across and 11 high).
The Freeciv distribution comes with one alternate tileset, a 30x30 tileset, which was the standard tileset in Freeciv 1.7.2. By default, it is stored in the directory /usr/local/share/freeciv/classic, so you may use it with the -tiles classic option added to your invocation of the client. Additional popular tilesets have been contributed to the Freeciv effort, and can be found in ftp.freeciv.org/pub/freeciv/contrib/tiles. You would typically download and unpack them into a new directory in /usr/local/share/freeciv for general use.
A great many features of the Xaw client are defined as X resources, and as such may be
set by you; this is not presently the case with the Gtk client.
Typically, you would add such definitions to your .Xdefaults file, or
whatever file you use to customize your X environment.
All Xaw client Freeciv resources start with the name Freeciv, so to
change your customary player name (as shown in the table below), you would add
All Xaw client command line options are available with either one or two hyphens before the name (that is, -name and --name yield the same effect). The Gtk client requires two hyphens. All but two of the command line options are also X resources (for the Xaw client only). The two exceptions are -help (which lists the command line options) and -version (which displays the Freeciv client version).
X Resource | Command line | Results |
log | -log | Defines the name of a log file to be produced as the client operates. The amount of information logged is controlled by the debug resource. |
name | -name | The player name you wish to use; this is copied into the Connect Window for you. |
server | -server | The Internet address (e.g., 11.22.33.44) or name (e.g., myhost.mynet.net) at which the Freeciv server is to be found; this is copied into the Connect Window. |
port | -port | The port number on the server system at which the Freeciv server is to be found; this is copied into the Connect Window. |
debug | -debug | Sets the level of debugging information logged, a number from 0 to 2. Zero logs fatal errors; 1 additionally logs warning errors; 2 additionally logs normal debugging messages. |
tileset | Provides the directory name of an alternate tileset to be used for graphics. This should be a name relative to the base of the Freeciv data area, by default /usr/local/share/freeciv. |
Those are the X resources which a typical user might wish to modify. The Xaw client, however, uses the X resource system to control vast amounts of the user interface's presentation, such as the color of every field, the ways in which the fields of a window are linked together, and the words on each button. You can find the default settings for all of these resources in the file /usr/local/share/freeciv/Freeciv. If you wished to, for instance, you could change the "Turn Done" button with the line
The client depends on certain files to initialize itself. The standard distribution places these files in /usr/local/share/freeciv, and the code is compiled to use that directory. The files used from the Freeciv directory are:
The environment variable FREECIV_DATADIR, if specified, gives the full path of an alternate directory.
The environment variable HOME is used to find the user's home directory. The file .civclientrc is ready from and written to in that directory.