FreeDoko kennt drei Arten von Nachrichten:
Einfache Nachrichten werden nur für die Verbindung genutzt.
Spezielle Nachrichten sind Nachrichten, die nichts mit dem Spiel an sich zu tun haben. Sie sind Hilfsmittel für die Kommunikation. Die wichtigste spezielle Nachricht ist die Empfangsbestätigung.
Alle Nachrichten die den Spielverlauf betreffen sind normale Nachrichten. Auch die Nachrichten zum Chatten fallen unter die normalen Nachrichten.
Die Zeit gibt an, zu welchem Zeitpunkt (bzgl. des absendenden Rechners) die Nachricht losgeschickt wurde. Sie kann z.B. verwendet werden, um die Rechner zu synchronisieren. Die Zeit wird bei jeder speziellen und normalen Nachricht mit übertragen.
Statt einer Zeit kann auch - verwendet werden, dann wird die Zeit ignoriert.
Jede normale Nachricht wird mit einer (fortlaufenden) Nummer versehen. Diese wird genutzt, um die Nachrichten in der richtigen Reihenfolge abzuarbeiten und um den Verlust von Nachrichten zu bemerken.
Statt einer Nummer kann auch - verwendet werden, dann wird die Nachricht sofort ausgewertet.
Eine Nachricht von FreeDoko besteht immer aus eine Zeile, d.h. sie endet mit einem Zeilenendezeichen (\n).
Eine einfache Nachricht besteht nur aus Text. Das erste Zeichen darf weder eine Ziffer noch ein Minuszeichen sein.
Beispiel: FreeDoko server
Eine spezielle Nachricht beginnt mit der Zeit, gefolgt von einem Doppelpunkt. Dahinter folgt der Nachrichteninhalt.
Beispiel: 12345.67: ping: 10
Eine spezielle Nachricht beginnt mit der Zeit, gefolgt von einem Doppelpunkt. Darauf folgt die laufende Nummer, gefolgt von einem Doppelpunkt. Dahinter folgt der Nachrichteninhalt.
Beispiel: 12345.67: 12: Name: Diether
Der Syntax der Zeit ist Sekunden.Milisekunden oder -.
Beispiel: 12345.67
Die Nummer ist eine ganze positive Zahl oder -.
Beispiel: 12
Die normalen Nachrichten steuern den Spielverlauf. Daher werde diese nicht jederzeit akzeptiert. Außerdem gibt es noch die Unterscheidung zwischen Elter und Kind-Nachrichten.
Nachrichten, die vor dem Start des Turniers gesendet werden:
Nachrichten, die während eines Turniers gesendet werden:
Elter | Kind | Nachricht |
---|---|---|
E | K | name |
E | K | chat |
E | K | ask |
E | player $Nummer: type | |
E | K | player $Nummer: name |
E | players switch | |
E | rules | |
E | rule | |
E | party start | |
E | party start round | |
E | party finish |
Nachfolgend ist eine beispielhafte Übersicht über die Kommunikation zwischen dem Elter und dem Kind.
Elter | Kind |
---|---|
Servertypinformation | |
Name | |
Name | |
Regeln | |
Spielernummer | |
Regeländerung | |
starte Turnier | |
starte Spiel | |
verteile Karten | |
Frage nach Vorbehalt | |
Vorbehalt | |
Spieltyp (+ Solospieler, ...) | |
gespielte Karten | |
Frage nach zu spielender Karte | |
zu spielende Karte | |
schließe Stich | |
Ansage | |
Ansage | |
Spielende | |
Turnierende | |
Verbindungsabbruch |