NAME
crossfire-client-gtk2 - second generation GTK client for Crossfire
servers.
SYNOPSIS
crossfire-client-gtk2 [-cache|-nocache] [-darkness|-nodarkness]
[-display display] [-download-all-faces] [-echo|-noecho] [-faceset
name] [-fasttcpsend|-nofasttcpsend] [-fog] [-help] [-iconscale
percentage] [-loglevel level] [-mapscale percentage] [-mapsize xXy]
[-opengl|-pixmap|-sdl] [-port number] [-server name] [-showicon]
[-smooth|-nosmooth] [-sound|-nosound] [-sound_server executable]
[-splash|-nosplash] [-resists value] [-split] [-splitinfo]
[-timemapredraw] [-triminfowindow|-notriminfowindow] [-updatekeycodes]
[-window_xml path] [-dialog_xml path]
DESCRIPTION
crossfire-client-gtk2 is a GTK program for connecting to Crossfire
servers. Crossfire is a multiplayer graphical adventure game that
mixes aspects of Gauntlet (TM), Nethack, Moria, and Ultima (TM).
This man page describes options for the second generation gtk client
(crossfire-client-gtk2) for the Crossfire game server. There are many
other clients, and each is unique. This documentation is not intended
to cover them.
OPTIONS
-cache|-nocache
Determines if the client will cache images for future runs.
With -nocache, when the server is about to reference an image
that the client has yet to receive, it sends that image along to
the client. These downloaded images are discarded once the
client exists. With -cache, the server sends information about
the image it is about to reference. The client can then check
its local cache (stored in ~/.crossfire/image-cache) - if it has
the image, it creates it off the disk. If it does not have it,
it requests it from the server and then stores it in its cache.
In the brief time between the request of the image and it
actually receives it, that image will be represented by a ? in
the map.
-cache option is strongly recommended anytime when your link to
the server is slower than home directory access - this is likely
to be the case except in case of NFS mounted home directories on
the server on the local LAN.
-darkness|-nodarkness
Controls whether the server sends darkness information to the
client or not. Turning off darkness results in a savings off
bandwidth for maps that use darkness code (currently, very few
maps use darkness code). Turning off darkness may also be
desirable as in some graphics mode the quality of darkness may
not add much to the map.
-display <display>
The display to open the windows on. If this option is not
given, it will use the DISPLAY environmental variable to
determine the display.
-download_all_faces
The client will get all the checksums from the server, and
download any images necessary before starting play. This saves
a small amount of bandwidth, but more importantly reduces
possible latency during important play when it may not be
desirable.
-echo|-noecho
Echo commands as they are entered. Normally, commands bound to
keys are just sent to the server without any echoing on the
client of what that command actually was. This option causes
the commands to also be printed in the information window as
they are sent to the server.
-faceset <name>
Uses faceset <name> if available on the server. What facesets
are available on each server may differ. The client will
request the information about the different facesets available
on the server, and try to find the one that matches best. The
default is the standard set. At current time (March 2002), the
only one typically available is the classic set.
-fasttcpsend|-nofasttcpsend
Send or do not send data immediately to the server. This
setting may decrease latency if set at the expense of greater
outgoing bandwidth use.
-fog Enables fog of war code. In this mode, spaces which have been
seen before but are no longer visible will still be shown on the
game window half darkened. The data in these spaces is not up
to date since it is currently out of site. This has no effect
on bandwidth, but may consume more CPU time.
-help Prints out a brief description of the options to standard
output.
-iconscale percentage
Causes the images for the inventory icons to be scaled some
percentage value. Minimum value is 25%. Setting this to 50% is
very useful - doubles amount of data visible in the inventory
window.
-loglevel level
Set default logging level with 0 being most verbose.
-mapscale percentage
Causes the images for the map surface (-mapscale) to be scaled
some percentage value. Minimum value is 25%. This value does
not need to be the same as the iconscale value. Scaling down
the size of the map images can be useful when playing on low
resolution screens. Smaller images will also consume less CPU
as there will be less information to draw.
-mapsize XxY
Sets the desired viewable map window. X and Y are number of
tiles. Note that larger map sizes are likely to consume more
bandwidth, CPU time, as well as just screen real estate.
The maximum map size may vary server to server. The client will
try to negotiate the largest viewable map in each dimension.
Note that there is no requirement that the viewable map be
square.
Due to performance issues, it is strongly suggested that
experimentation is done with this value to find a size that gets
acceptable performance n(simple test - go to the start town, run
in some direction, stop running and see how long it takes before
the client stops moving you).
-opengl | -pixmap | -sdl
The graphics drawing mode to use. The -opengl and -sdl options
may only be used of the client was compiled with support for
those mode. Generally, -opengl provides the best quality,
followed by -sdl, and then -pixmap.
-sdl Using this option allows for more complex graphics - true
alpha channel, improved darkness handling. Performance may be
worse when using this option - this depends on many factors.
Like the mapsize option above, it is suggested the
experimentation is done to make performance is still acceptable.
This option does not affect bandwidth - it only affects CPU
performance.
-port number
The port number of the server to connect to. By default, it
will use port 13327 (standard port). However, certain servers
may use other ports.
-resists value
Control look of resistances.
-server name
Sets the server to play on. If no option is given, it will
default to localhost.
-showicon
This shows a little icon next to items in your inventory that
contains a brief description of some of the item properties
(magic, cursed, equipped, etc.) This can make spotting some
items easier, but some players may not like the extra space
these icons take up or the
-smooth | -nosmooth
This option causes map tile edges to be blended together so that
the map has a less artificially tiled appearance. Use of this
option incurs greater CPU and bandwidth usage.
-sound|-nosound
Enable/Disables sound effects. Disabling sound has a minor
savings on bandwidth. It is most useful if you do not want
sound, due to lack of hardware or lack of desire for sound.
Default is sound enabled.
-sound_server <executable>
This is the name of the sound server process to execute. If the
path starts with a slash, this is the absolute path to the
executable. Otherwise, the value of BINDIR (install location of
client executable) will be prepended. This defaults to
cfsndserv. Changing this value may be necessary if the default
sound daemon does not work as expected.
Note that the input that the executable takes is special,
requiring an executable especially designed for crossfire to
work. You can not point generic sound playing programs and
expect it to work.
-splash|-nosplash
Enable/Disables splash screen. When enabled, a window with a
Crossfire logo is displayed while the client is starting up.
Default is the splash screen is enabled.
-split|-nosplit
-split starts the windows up in split windows mode. In split
windows mode, 6 separate windows are created - these individual
windows can then be moved around and resized as desired.
-nosplit starts the game up with a single window - this is the
default. The option is useful if your saved defaults are set
for -split (see Saved Defaults further down).
-splitinfo
This splits the information pane window into two sub windows.
One contains all the attack messages and otherwise fairly
mundane information, and the other contains important messages,
like changes in protection values, levels, etc.
-timemapredraw
Prints out debugging time information to stderr. This timing
information can be useful when trying to find performance
problems, or just how different client options change the time
it takes for the map to get drawn, which is the biggest CPU
consumer in the client.
-triminfowindow | -notriminfowindw
Causes the information window to get ’trimmed’, eg, remove text
so that the total contents of the information window remains
roughly the same size (20,000 bytes or so). As of 2001-11-03,
using this option resulted in client periodically crashing. The
problem appears to be within gtk, so using this is not
encouraged. However, the problems in gtk may get fixed, or this
may be more reliable on other platforms so is included.
-updatekeycodes
The standard behaviour when a player uses the bind command to
bind new actions is that they keycode is saved with that
binding. Keycodes are specific to keyboards - a sun keyboard
will generate a different keycode compared to a PC style
keyboard. In most cases, it is not always desirable to have the
keycodes get updated, as this may make some bindings
unavailable. Using this option will force custom keybindings to
get updated for the current keyboard when the client is run.
-window_xml window_layout
This client is uses libglade to allow the main client window to
be customized. This option is used to specify how the main game
window looks. Various layout options are usually supplied with
the client. The default window layout is gtk-v2.glade.
-dialog_xml window_layout
This client is uses libglade to allow the various client dialogs
to be customized. This option is used to specify the appearance
of the various dialog used by the client. Presently there are
no alternate dialog layouts supplied with the client. The
default dialog layout setting is dialogs.glade.
SAVED DEFAULTS
Once you have logged onto a server, you may enter extended commands by
typing ’ (apostrophe) followed by the extended commands. One of these
extended commands is savedefaults. This command saves many of the
options listed above. Note that the saved defaults are read first, so
using the command line switches can be used to override settings in the
gdefaults2 file.
The settings are saved into ~/.crossfire/gdefaults2.
You can enter savewinpos as an extended command. By default, this
saves the current window positions and sizes to the file
~/.crossfire/gtk-v2.pos. The actual file name is based on the name of
the window layout file (see the -window_xml option). So, for example,
if -window_xml caelestis.glade is used, window positions are actually
saved to ~/.crossfire/caelestis.pos. Next time you run the client,
with this window layout selected, it will restore the window layout as
specified.
PLAYING WITH THE CLIENT
This is by far a complete tutorial of gameplay. This section is to
provide a basic introduction to logging in and doing a few very basic
actions.
The first thing to do after the client successfully connects to a
server is to enter a character name. There are some restrictions to
the name you can choose, but alphanumeric characters are all safe.
After entering the name, you will then be prompted for a password. If
creating a new character, enter whatever you want your password to be.
If you get a ’login incorrect’ someone else already has that character
name with a different password - try another name. If no one has used
that name, you will be prompted for the password again to confirm it.
You now start the character creation process. It is beyond the scope
of the document to fully describe the pros and cons of different stats
and classes. The creation process has different options for swapping
stats and choosing a class.
Once you have chosen your class, you will find yourself in a nexus that
allows you to select a map on which to start playing. The best place
to start is directly above you as it contains a miniature map that is
designed to be a tutorial on the basics of playing Crossfire. More
experienced players may elect to skip this training map and may start
playing in either Scorn or Navar. Navar is only recommended for
experienced players.
The arrow keys will move you in the various directions.
If starting in Scorn, there will be a red building almost directly
above you - this is the inn where you save your character. There are
some signs to your right. To read them, move on top of them and press
the ’a’ key. This applies the object below you - in the case of signs,
it reads it. In the case of buildings, it will cause you to enter the
building.
To the left of the signs are two small buildings - these are more
beginner dungeons. Enter them, and follow the directions on the signs.
They provide another pretty good tutorial on some of the basic actions
and features of the game.
To enter extended commands, type the ’ (apostrophe) followed by the
command. An example would be ’help (apostrophe followed by the help
command). Enter command to execute the command.
USEFUL EXTENDED COMMANDS
savewinpos savedefaults
These commands were described in the SAVED DEFAULTS options
above.
scroll This toggles whether or the information windows scrolls when it
gets to the bottom of the window or wraps to the top. Wrapping
is slightly less CPU intensive, but is generally harder to read.
bind unbind
bind is used to add new keybindings. Do you want to be able to
press one key to cast a fireball? This is what the bind command
does. ´help bind gives much more detailed information. Once a
command is bound, it is stored in ~/.crossfire/keys and will be
used in future plays.
scroll crossfire-client-x11 only. Toggles between scroll and wrap mode.
In wrap mode, when text gets to the bottom of the message
window, it starts new messages at the top. Scroll is only
really useful on very slow systems where the performance hit of
scrolling the window is too costly.
magicmap
Displays the data from the last time the magic mapping spell was
cast. This information can be completely useless if you are now
on another map.
cwindow <number>
Specifies the number of unprocessed commands to the server. The
server processes player commands as the character has actions to
perform them - having this number too high can result in
extended lengths of time that after you stop entering commands
the character is still performing actions. Having this value
too low on slow links can result in the character sitting idle
even though they have an action coming to them.
FILES
~/.crossfire
This is a directory that is created that is used to store
various files.
~/.crossfire/gdefaults2
This contains default settings. This file can in theory be
edited by hand - just be careful to keep the same case and
whitespace.
~/.crossfire/image-cache
This directory is used for the image cache if -cache is being
used.
~/.crossfire/keys
This contains keybindings you have edited. This file can also
be theoretically edited - changing existing entries is much
safer than trying to figure out the syntax for new entries.
~/.crossfire/*.pos
Window layout positions and sizes to use. The actual file name
is based upon the name of the window layout file in use
(-window_xml). The file may be edited by hand.
Please let the maintainers know about any bugs found in the client.
AUTHOR
Copyright (C) 2008 Mark Wedel & Crossfire Development Team GTK port by
David Sundqvist (azzie@netpolicy.com) SDL support added by Scott
MacFiggen (smurf@CSUA.Berkeley.EDU) LibGlade port by Kevin Bulgrien
(kbulgrien@att.net)
There are a great many other contributors to both the client and server
that are not mentioned here.
crossfire-client-gtk2()