home *** CD-ROM | disk | FTP | other *** search
- =========================
- Freeciv 1.9 documentation
- =========================
-
- Welcome to Freeciv!
-
- This archive contains Freeciv version 1.9, a free Civilization clone
- for X, primarily under Unix. It has support for multiplayer games
- locally or over a network, and an AI which gives most people a run for
- their money.
-
- Freeciv aims to be mostly rule-compatible with Civilization II[tm],
- published by Sid Meier and Microprose[tm]. A few rules are different
- where we think it makes more sense, and we have lots and lots of
- adjustable parameters to make customizing games possible.
-
- Freeciv has been implemented completely independently of Civilization;
- you do not need to own Civilization to play Freeciv.
-
- Although the graphics are not as polished as those in Civilization II,
- the rules are very complete, and our multiplayer and networking code is
- excellent.
-
- Web site:
- =========
-
- Freeciv's web site is here:
-
- http://www.freeciv.org/
-
- We invite you to visit. You can get the latest Freeciv news, releases
- and patches, find out about the Freeciv mailing lists, and see the
- Freeciv metaserver, which records games being played around the world.
-
-
- License:
- ========
-
- Freeciv is released under the GNU General Public Licence. In short,
- you may copy this program (including source) freely, but see the
- COPYING file for full details.
-
-
- Compiling and installing:
- =========================
-
- Please read the INSTALL file carefully for instructions on how to get
- Freeciv compiled and installed on your machine.
-
-
- Starting a new game:
- ===================
-
- Freeciv is actually two programs, a server and a client. When a game
- is in progress, there will be one server program running, and as many
- client programs as there are human players. The server does not need
- X, but the clients do.
-
- NOTE:
-
- The following examples assume that Freeciv has been installed on
- your system, and that the directory containing the "civclient" and
- "civserver" programs is in your PATH. If Freeciv is not
- installed, then you may want to use the "civ" and "ser" programs,
- which can be found in the top Freeciv directory. They are used
- in exactly the same fashion as "civclient" and "civserver".
-
- Running Freeciv involves starting the server, then the client(s)
- and AI(s), then telling the server to start the game. Here are the
- steps:
-
- Server:
-
- To start the server:
-
- % civserver
-
- Or for a list of command-line options:
-
- % civserver --help
-
- Once the server is started, a prompt will appear:
-
- Get a list of the available commands with 'help'.
- >
-
- and, you can see that list by using the help command:
-
- > help
- Available commands: (P=player, M=message, F=file, L=level, T=topic, O=option)
- -----------------------------------------------------------------------------
- ai P - toggles AI on player
- cmdlevel - see current command levels
- cmdlevel L - sets command access level to L for all players
- cmdlevel L new - sets command access level to L for new connections
- cmdlevel L P - sets command access level to L for player P
- create P - creates an AI player
- cut P - cut connection to player
- easy - All AI players will be easy
- easy P - AI player will be easy
- explain - help on server options
- explain T - help on a particular server option
- hard - All AI players will be hard
- hard P - AI player will be hard
- help - this help text
- list - list players
- meta M - Set meta-server infoline to M
- metaserver A - Game are reported to address A
- nometa - Close connection to the metaserver
- normal - All AI players will be normal
- normal P - AI player will be normal
- quit - quit game and shutdown server
- remove P - fully remove player from game
- save F - save game as file F
- score - show current score
- set - set options
- show - list current server options
- show O - list current value of server option O
- start - start game
- Abbreviations are allowed.
- >
-
- If you like, you can use the 'set' command to set any of the various
- server options for the game. You can get a list of the options
- with the 'show' command, and explanations with the 'explain' command.
-
- For example:
-
- > explain xsize
- Option: xsize
- Description: Map width in squares.
- Status: changeable
- Value: 80, Minimum: 40, Default: 80, Maximum: 200
-
- > set xsize 100
- > set ysize 80
-
- This will make the map twice as large as the default of 80x50.
-
- Client:
-
- Now all the human players should join, by running the Freeciv
- client:
-
- % civclient
-
- This assumes the server is running on the same machine. If not, you
- can either specify it on the command use with the '--server' option,
- or enter it into the first dialog box once the client starts.
-
- For example, suppose the server is running on a different machine
- called 'neptune'. Then players would join with a command like:
-
- % civclient --server neptune
-
- If you're the only human player, then only one client needs to be
- started. In standard Unix fashion you can start the client
- "in the background" by appending an ampersand:
-
- % civclient &
-
- Another option for the client you may like to try is the '--tiles'
- option, which can be used to select different "tilesets" (that is,
- different graphics for the map terrain, units, and so on). The
- distribution comes with two tilesets, called "trident" and "engels".
- In this release the trident tileset is the default (in some previous
- releases the engels tileset was the default). The two tilesets have
- quite different graphic style, so you may find you prefer one over
- the other. The trident tiles are smaller, so may be better if you
- have a small display. But try them both and decide for yourself --
- to use the engels tileset start the client with:
-
- % civclient --tiles engels
-
- Other tilesets may be available from the ftp site.
-
- Clients can be authorized to issue server commands. To allow them
- to use informational commands only, type at the server prompt
-
- > cmdlevel info
-
- Clients can now use '/help', '/list', '/show settlers', etc.
-
- Computer Players:
-
- There are two ways to create AI players. The first is to set
- the number of players (human and AI) by setting the 'aifill'
- server option. For example:
-
- > set aifill 7
-
- After using the 'start' server command to start the game, any players
- which aren't controlled by humans will be AI players. For the above,
- if two human players had joined, 5 AI players would be created.
-
- The second way is to explicitly create an AI with the 'create'
- server command. For example:
-
- > create HumanKiller
-
- This will create an AI-controlled player called HumanKiller.
-
- AI players are assigned to tribes after all human players have
- chosen their tribes, but you can choose a particular tribe for an AI
- player by using the normal name for that nation's leader. For
- example, to play against AI-controlled Romans, use this server
- command:
-
- > create Caesar
-
- Note, this is just a preference: If no other human player chooses
- to play the Romans, then this AI will.
-
- Server:
-
- When everybody has joined (use the "list" command to see who's in),
- start the game with the "start" command:
-
- > start
-
-
- And the game is on!
-
-
- Announcing the game:
- ====================
-
- If you do not want to limit your opponents to local friends or AI players,
- visit the Freeciv metaserver:
-
- http://meta.freeciv.org/metaserver
-
- It is a list of Freeciv servers. To make your own server announce itself
- there, start civserver with the '--meta' option, or just '-m' for short.
-
- Caveats:
-
- 1) Due to the inclusion of new features, different client and server
- versions are often incompatible. Not all incompatibilities
- can be caught and reported properly. One example is a 1.8.0 (or
- later) client connecting to a 1.7.2 server: the client appears
- to connect, but it never gets any messages from the server.
-
- 2) If the Metaserver button in the connection dialog doesn't work,
- check if your ISP uses a mandatory WWW proxy and make civclient
- use it through the $http_proxy environment variable. For instance,
- if the proxy is proxy.myisp.com port 8888, set $http_proxy
- to http://proxy.myisp.com:8888/ before starting the client.
-
- 3) Sometimes there are no games on the metaserver. This may be
- partly because the metaserver has changed hosts, and previous
- Freeciv versions do not know about the new address. Also, games
- no longer show up on the metaserver by default, instead people
- have to deliberately use '--meta'. If you want to play a game on
- the metaserver, are there are none there, try starting one
- yourself!
-
-
- Playing the game:
- =================
-
- The game may be saved the game at any time using the 'save' server command,
- like so:
-
- > save mygame
-
- The Freeciv client works pretty much as you would expect from a
- multiplayer civilization game. That is, the players move at the same
- time. There's a turn timeout value, which is by default set to 0
- seconds (no timeout). The server operator can alter this value at
- any time with the 'set' command.
-
- Have a look at the online help system. All three mouse-buttons are
- used, and documented in the help.
-
- Players can push the 'Return' key to announce the end of their turn,
- or just push the 'Turn done' button.
-
- Use the 'Players' dialog to see who has announced their end of turn,
- and who you're waiting for. (Hey feller, are you asleep or what?? ;).
-
- Use the input line at the bottom of the window for broadcasting
- messages to other players.
-
- You can send a message to an individual player (say, 'peter') like so:
-
- peter: move that armor away *NOW*!
-
- The server is smart enough to perform "name completion", so if you had
- typed "pet:", it will pick find a player name that matches the part of
- the name you typed.
-
- On newer servers (version 1.8.1 or later, or some development 1.8.0
- versions) you can issue server commands from the client input line:
-
- /list
- /set settlers 4
- /save mygame.sav
-
- The server operator will probably let you issue informational commands only.
- This is partly because allowing clients to use all server commands has
- security implications; consider if a player tried:
-
- /save /etc/passwd
-
- Of course the server should not be running with superuser privileges in
- any case, to reduce this sort of risk.
-
- If you're just starting, and would like to get an idea of a strategy,
- have a look in the Freeciv playing HOWTO, contained in the HOWTOPLAY
- file.
-
- For lots more information about the client, the server, and the
- concepts and rules of the game, see the Freeciv manual, available
- at the web pages at:
-
- http://www.freeciv.org/manual/main.html
-
-
- Ending the game:
- ================
-
- There are three ways in which a game can end:
-
- 1) Only one race is left.
- 2) The final year is reached.
- 3) A player builds and launches a spaceship, which reaches Alpha
- Centauri first.
-
- A score-table will be shown in all cases. Hint: The server operator
- can set the final year while the game is still going by changing the
- 'end-year' option. This is nice when the winner is obvious, but you
- don't want to play through the boring 'cleanup phase'.
-
- Restoring games:
- ================
-
- You can restore a saved game by using the '-f' server option, eg:
-
- % civserver -f oursave2001.sav
-
- Now the players can rejoin the game:
-
- % civclient -n Alexander
-
- Notice how the player-name is specified with the -n option. It's vital
- that the player uses the same name as they had when the game was running,
- if they're to be allowed in.
-
- The game may then be restarted with the 'start' command as usual.
-
-
- Server autostart:
- =================
-
- When the maximum number of players have connected, the server auto-starts.
- The maximum number of players can be set with the 'maxplayers' option.
-
-
- Log messages:
- =============
-
- Both the client and server print messages known as "log messages".
- There are four categories of log messages: "fatal", "normal", "verbose",
- and "debug".
-
- By default, fatal and normal messages are printed to standard output
- where the client or server was started. You can direct log messages
- to a file instead of the screen with the "--log filename", or "-l
- filename" command line options.
-
- You can change the level of log messages displayed with "--debug
- level" or "-d level" (or instead "-de level" for the Xaw client, since
- "-d" is ambiguous between "-debug" and "-display"), where "level" is
- 0, 1, or 2. 0 means show fatal messages only, 1 means show fatal and
- normal messages (the default), and 2 means show all fatal, normal, and
- verbose messages.
-
- If you compiled with DEBUG defined (an easy way to do this is to
- configure with --enable-debug), then you can get debug level messages
- by setting the level to 3. Also, it is possible to control debug
- level messages (but not other messages) on a per-file and per-line
- basis. To do this use "--debug 3:str1:str2" (as many strings as you
- like, separated by colons) and any filenames which match those strings
- as a substring will have debug log messages turned on, and all other
- debug messages will be suppressed. To control lines, use:
- "--debug 3:str1,min,max" and for files which match str1 only debug
- messages within the specified minimum and maximum lines will be
- printed. Only one set of (min,max) can be applied to each file.
-
- Example:
- % civserver -l my.log -d 2
-
- This sends all server log messages to file "my.log", including verbose
- level messages.
-
- Example:
- % civclient --debug 0
-
- This suppresses all non-fatal client log messages.
-
- Example:
- % civserver -d 3:log:civserver,120,500:autoattack
-
- This turns on all fatal, normal and verbose messages for the server,
- and debug level messages for some specified modules. Note that "log"
- will match "gamelog.c" as well as "log.c". For "civserver.c", only
- debug messages between lines 120 and 500 will be printed. This
- example only works if the server was compiled with DEBUG.
-
-
- Bugs:
- =====
-
- Found a bug? We really want to hear from you so we can fix it.
- See the file BUGS, for a list of known bugs in this release, and
- information about reporting new bugs.
-
-
- Mailing lists:
- ==============
-
- We maintain three mailing lists. One is for users of Freeciv,
- one is for developers of Freeciv, and the last is to notify developers
- of changes to the Freeciv source code.
-
- The lists are called "freeciv", "freeciv-dev", and "freeciv-cvs".
- They are all public lists.
-
- To send an email to the lists, address it to:
-
- <freeciv@freeciv.org> (For Freeciv users)
-
- or
-
- <freeciv-dev@freeciv.org> (For bug reports, and for Freeciv developers)
-
- To subscribe, send mail to <listar@freeciv.org>, with the single word
- "subscribe", followed by the name of the list. (Put this in the body
- of the email message, leaving the email subject line blank.)
-
- Example: To subscribe to the "freeciv" mailing list, send the line
- "subscribe freeciv" to <listar@freeciv.org>.
-
-
- New Releases:
- =============
-
- We make a major new release of Freeciv available about every three
- months. Check the Freeciv website from time to time to see if there's
- a newer version!!
-
-
- And finally:
- ============
-
- Have fun and give 'em hell!
-
- -- The Freeciv team.
-