The GGZ Gaming Zone uses the file ggz.modules in order to configure which game modules are properly installed. The only approved method of altering this file is using the ggz-config utility, however the file structure is documented here in order to facilitate manual repairs if necessary.
The ggz.modules file is formattted in sections, each of which begins with a [SectionID] line. The first (required) section is [Games]. This section is followed by any number of game-specific sections named [g#].
The [Games] section is formatted as follows:
*GameList* = GameName1 GameName2 ...
GameName1 = g1 g2 ...
GameName2 = g3 ...
Should be set to a list of all the game names which are currently installed. Each name should appear once and only once, and should be the internal game name (eg: NetSpades) and not the full descriptive name of the game.
Should equal a game name from the *GameList*, a real world example would be NetSpades. It should be set to a list of unique game section ID's of the form g#. Each game section ID must be the name of a section ID which follows in the file. The ID's need not be in any specific order, and ID numbers may be skipped but NOT repeated.
A game section is formatted as follows:
Author = Game's Author
CommandLine = /path/to/command [optionlist]
Frontend = FECODE
Homepage = URL to Game's homepage
Name = GameName
Protocol = ProtocolVersion
Version = GameVersion
Most of these parameters are self explanatory, however the following may need clarification:
This section code ID must be present in one of the game lists in the [Games] section above.
The frontend code should be set to either gtk or kde depending on which user interface the game was designed for. Note that the game is expected to work with either the GTK+ or KDE clients, assuming that the user has the proper windowing system installed.
This must equal the game name (in the [Games] section) which properly points to this [g#] section.
This will be used to match an installed game client with the protocol version currently used by the game server. This allows a new game client to be installed, while retaining the old client for backwards compatibility with older servers.
This is simply the version of the game client itself. It need not be the same version as the game server as long as the ProtocolVersion ID matches.
The GGZ Development Team <email@example.com>