---
name: "ggzcommgen"
section: "1"
platform: "linux"
package: "ggz-utils"
version: "0.0.14.1-1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/ggzcommgen"
---

# ggzcommgen(1)

GGZ Communication Protocol Generator

## NAME

ggzcommgen - GGZ Communication Protocol Generator

## SYNOPSIS

**ggzcommgen** \[*OPTIONS*...\] *PROTOCOL*

## DESCRIPTION

The ggzcommgen tool allows game and application developers to create client-server protocol implementations using XML source files. The protocol description is converted into source files for certain programming languages, and then be added the the source tree of the game or application. This saves a lot of work, since no networking code has to be written by hand.

The *PROTOCOL* file should be given without the .protocol file ending and will result in source files using this name as a base, plus language-specific file endings.

## OPTIONS

- **-l**, **--language**=*LANGUAGE*

  The programming language of the files which are generated. *LANGUAGE* can be either 'c', 'c++' or 'python'.

- **-i**, **--interface**=*LIBRARY*

  The library to use for handling the network input/output operations. The choice of *LIBRARY* mostly depends on the programming language, and is one of 'ggz' (libggz for C/C++), 'qt' (Qt library for C++), 'mnet' (C++ server library) and 'socket' (Python standard library).

- **-r**, **--role**=*ROLE*

  Whether the generated source file should be used in the server or in the client. The value of *ROLE* is then 'client' or 'server', respectively.

## AUTHORS

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