|
|
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 communi- cate 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
--fdin=FD File descriptor on which the game expects its input. --fdout=FD File descriptor to which the game writes its output. --convert 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. --exec=GAME The game client to launch as a child process. ENVIRONMENT VARIABLES
GGZMODE Set by a GGZ core client to tell games they're running in GGZ mode. GGZSOCKET 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) The GGZ Development Team 0.0.14 ggzwrap(1)