ggz.modules(5)

πŸ“¦ version 0.99.5, in fedora 43, nixos 26.05, nixpkgs unstable

πŸ’– 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 β€” like NetSpades β€” 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 the GameList, and a real world example would be NetSpades. It should be set to a list of unique game section ID's of the form g#. 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 either gtk or kde, 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 the ProtocolVersion ID 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