NAME¶
freeciv-server - The server for the Freeciv game
SYNOPSIS¶
freeciv-server [ -A|--Announce protocol ] [ -b|--bind address ]
[ -B|--Bind-meta address ] [ -d|--debug level_number ] [
-e|--exit-on-end ] [ -F|--Fatal [ signal_number ] ] [ -f|--file
filename ] [ -h|--help ] [ -i|--identity address ] [ -k|--keep ]
[ -l|--log filename ] [ -M|--Metaserver address ] [ -m|--meta ]
[ -p|--port port ] [ -q|--quitidle time ] [ -R|--Ranklog
filename ] [ -r|--read filename ] [ -S|--Serverid id ] [
-s|--saves directory ] [ --scenarios directory ] [ -v|--version
]
Auth aware servers have additional parameters:
[ -a|--auth ] [ -D|--Database
file ] [ -G|--Guests ] [ -N|--Newusers ]
Servers with AI module support have an additional parameter:
[ -L|--LoadAI
module ]
DESCRIPTION¶
Freeciv is a free turn-based multiplayer strategy game, in which each player
becomes the leader of a civilization, fighting to obtain the ultimate goal: To
become the greatest civilization.
Players of Civilization II® by Microprose® should feel at home,
since one aim of Freeciv is to have compatible rules.
Freeciv is maintained by an international team of coders and enthusiasts, and is
easily one of the most fun and addictive network games out there!
This is the server program used to establish a Freeciv server - see also
freeciv-client(6) .
This manual page only lists the command line arguments. For details of the
directives necessary to configure
freeciv-server see the Server Manual
which can be found at
the Freeciv
website as well as the documentation which is part of the Freeciv
distribution.
OPTIONS¶
The following options are accepted on the command line of the server. They may
not be combined; that is, "freeciv-server -fp savegame.sav 5557"
will not work, instead you would need to enter "freeciv-server -f
savegame.sav -p 5557". Most options have a short form (single hyphen and
single letter) and a long form (double hyphen and a complete word); their
effects are identical.
- -A protocol, --Announce protocol
- Uses protocol when announcing game in LAN. Possible values for
protocol are:
IPv4
IPv6
none
- -a, --auth
- Enables server authentication and allows access to registered players
only. Requires the --Database option to be specified.
- -b address, --bind address
- Sets the address on which the server will listen for clients.
- -B address, --Bind-meta address
- Sets the address which request to metaserver are sent from.
Defaults to address given by -b option.
- -d level_number, --debug level_number
- Sets the amount of debugging information to be logged in the file named by
the -l option. Acceptable values for the level_number are:
0 for fatal messages only.
1 for fatal and error messages.
2 for fatal, error and normal messages (default).
3 for fatal, error, normal, and verbose messages.
- -D filename, --Database filename
- Specifies a database configuration file for authentication. This file
specifies the details of the database. See README.fcdb in the Freeciv
distribution for details of its format.
- -e, --exit-on-end
- When a game ends, exit instead of restarting.
- -F [ signal_number ], --Fatal [ signal_number ]
- Raise a custom signal on failed assertion. If signal_number is not
specified, then the ABRT signal will be used.
- -f filename, --file filename
- Loads a saved game (filename) into the server before
initialization, instead of starting a new game. This is for reloading
saved games, or for loading scenarios. See ENVIRONMENT for where
the server looks for these files.
The distribution comes with several scenarios, typically stored in
/usr/local/share/freeciv/scenarios, for example:
- • british-isles-85x80-v2.80.sav
• earth-160x90-v2.sav
• earth-80x50-v3.sav
• europe-200x100-v2.sav
• hagworld-120x60-v1.2.sav
• iberian-peninsula-136x100-v1.0.sav
- -G, --Guests
- Allow guests to login as 'guest' when authentication is enabled.
- -h, --help
- Prints out a description of the command line options and exits.
- -i address, --identity address
- Reports the address to the metaserver. Then, the metaserver will
use this address to redirect the users.
- -L module, --LoadAI module
- Loads AI module. This option can appear multiple times to load different
modules.
- -l filename, --log filename
- Defines a log file, filename, to be produced during processing. Use
the -d option to set how much is logged. By default, fatal, error,
and normal messages are printed to standard output. With a log file, such
messages go to the log instead.
- -M address, --Metaserver address
- Specifies the address of the metaserver to send your server's
information to. By default, the standard metaserver run by the Freeciv
maintainers will be used.
- -m, --meta
- Directs the server to communicate with a metaserver, a place where Freeciv
servers can publish their presence. Freeciv clients consult the metaserver
to offer users a selection of games to join. By default the standard
Freeciv metaserver is used. You may specify an alternate metaserver with
the -M option.
- -k, --keep
- Usually freeciv server stops sending updates to the metaserver, when
there's problems on the connection once. With this option it keeps on
trying to send further updates even after it has failed to send updated
status once. This option implies -m option.
- -N, --Newusers
- Allow new users to login and be registered in the players base if
authentication is enabled.
- -p port, --port port
- Specifies the TCP port number to which clients will connect;
players must know this number to be able to connect if they are not to use
the default of 5556 decimal. You may need to use this if 5556 is not
available for your use on your system, or if you would like to run
multiple servers on the same system.
- -q time, --quitidle time
- Quits if no players are present for the specified time, in seconds,
and restarts a new server.
- -R filename, --Ranklog filename
- Defines a log file, filename, to be produced during processing.
This log contains information for player ranking.
- -r filename, --read filename
- Specifies a file, filename, of server commands which the server
will automatically read and process, as if you had typed them in at the
server's prompt. The distribution comes with a few examples, including
files that set options to be similar to Civilization I® and
Civilization II® . The files are named civ1.serv and
civ2.serv, and are typically found at
/usr/local/share/freeciv/.
- -S id, --Serverid id
- Sets the server id. This is used to identify a particular running
game.
- -s directory, --saves directory
- Specifies the directory to place save game files created by the
server. This is especially useful when you're running more than one server
on the same system, as it inhibits your servers from clobbering other's
save game files.
(This does not influence where the server looks when loading save game
files; see FREECIV_SAVE_PATH for that.)
- --scenarios directory
- Specifies the directory to place scenarios saved by the server (for
instance, those created with the in-game editor).
(This does not influence where the server looks when loading scenario files;
see FREECIV_SCENARIO_PATH for that.)
- -v, --version
- Causes the server to display its version number and exit.
EXAMPLES¶
- freeciv-server --file oldgame.sav --port 2244
- Starts a server on port 2244, loading the save game file
oldgame.sav.
- freeciv-server -R ranklog -l logfile -r script -f oldgame.sav.gz -p
2244
- Starts a server on port 2244, loading the save game file
oldgame.sav.gz. Ranking related events are written to
ranklog, other logging information is written to logfile.
When the server starts, it immediately executes the commands contained in
script.
- freeciv-server -m -a -D fc_auth.conf -q 60 -p 2244 -d 2 -l logfile -r
script -s ~/saves
- Starts a server on port 2244 with authentication enabled and
communicates its existence to the standard Freeciv metaserver. Fatal,
error, and normal messages are written to logfile. When the server
starts it immediately executes the commands contained in script.
Save game files are stored in the ~/saves directory. When there are
no users on the server for 60 seconds, the server will
restart.
COMMANDS¶
You may enter commands into the server at any time, either before or during the
running of a game.
Type "help" or "help help" for starters.
FILES¶
The Freeciv server requires the following files in the Freeciv data directory,
which is
/usr/local/share/freeciv by default:
•
default/buildings.ruleset
•
default/cities.ruleset
•
default/effects.ruleset
•
default/game.ruleset
•
default/governments.ruleset
•
default/nations.ruleset
•
default/techs.ruleset
•
default/terrain.ruleset
•
default/units.ruleset
•
default/default.lua
•
default/script.lua
These are the default rule sets used for the game. Alternate sets of rules can
be used by placing them in a separate directory and using the
rulesetdir command to change your server's ruleset directory.
Type
help rulesetdir for more information.
ENVIRONMENT¶
The Freeciv server accepts these environment variables:
- FREECIV_CAPS
- A string containing a list of "capabilities" provided by the
server. The compiled-in default should be correct for most purposes, but
if you are familiar with the capability facility in the source you may use
it to enforce some constraints between clients and server.
- FREECIV_COMPRESSION_LEVEL
- Sets the compression level for network traffic.
- FREECIV_DATA_ENCODING
- Sets the character encoding used for data files, savegames, and network
strings). This should not normally be changed from the default of UTF-8,
since that is the format of the supplied rulesets and the standard network
protocol.
- FREECIV_INTERNAL_ENCODING
- Sets the character encoding used internally by freeciv-server; this
encoding should not be visible at any interface. Defaults to UTF-8.
- FREECIV_LOCAL_ENCODING
- Sets the local character encoding (used for the command line and terminal
output). The default is inferred from other aspects of the
environment.
- FREECIV_MULTICAST_GROUP
- Sets the multicast group (for the LAN tab).
- FREECIV_DATA_PATH
- A colon separated list of directories pointing to the freeciv data
directories. By default Freeciv looks in the following directories, in
order, for any data files: the current directory; the "data"
subdirectory of the current directory; the subdirectory
".freeciv/2.5" in the user's home directory; and the directory
where the files are placed by running "make install". If not
set, FREECIV_PATH is checked before these defaults are used.
- FREECIV_SAVE_PATH
- A colon separated list of directories pointing to the freeciv save
directories. By default Freeciv looks in the following directories, in
order, for save files: the current directory; and the subdirectory
".freeciv/saves" in the user's home directory. If not set,
FREECIV_PATH is checked before these defaults are used; in this
case Freeciv also looks in "saves" potential subdirectories.
(This does not affect where the server creates save game files; see the
--saves option for that.)
- FREECIV_SCENARIO_PATH
- A colon separated list of directories pointing to the freeciv
scenario directories. By default Freeciv looks in the following
directories, in order, for scenario files: the current directory; the
"data/scenarios" subdirectory of the current directory; the
subdirectories ".freeciv/2.5/scenarios" and then
".freeciv/scenarios" in the user's home directory; and the
directory where the files are placed by running "make install".
If not set, FREECIV_PATH is checked before these defaults are used;
in this case Freeciv also looks in "scenario" and
"scenarios" potential subdirectories.
(This does not affect where the server creates scenario files; see the
--scenarios option for that.)
- FREECIV_PATH
- A colon separated list of directories to look for various files. This
variable has no effect if FREECIV_DATA_PATH,
FREECIV_SAVE_PATH and FREECIV_SCENARIO_PATH are defined
together; those variables are the recommended way to override paths, with
FREECIV_PATH provided for backward compatibility with older
versions of Freeciv. The precise search path depends on the type of file
being searched for.
- HOME
- Specifies the user's home directory.
- http_proxy
- Set this variable accordingly when using a proxy.
- LANG or LANGUAGE
- Sets the language and locale on some platforms.
- LC_ALL or LC_CTYPE
- Similar to LANG (see documentation for your system).
- USER
- Specifies the username of the current user.
BUGS¶
Please report bugs to
the Freeciv
bug tracker .
MORE INFO¶
See the
Freeciv
homepage .
Updates and new info is first posted there.
AUTHORS¶
The Freeciv Team <freeciv-dev AT gna.org>.
This manpage was originally put together by Florian Ernst <florian_ernst AT
gmx.net> using the Server Manual and the comments in the sourcecode. It was
updated by Ben Bettin <bwbettin AT gmail.com> to add new features,
integrate information from the website's online documentation, and for slight
formatting adjustments. Feel free to use it as you wish.
SEE ALSO¶
freeciv-client(6) and the Server Manual on the Freeciv homepage.