Scroll to navigation

ggzwrap(1) GGZ Gaming Zone ggzwrap(1)

NAME

ggzwrap - GGZ Gaming Zone game client wrapper

SYNOPSIS

ggzwrap [OPTION...] --exec=GAME

DESCRIPTION

This wrapper takes the place of a game client, and relays the control messages between the game and the invoking instance, which is a GGZ core client. One task is to manage different file descriptors than the ones which are normally used. The GGZ clients do currently communicate using a socket which is passed in the environment variable GGZSOCKET, usually being fd 53 on the client side, so a call to:

ggzwrap --fdin=$GGZSOCKET --fdout=$GGZSOCKET --exec=gameclient

would be equivalent to calling the client directly. However, there are games which communicate using the standard input/output facilities, so they need a redirection like:

ggzwrap --fdin=0 --fdout=1 --exec=gameclient

The GGZ game Muehle uses ggzwrap to demonstrate that game clients do not necessarily need to use any GGZ libraries. The downside is that a lot of game client functionality will not be available. Game clients which want to make use of the wrapper must add a command similar to the one above into the file ggz.modules.

OPTIONS

File descriptor on which the game expects its input.
File descriptor to which the game writes its output.
This option automatically converts strings from network format to host format (more correctly, from libggz's easysock format to the normal null-terminated one) for the game server, and back in the other direction. This will be needed for most games.
The game client to launch as a child process.

ENVIRONMENT VARIABLES

Set by a GGZ core client to tell games they're running in GGZ mode.
File descriptor for the connection to the invoking GGZ core client.

AUTHORS

The GGZ Development Team <ggz-dev@mail.ggzgamingzone.org>

SEE ALSO

shadowbridge(6), ggz.modules(5), ggz(7)

0.0.14 The GGZ Development Team