ggz.modules(5)
π NAME π
ggz.modules β the GGZ Gaming Zone module configuration file, aka the lil text file that knows which games you actually have installed π
πΈ DESCRIPTION πΈ
okay so bestie, here's the tea β β the GGZ Gaming Zone uses the file ggz.modules to figure out which game modules are properly installed. That's it. That's the whole job. π
Now, the only approved way to change this file is with the ggz-config utility. Like, that's the sanctioned method, no cap. BUT β the file structure is documented right here anyway, so that if things go sideways you can do manual repairs if necessary. emergency surgery energy π©Ήβ¨
π PARAMETERS π
The ggz.modules file is formatted in sections, and every single one of them starts with a [SectionID] line. The very first section is [Games] and it is required, no skipping. After that comes any number of game-specific sections named [g#]. as many as you want, go off π«
The [Games] section is formatted like this:
[Games]
*GameList* = GameName1 GameName2 ...
GameName1 = g1 g2 ...
GameName2 = g3 ...
GameListβ this should be set to a list of all the game names currently installed. Every name should appear once and only once (not twice, we don't do duplicates here π ββοΈ), and it should be the internal game name β likeNetSpadesβ and not the full descriptive name of the game. internal name only, bestie, that's the rule.GameNameXβ this should equal a game name from theGameList, and a real world example would beNetSpades. It should be set to a list of unique game section ID's of the formg#. Every single game section ID must be the name of a section ID that follows later in the file. The ID's don't need to be in any specific order, and ID numbers may be skipped β but NOT repeated. skipping = fine. repeating = absolutely not. π«
A game section is formatted like this:
[g#]
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 pretty self explanatory ngl, but a few of them might need some clarification, so let's go π«Ά
[g#]β this section code ID must be present in one of the game lists in the[Games]section above. no section, no home, that's just how it is πFECODEβ the frontend code should be set to eithergtkorkde, depending on which user interface the game was designed for. And note: the game is expected to work with either the GTK+ or KDE clients, assuming that the user has the proper windowing system installed. flexible queen β¨GameNameβ this must equal the game name (in the[Games]section) which properly points to this[g#]section. it's a matching game, literally.ProtocolVersionβ this gets used to match an installed game client with the protocol version currently being used by the game server. The whole point? It lets a new game client be installed while keeping the old client around for backwards compatibility with older servers. both. both is good. π₯GameVersionβ this is simply the version of the game client itself. It does not need to be the same version as the game server, as long as theProtocolVersionID matches. matching protocol = we're good π―
π¦ FILES π¦
@ggzconfdir@/ggz.modules
π AUTHORS π
The GGZ Development Team <ggz-dev@mail.ggzgamingzone.org> π«Ά
π SEE ALSO π
and that's a wrap, bestie!! πβ¨ this icon of a page was brought to you by The GGZ Development Team, running version 0.0.14, and it's the ggz.modules(5) manual page. periodt. π
π
π¦ where this page comes from
- fedora 43: ggz-base-libs 0.99.5-41.fc43 Β· LicenseRef-Callaway-LGPLv2+ AND GPL-2.0-or-later
- fedora 43: ggz-base-libs 0.99.5-41.fc43 Β· LicenseRef-Callaway-LGPLv2+ AND GPL-2.0-or-later
- nixos 26.05: ggz-base-libs 0.99.5
- nixpkgs unstable: ggz-base-libs 0.99.5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms