.TH "ggzwrap" "1" "0.0.14" "The GGZ Development Team" "GGZ Gaming Zone" .SH "NAME" .LP ggzwrap \- GGZ Gaming Zone game client wrapper .SH "SYNOPSIS" .LP \fBggzwrap\fR [\fIOPTION\fR...] \fB\-\-exec\fR=\fIGAME\fR .SH "DESCRIPTION" .LP 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 \fIGGZSOCKET\fR, usually being fd 53 on the client side, so a call to: .LP \fBggzwrap \-\-fdin=$GGZSOCKET \-\-fdout=$GGZSOCKET \-\-exec=gameclient\fR .LP 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: .LP \fBggzwrap \-\-fdin=0 \-\-fdout=1 \-\-exec=gameclient\fR .LP The GGZ game Muehle uses \fBggzwrap\fR 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 \fIggz.modules\fR. .SH "OPTIONS" .TP \fB\-\-fdin=\fR\fIFD\fP File descriptor on which the game expects its input. .TP \fB\-\-fdout=\fR\fIFD\fP File descriptor to which the game writes its output. .TP \fB\-\-convert\fR 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. .TP \fB\-\-exec=\fR\fIGAME\fP The game client to launch as a child process. .SH "ENVIRONMENT VARIABLES" .LP .TP \fBGGZMODE\fR Set by a GGZ core client to tell games they're running in GGZ mode. .TP \fBGGZSOCKET\fR File descriptor for the connection to the invoking GGZ core client. .SH "AUTHORS" .LP The GGZ Development Team .SH "SEE ALSO" .LP shadowbridge(6), ggz.modules(5), ggz(7)