Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > 1035a8dcf763b5accbdb85cbcb0ff9e7 > files > 107

ggz-docs-0.0.14.1-5.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>The Protocol</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="GGZ Gaming Zone Client/Game Client Protocol Specification"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Objectives"
HREF="f19.html"><LINK
REL="NEXT"
TITLE="Connected phase"
HREF="x38.html"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>GGZ Gaming Zone Client/Game Client Protocol Specification</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="f19.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x38.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="PROTOCOL"
></A
>Chapter 1. The Protocol</H1
><P
>  Communication between client and game client happens by means of binary
  tokens (opcodes), which are of type integer, followed by zero or more
  opcode-specific variables which can be of type integer, character,
  or string.</P
><P
>  At each point in time, a game client happens to be in a specific state.
  Messages received from the core client may lead to state changes, as may
  some explicit transitions being executed by the game client itself.
  A list of all states can be found in the <A
HREF="r1054.html"
>  appendix of states</A
>.</P
><P
>  Several actions refer to seats on the table the game is being played on.
  Each seat can be either empty or have an assignment. A full list can be
  found in the <A
HREF="r1012.html"
>appendix of seat assignments</A
>.</P
><P
>  Interactions are presented here categorically. For a complete
  reference of game client/core client interactions, please see the
  <A
HREF="a51.html"
>appendix of messages</A
>.</P
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="STARTUP"
>1.1. Startup</A
></H1
><P
>    Each game client starts up in CREATED mode. In this step there is
    no information about seats or players yet. The only useful action
    is to wait for a GAME_LAUNCH message so the transition to the
    CONNECTED state can happen.
    Games can query whether they run on GGZ or not via the environment
    variable GGZMODE.
  </P
><P
>    In order to carry out the transition to CONNECTED, the game client
    must connect to the core client. It does so by reading out the value
    of the environment variable GGZSOCKET, and then either uses this
    value as file descriptor, or (if no sockets can be passed directly)
    as local port to connect to. In the former case, GGZSOCKET defaults
    to the value 103.
  </P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="f19.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x38.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Objectives</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Connected phase</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>