# Sample ggzd configuration file # # This file must be copied to 'ggzd.conf' or otherwise ggzd's compiled- # in values are used! Those are not necessarily the same as the commented # values in this file. # It will save ggzd.conf from being overwritten. This behaviour was # introduced with GGZ 0.0.14. # # Note: # Items marked "Not Implemented" won't work yet, and any options may be # revised or eliminated in future versions! 'Nuff said. # # Case of variable names is ignored, AddGame, addgame and ADDGAME are # all equivalent variable names. Whitespace is ignored except WITHIN # the RHS of a configuration option. Trailing whitespace is trunced. # # The '=' sign is optional. ############################################################################ # General Server Options ############################################################################ [General] # Server name # This is the server name as reported to clients #ServerName = GGZ server # Administrators name # This is the administrator name reported to clients #AdminName = Honest Harry # Administrators email # This is the email contact address reported to clients #AdminEmail = hharry@example.com # Port option # Uncomment to specify a port other than the default (5688) Port = 5688 # It is possible to restrict access to one interface #Interface = 127.0.0.1 # SQL database connection options # If a SQL database is used as opposed to a flat embedded # database, this block must be configured. DatabaseType # is only relevant for the DBI backend. #DatabaseHost = localhost #DatabaseName = ggz #DatabaseUsername = ggzd #DatabasePassword = ggzd # DatabaseType: pgsql, mysql, sqlite, ... DatabaseType = db4 # Database hashing: plain, md5, sha1 or ripemd160 #DatabaseHashing = plain # Database hash encoding: base64 or base16 (defaults to base64) #DatabaseHashEncoding = base64 # Transport Layer Security options #EncryptionUse = 0 #EncryptionPassword = ggzrocksmore #EncryptionKey = /usr/etc/ggzsite-example.pem #EncryptionCert = /usr/etc/ggzsite-example.pem # Announcements (none by default), metaserver must point to a GGZ metaserver #AnnounceLAN = 1 #AnnounceMetaserver = localhost #AnnounceMetaserverUsername = ggzd #AnnounceMetaserverPassword = ggzd # Reconfiguration in case of room changes #ReconfigureRooms = 1 ############################################################################ # Logging Options ############################################################################ [Logs] # DumpFile # Dumps the complete network protocol traffic # DumpFile can be either a filename, or 'stdout'/'stderr' #DumpFile = stderr # Logfile # Logfile can be either a filename, or 'syslogd', or 'stdout'/'stderr' # syslogd is the default LogFile = /var/log/ggz-server.log # Log types # The types of logging which the server performs to the logfile # Default is to log errors. Types should be separated by a space. # Valid types: All # Notices # Connections # Security # Update # Tables LogTypes = All # Debug logfile # Logfile can be either a filename, or 'syslogd', or 'stdout'/'stderr' # syslogd is the default #DebugFile = stderr # Debug types # The types of debugging information which the server sends to the # debug files. Default is NONE. # (Server must be compiled with debug on to use this feature) # Valid types: All # Configuration # Process # Connection # Chat # Table # Protocol # Update # Misc # Room # Lists # Game_Msg # XML DebugTypes = All # Syslogd facility # Syslogd facility type to send logs to, default is local0 # (ignored if LOGFILE parm doesn't point to syslogd) #Facility = local0 # Append _PID to log filenames # Should we have a separate logfile for each process thread? (1=yes, 0=no) # Default is 0, invalid for syslogd # WARNING: This is ugly, really really ugly. It involves opening and closing # the logfiles for each and every log message. Don't use it! #ThreadLogs = 1 # PID in logs # Should the PID be included in log messages? (1=yes, 0=no) # Default is 1 for standard log, Debug log ALWAYS includes PID #PIDInLogs = 0 # Timestamps in logs # Should the date/time be included in log messages? (1=yes, 0=no) # Default is 0 as you should be using syslogd. #TimeInLogs = 1 # GameType in logs # Should the game name be prepended to logs messages from a game server? # eg: '[NetSpades] logmsg' (1=yes, 0=no) # Default is 1 #GameTypeInLogs = 0 # Update Log Config # Should the update log be human readable? (1=yes, 0=no) # The update log can be either verbose (human readable) or not. If you # plan on writing/using a script to read the updates, turn off verbose. #VerboseUpdates = 1 # How often to generate an update log entry? (in seconds) #UpdateInterval = 600 ############################################################################ # Directory and File Options ############################################################################ [Directories] # Configuration directory # This is where the server looks for game and room description files ConfDir = /etc/ggzd # Data directory # Where all server tables are stored if SQL is not used DataDir = /var/lib/ggzd # Game Servers directory # This is where the server can find the game server modules GameDir = @LIBDIR@/ggzd [Files] # MOTD File # File in ConfDir containing MOTD to be sent to clients. If the # file doesn't exist, no message of the day will be sent. # WebMOTD can be used in addition for clients which can display it. #MOTD = ggzd.motd #WebMOTD = http://... ############################################################################ # Game Options ############################################################################ [Games] # List of Games # A list of all games to be included. If not present then the default is # to add all games which can be found. # GameList = ccheckers chess connectx escape geekgame ggzcards-bridge dots # List of Ignored Games # If no GameList is specified, this entry can be used to specify a list # of games which are to be skipped. #IgnoredGames = tictactoe # List of Rooms # A list of all rooms to be included. If not present then the default is # to add all rooms which can be found. #RoomList = ggzd_casual # List of Ignored Rooms # If no RoomList is specified, this entry can be used to specify a list # of rooms which are to be skipped. #IgnoredRooms = ggzd_competitive ############################################################################ # Miscellaneous Options ############################################################################ [Miscellaneous] # Default ping frequency to determine the lag class (seconds) # A PingFrequency of 0 means no pings are sent; default is 10 seconds #PingFrequency = 10 # Default Lag Class Definitions # Times are in msec #LagClass1 = 500 #LagClass2 = 1000 #LagClass3 = 2000 #LagClass4 = 5000 # Interval at which to send players room occupancy updates (seconds) # A value of 0 means no updates are sent; default is 60 seconds #RoomUpdateFrequency = 60 # Client hostname lookups # Should the server do hostname lookups on the client's IP address? # (1=yes, 0=no) Default is 0, even though the lookup is done in the # client thread and doesn't pause the server itself. #HostnameLookup = 1 # Load thresholds (Not Implemented) # This is the load threshold where ggzd will start denying client # connections and/or table launches. The default is not to use a load # threshold #maxloadclients = 2.5 #maxloadtables = 2.5 # Load binary (Not Implemented) # This is a binary that ggzd can execute to determine the servers # load average. The second parameter is the word to use as the load #loadbinary = /usr/bin/uptime, 10 # Load proc file (Not Implemented) # If your system supports the /proc directory (eg: Linux), then this # file will be queried for system load. The second paramter is the # word to use as the load. This will be used in preference to loadbinary # if both options are coded. #loadfile = /proc/loadavg, 2 # Maximum clients (Not Implemented) # This is the maximum number of active clients allowed at one time # Default is no maximum #maxclients = 1000 # Maximum tables (Not Implemented) # This is the maximum number of active games before games cannot be launched # Default is no maximum #maxtables = 150