cyphesis — cyphesis game server process

Synopsis

/usr/bin/cyphesis [ --section:option=value... ]

Description

The cyphesis program implements the core world server for WorldForge.

Options

Configuration options are divided up into named sections, which need to be specified when modifying or overriding the options. In a config file the name of a section is specified in square brackets at the beginning of the section. On the command line the section is given at the beginning of the option specification, as shown in the synopsis above.

Server options

The following options are present in the cyphesis section of the config file, and overriden by specifying the cyphesis section name on the command line.

directory="/path/to/server/data"
Directory where server data and scripts can be found.

Name of the top level ruleset this server should use.

Normally this directory is set at compile time, but in some rare cases it may be necessary to tell cyphesis to use a different directory.

confdir="/path/to/server/config"
Directory where server config can be found.

Normally this directory is set at compile time, but in some rare cases it may be necessary to tell cyphesis to use a different directory.

vardir="/path/to/server/var"
Directory where temporary files can be stored.

Normally this directory is set at compile time, but in some rare cases it may be necessary to tell cyphesis to use a different directory.

ruleset="mason"
Ruleset name.

Name of the top level ruleset this server should use.

Rulesets are hierarchical, so it is very probable that the top level ruleset will depend on another ruleset. In order to specify the that ruleset depends on another ruleset, a section is required in the config file with the name of the ruleset, which contains an additional ruleset option. On startup the server will look for dependent rulesets until it reaches a ruleset which has no dependencies, at which point it is assumed the base ruleset has been found.

For example, the mason ruleset depends on the basic ruleset, but the basic ruleset has no dependencies. The required configuration entries for this arrangement look like this:

[cyphesis]
ruleset="mason"
[mason]
ruleset="basic"
      

servername=hostname
Server name.

Name that identifies this server. If this option is ommited from the config file, and not provided any other way, then the system hostname will be used.

tcpport=6767
Network listen port for TCP connections.

Specifies the port number to use to listen for incoming client connections.

unixport="cyphesis.sock"
Local liston socket for Unix domain connections.

Specifies the filename to use to listen for local trusted client connections.

restricted=false
Flag to control restricted mode.

If this option is true the server is run in restricted mode. This means that clients will not be able to create new accounts, leaving account creation entirelu in the hands of the administrator.

usemetaserver=true
Flag to control use of metaserver.

If this flag is true the server registers its presence with a metaserver.

metaserver="metaserver.worldforge.org"
Hostname to use as metaserver.

The hostname is used as the address of the metaserver where the presence of this server is registered if the usemetaserver option is enabled.

daemon=false
Flag to control daemon mode.

If this flag is true the server automatically drop into the background after startup. For convenience the parent process will not complete until the server has completed its setup, including reading all config information, loading all data from the database, setting up internal data structures and setting up communications. The exit status of the parent process indicates whether these steps were completed successfully.

useaiclient=false
Flag to control use of AI client.

If this flag is true the server does not attempt to do any AI simulation internally, and instead relies on a specialist AI client. This feature is not yet implemented.

dbserver
Remote hostname for the PostgreSQL RDBMS.

If this setting is present the server will use a remote instance of the PostgreSQL RDBMS for its database requirements at the hostname provided. Do not use this setting unless you need a remote database for some reason. Specify "localhost" will cause the database module to use remote connection even though the connection is to the local machine.

dbname="cyphesis"
Name of database to use.

This setting provides the database name the server is to use for its data. If this setting is omitted, the name cyphesis is used.

dbuser
Database account name for access.

This setting provides the username to be used to authenticate with the database. If it is not included, the username of the user running the server is used.

dbpasswd
Database account password for access.

This setting provides the password to be used to authenticate with the database. PostgreSQL does not usually require a password when connecting to a PostgreSQL RDBMS on the same system as the server, when the database username to be used is the same as the user running the server. If this is the case then the setting must be omitted from the config file.

Author

Written by Alistair Riddoch.

Reporting bugs

Report bugs to <general@worldforge.org>.