User Tools

Site Tools


Crossfire Client launch Options

The default Crossfire x11, gtk, gtk-v2 client recognizes the following parameters or arguments when it starts.

See also the manpage and the gdefaults configuration file.


Short: - Cache images for future use.

gdefaults Entry: cacheimages 1


Short: - Do not cache images (default action).

gdefaults Entry: cacheimages 0


Short: - Keep already cached images even if server has different ones.

X11 cfclient only.


Short: - Enables darkness code (default)

In length: Each of the three crossfire clients have their own map drawing code.
Variables are CONFIG_DARKNESS , the_map.cells[mx][my].have_darkness , the_map.cells[mx][my].darkness and CONFIG_FOGWAR .

  1. X11 cfclient: Function display_mapcell() in client/x11/x11.c
    • seems to do something …
  2. GTK-1 gcfclient: Function display_mapcell() in client/gtk/map.c just uses CONFIG_FOGWAR
    • and draws the_map.cells[mx][my].darkness anyway …
  3. GTK-2 gcfclient2: Functions opengl_gen_map() and opengl_light_space() in client/gtk-v2/src/opengl.c
    • are using it in a larger scale with code disabled by #if 0 .

Basically: Works (partly) for x11 cfclient and gtk2 gcfclient2 in -opengl mode, but does not do anything supplied to the gtk-1 gcfclient .
In -sdl mode, this commandline option will have no effect at all.

gdefaults Entry: darkness 1


Short: - Disables darkness code

gdefaults Entry: darkness 0


Short: -display <name> - Use <name> instead if DISPLAY environment variable.


Short: - Download all needed faces before play starts

gdefaults Entry: download_all_images 1


Short: - Echo the bound commands

gdefaults Entry: echo_bindings 1


Short: - Do not echo the bound commands (default)

gdefaults Entry: echo_bindings 0


Sort: -faceset <name> - Use faceset <name> if available
Names : classic | standard

gdefaults Entry: faceset

The X11 cfclient does not use <name> as argument, but <number> ( likely 0 and 1 for classic and standard ) .


Short: - Send data immediately to server, may increase bandwidth

gdefaults Entry: fasttcpsend 1


Short: - Disables fasttcpsend

gdefaults Entry: fasttcpsend 0


Short: - Enable fog of war code

gdefaults Entry: fog_of_war 1


Short: - Display this message.


Short: -iconscale % % - Set icon scale percentage

gdefaults Entry: iconscale


Short: -loglevel <val> - Set default logging level (0 is most verbose)
Description: The client has 5 logging levels as 0-4 . In opposite to the server
that has just 4 logging levels, they are less talk-active when set to a high value.
gdefaults Entry: No
Default : common/config.h /* Default logging level. */ #define MINLOGLEVEL 0
Defines: common/client.h , common/misc.c

typedef enum LogLevel {
} LogLevel;
static const char *const LogLevelTexts[] = {
    " DEBUG  ",
    "  INFO  ",
    "WARNING ",
    " ERROR  ",
    "UNKNOWN ",

Functions: common/misc.c

  • void LOG(LogLevel level, const char *origin, const char *format, …)
  • char *getLogText(const LogEntry *le)
  • char *getLogTextRaw(LogLevel level, const char *origin, const char *message)
  • static const char *getLogLevelText(LogLevel level)
    • return LogLevelTexts[level>LOG_CRITICAL?LOG_CRITICAL+1:level];


Short: -mapscale % % - Set map scale percentage.
Default: 100
Range: (float) 25 - 200
Syntax: -mapscale 70 | -mapscale 70%
gdefaults Entry: mapscale
Description: Make tiles, players, items on maps appear smaller or larger.
Useful to chose smaller percentages when using a large -mapsize .

Source Code files and functions :

  • gtk-v2/src/main.c
    • parse_args()
  • gtk-v2/src/config.c
    • setup_config_window()

gdefaults Entry: mapscale


Short: -mapsize xXy - Set the mapsize to be X by Y spaces.
gdefaults Entries: map_width , map_height
Default: gtk1: 11×11; gtk-2: old 15×15, new 25×25

For a new installation of the GTK-1 client without any configuration files, the default map size of 11×11 might lead to a slightly distorted GUI.
-mapsize 9×9 might be a better first impression without stat bars / resistances column overlapping the bottom of the map:

mapsize default mapsize 9 x 9
gcfclient_mapsize_default.jpg gcfclient_mapsize_9x9.jpg


Short: Enable mapscrolling by bitmap operations
Used only in SDL map display mode.
Clients that understand this option : x11 cfclient and gtk-1 gcfclient. The gtk-v2 client throws the -help message and exits.
Purpose: UNKNOWN

      /* Mark all tiles as "need_update" that are overlapped by a big face 
       * from outside the view area. */ 

Default : TRUE ( apparently )

Client Menu entry : UNKNOWN
Bugs : x11/x11.c: Fix display_mapscroll() to handle scrolling by greater than 1 tile at a time. Fixes bug #1564584.
Implemented : x11/x11.c: Implement map scrolling by using XCopyArea(). Add config options -mapscroll/-nomapscroll to enable/disable this. 2005-08-31

Defines: common/client.h

  • #define CONFIG_MAPSCROLL 29 /* Use bitmap operations for map scrolling */
  • #define CONFIG_NUMS 32 /* This should always be the last value in the list */

Functions :

  • init_client_vars in comon.init.c , calls want_config[CONFIG_MAPSCROLL] = TRUE;
  • display_mapscroll in gtk/map.c , returns either 0 or sdl_mapscroll, called by mapdata_scroll in common/mapdata.c
  • sdl_mapscroll in gtk/sdl.c , returns always '1' , called by display_mapscroll

gdefaults Entry: mapscroll 1


Short: Disable mapscrolling by bitmap operations

Function common/mapdata.c mapdata_scroll says: /* Emulate map scrolling by redrawing all tiles. */

gdefaults Entry:mapscroll 0


Short: - Auto repeat on directional keys is ignored.

X11 cfclient only.


Short: - Use opengl drawing code

gdefaults Entry: displaymode 2

Only available for the GTK-2 client.

Though the OpenGL drawing mode apparently works even without the GLX extension switched on for the XServer,
the older GTK-2 clients will crash at startup if the GLX extension would be not available:

# gcfclient2-1.10.0 -opengl
Xlib:  extension "GLX" missing on display ":0.0".
Segmentation fault

The newer GTK-2 clients will work still, if the necessary libraries , and are available on the system:

# crossfire-client-gtk2-1.70.0 -opengl
[  INFO  ] (gtk-v2::init_glx_opengl) Direct rendering is not available!
[  INFO  ] (gtk-v2::opengl_common) Maximum texture size is 2048
[  INFO  ] (gtk-v2::init_image_cache_data) Init Image Cache

When OpenGL had not been available at client compiling time, then the client will fall back to Pixmap mode, and prints to stderr

# crossfire-client-gtk2-1.70.0 -opengl
[WARNING ] (main.c::init_windows) client not compiled with opengl support.  Ignoring -opengl


Short: - Use pixmap drawing code

gdefaults Entry: displaymode 0

Only available for the GTK-2 client.


Short: - Use pop up windows for input (default)
Result: Many messages, that normally occur in the info message pane, now are shown in separate popping up windows; like book entries and the login.
Reality: The -help message claims, that popup would be the default, but that is apparently not true.
The default is set to 0 inside the source code
in function init_client_vars() in file common/init.c as variable want_config[CONFIG_POPUPS] = FALSE; since version 1.10.0 .
See also ChangeLog entry : Popups not the default anymore

gdefaults Entry: popups 1

The GTK-v1 gcfclient when configured to partly use GTK-2 features by the -–enable-cfgtk2 configure option, had a bug in the 1.9.1, 1.10.0 and 1.11.0 versions, that made new players impossible to log-on to a crossfire server , because a log-in required the popup-login-GUI to function.

See also


Short: - Don't use pop up windows for input

gdefaults Entry: popups 0


Short: -port <number> - Use port <number> instead of the standard port number

gdefaults Entry: port 13327


Short: -pngfile <name> - Use <name> for source of images

X11 cfclient only.


Short: -resists <val> - Control look of resistances.

gdefaults Entry: resistances

GTK-1 client gcfclient only.


Short: -scrolllines <number> - number of lines for scrollback
Default: #define INFOLINES 36 in client/x11/x11.c

X11 cfclient only.
This default value of 36 is much too small when identifying many books at once.


Short: - Use sdl for drawing png (may not work on all hardware

gdefaults Entry: displaymode 1


Short: -server <name> - Connect to <name> instead of localhost.

gdefaults Entry: server


Short: - Print status icons in inventory window

gdefaults Entry: showicon 1


Short: - Enable smooth

gdefaults Entry: smoothing 1

If one likes it … Wolfsburg harbour quays and Stoneville north-east …
smooth-dmode0-wolfsburg_beach.jpg smooth_stoneville_countryside2.jpg


Short: - Disable smooth

gdefaults Entry: smoothing 0


Short: - Enable sound output (default).
Description: The crossfiire client uses an external sound server binary,
launched through the init_sounds() function.
The sound serer is the only external program launched by the client.
The code is in the function raiseChild() found in client/common/misc.c .
The LOG function prints to standard error :

[ INFO ] (common::raiseChild) Raising /usr/local/bin/cfsndserv with flags 7

gdefaults Entry: sound 1


Short: - Disable sound output.
Description: The client uses an external soundserver binary, usually the cfsndserv . This sound server gets raised by the function init_sounds() in the source file client/gtk-v2/src/sound.c .
The function would return early if if (!want_config[CONFIG_SOUND]) return -1; .

Comment in the source code :

    /* Easy trick - global nosound is set in the arg processing - if set, just
     * return -1 - this way, the calling function only needs to check the value
     * of init_sounds, and not worry about checking nosound.

Benefits: The cfsndserv binary blocks the audio device for other users.
It is therefore likely desirable to disable the usage of that child process,
when there are other sound programs running in parallel.

gdefaults Entry: sound 0


Short: -sound_server <path> - Executable to use to play sounds.

gdefaults Entry: sound_server


Short: - Display the splash screen (startup logo) (default)

gdefaults Entry: nosplash 0


Short: - Don't display the splash screen

gdefaults Entry: nosplash 1


Short: - Use split windows.

gdefaults Entry: split


Short: - Use two information windows, segregated by information type.

gdefaults Entry: splitinfo


Short: - Synchronize on display

X11 cfclient only.


Short: - Print out timing information for map generation


Short: - Trims size of information window(s)


Short: - Do not trims size of information window(s) (default)


Short: - Update the saved bindings for this keyboard.

client/optional_parameters.txt · Last modified: 2018/04/17 21:39 by karl