#define P_TYPE_HELLO „Hi“ #define P_TYPE_ENTER „Enter“ #define P_TYPE_MOVE „Move“ #define P_TYPE_LEAVE „Leave“ #define P_TYPE_QUIT „Quit“ #define P_TYPE_COMMAND „Cmd“ #define P_TYPE_MESSAGE „Msg“ #define P_TYPE_PROMPT „Prompt“ #define P_TYPE_SAVE_DATA „Save“ #define P_CHAR_NAME „Name“ #define P_CHAR_GENDER „Gender“ #define P_MSG_TYPE „Type“ #define P_MSG_PLAYER „Player“ #define P_MSG_MUD „MUD“ #define P_MSG_DATA „Data“ #define P_MSG_PORTAL „Portal“ #define P_MSG_IP „IP“ #define P_MSG_PORT „Port“ #define P_MSG_UNICODE „Unicode“ #define P_MSG_CHARACTER „Char“
Die zu übertragenden Meldungen sind immer Mappings.
Jedes Mapping hat mindestens den Eintrag P_MSG_TYPE
,
welches den Typ und damit auch den weiteren Inhalt des Mappings bestimmt.
Die Mappings werden mit save_value()
serialisiert. Die
erste Zeile (der Formatdeskriptor) wird nur beim ersten Mal übertragen
(dies ist also die erste Zeile, welches beide MUDs vom jeweiligen
anderen MUD empfangen).
Sollte das serialisierte Mapping länger als 1000 Zeichen lang sein,
wird es umgebrochen. Solch unvollständige Zeilen enthalten ein Tab-Zeichen
(ASCII-Code 9) am Ende, um dem Empfänger zu signalisieren, daß weitere
Zeilen folgen, die zu einer Meldung zusammengefügt werden müssen.
P_TYPE_HELLO
Beschreibung |
Wird beim Verbindungsaufbau gesendet und muß die allererste Meldung sein, die
das Ziel-MUD empfängt. Das Ziel-MUD muß daraufhin ebenfalls mit einem
P_TYPE_HELLO antworten.
|
---|---|
Gesendet vom | Ursprungs-MUD und Ziel-MUD |
Daten |
|
P_TYPE_ENTER
Beschreibung |
Ein Spieler möchte vom Ursprungs-MUD ins Ziel-MUD wandern. Das Ziel-Portal
muß übrigens nicht dasjenige sein, welches vom Ursprungs-MUD herführt, da der
Spieler auch über ein Dritt-MUD einreisen kann.
Die Meldung wird im Erfolgsfalle nicht bestätigt. Im Fehlerfalle sollte
mit einem P_TYPE_QUIT geantwortet werden.
|
---|---|
Gesendet vom | Ursprungs-MUD |
Daten |
|
P_TYPE_MOVE
Beschreibung | Der Besucher hat im Ziel-MUD ein weiteres Portal betreten. (Dies kann u.U. auch ein Portal zurück zum Ursprungs-MUD sein.) Der Besucher wird damit im Ziel-MUD „ausgeloggt“, das Ziel-MUD will also keine Daten mehr dazu empfangen. Im Fehlerfalle muß das Ursprungs-MUD den Besucher bei sich irgendwo landen lassen. |
---|---|
Gesendet vom | Ziel-MUD |
Daten |
|
P_TYPE_LEAVE
Beschreibung | Dies ist eine Rückholoption für das Ursprungs-MUD. Damit wird der Besucher ins Ursprungs-MUD zurückgeholt. Das Ursprungs-MUD wird keine weiteren Meldungen mehr zu diesem Spieler schicken. Das Ziel-MUD sollte ebenfalls nichts mehr zu diesem Spieler schicken. Diese Meldung kann auch als Fehlermeldung verwendet werden, wenn ein MUD als Ursprungs-MUD eine Meldung zu einem unbekannten Reisenden erhält. |
---|---|
Gesendet vom | Ursprungs-MUD |
Daten |
|
P_TYPE_QUIT
Beschreibung | Damit beendet ein Gast seinen Besuch abrubt (ende/quit/exit-Befehl). Das Ziel-MUD beendet damit den Besuch und wird keine weiteren Meldungen mehr schicken und erwartet auch keine weiteren Meldungen mehr. Diese Meldung kann auch als Fehlermeldung verwendet werden, wenn ein MUD als Ziel-MUD eine Meldung zu einem unbekannten Reisenden erhält. |
---|---|
Gesendet vom | Ziel-MUD |
Daten |
|
P_TYPE_COMMAND
Beschreibung | Damit wird die Eingabe eines Spielers an das Ziel-MUD zur Auswertung gesendet. (Dies muß keine Action sein, sondern kann z.B. auch die Eingabe auf ein input_to() sein.) |
---|---|
Gesendet vom | Ursprungs-MUD |
Daten |
|
P_TYPE_MESSAGE
Beschreibung | Eine Ausgabe soll dem Spieler angezeigt werden. |
---|---|
Gesendet vom | Ziel-MUD |
Daten |
|
P_TYPE_PROMPT
Beschreibung | Ein Prompt soll dem Spieler angezeigt werden. |
---|---|
Gesendet vom | Ziel-MUD |
Daten |
|
P_TYPE_SAVE_DATA
Beschreibung |
Das Ziel-MUD bittet damit, diese Daten für zukünftige Besuche abzuspeichern.
Die übergebenen Daten sollten beim nächsten P_TYPE_ENTER
als P_MSG_DATA -Eintrag mitgegeben werden.
Obwohl beliebige Daten übergeben werden können, könnten u.U. Probleme
bei der Deserialisierung auftreten, wenn moderne Features
(Structs, Referenzen, LWOs, Python-Obs) verwenden werden.
Die Empfehlung ist daher, komplexere Daten bereits auf Ziel-MUD-Seite
zu serialisieren und hier dann den String anzugeben.
|
---|---|
Gesendet vom | Ziel-MUD |
Daten |
|