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 civclient(6)
This manual page only lists the command line arguments. For details of the directives necessary to configure civserver see the Server Manual which can be found at http://www.freeciv.org/ ⟨⟩ 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, "civserver -fp savegame.sav 5557" will not work, instead you would need to enter "civserver -f savegame.sav -p 5557". All 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, --auth
Enables server authentication and allows access to registered players only.
-b address, --bind address
Sets the address on which the server will listen for clients.
-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.
3 for fatal, error, normal, and verbose messages.
-e, --exit-on-end
When a game ends, exit instead of restarting.
-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. The distribution comes with such scenarios, typically stored in /usr/local/share/freeciv/scenario:
• british-isles-85x80-v2.80.sav
• earth-160x90-v2.sav
• earth-80x50-v2.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.
-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 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.
-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.
-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.
-P, --Ppm
Save map ppms to savegames.
-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 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, --Serverid id
Sets the server id.
-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.
-v, --version
Causes the server to display its version number and exit.
Examples
civserver --file oldgame.sav --port 2244
Starts a server on port 2244, loading the save game file oldgame.sav.
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.
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/game.ruleset
• default/governments.ruleset
• default/nations.ruleset
• default/techs.ruleset
• default/terrain.ruleset
• default/units.ruleset
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 data encoding (used for data files, savegames, and network strings).
FREECIV_INTERNAL_ENCODING
Sets the internal encoding (used for GUI strings).
FREECIV_LOCAL_ENCODING
Sets the local encoding (used for terminal output).
FREECIV_MULTICAST_GROUP
Sets the multicast group (for the LAN tab).
FREECIV_PATH
A colon separated list of directories pointing to the freeciv data directory. 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" in the user's home directory; and the directory where the files are placed by running "make install".
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.
More info
The Freeciv homepage is located at http://www.freeciv.org/ ⟨⟩ .
Updates and new info is first posted there.
Releases
7 releases since Debian 2.0 (Hamm); the text changed 4 times.
--Guests since Debian 5.0 (Lenny);
--Metaserver since Debian 3.1 (Sarge);
--Newusers since Debian 5.0 (Lenny);
--Ppm since Debian 5.0 (Lenny);
--Ranklog since Debian 5.0 (Lenny);
--Serverid since Debian 5.0 (Lenny);
--auth since Debian 5.0 (Lenny);
--bind since Debian 5.0 (Lenny);
--debug since Debian 3.1 (Sarge);
--exit-on-end since Debian 5.0 (Lenny);
--file since Debian 3.1 (Sarge);
--help since Debian 3.1 (Sarge);
--log since Debian 3.1 (Sarge);
--meta since Debian 3.1 (Sarge);
--port since Debian 3.1 (Sarge);
--quitidle since Debian 3.1 (Sarge);
--read since Debian 3.1 (Sarge);
--saves since Debian 5.0 (Lenny);
--version since Debian 3.1 (Sarge);
-G since Debian 5.0 (Lenny);
-M since Debian 3.1 (Sarge);
-N since Debian 5.0 (Lenny);
-P since Debian 5.0 (Lenny);
-R since Debian 5.0 (Lenny);
-S since Debian 5.0 (Lenny);
-a since Debian 5.0 (Lenny);
-b since Debian 5.0 (Lenny);
-d since Debian 3.1 (Sarge);
-e since Debian 5.0 (Lenny);
-f since Debian 3.1 (Sarge);
-h since Debian 3.1 (Sarge);
-l since Debian 3.1 (Sarge);
-m since Debian 3.1 (Sarge);
-p since Debian 3.1 (Sarge);
-q since Debian 3.1 (Sarge);
-r since Debian 3.1 (Sarge);
-s since Debian 5.0 (Lenny);
-v since Debian 3.1 (Sarge).
--gamelog until Debian 4.0 (Etch);
--info until Debian 4.0 (Etch);
-file until Debian 3.0 (Woody);
-g until Debian 4.0 (Etch);
-help until Debian 3.0 (Woody);
-i until Debian 4.0 (Etch);
-nometa until Debian 3.0 (Woody);
-port until Debian 3.0 (Woody);
-version until Debian 3.0 (Woody).