For the complete documentation index, see llms.txt. This page is also available as Markdown.

Client Payloads

GrieferGames sendet sogenannte Custom Plugin Messages (Client Payloads) über einen dedizierten Kanal an verbundene Clients. Diese Seite dokumentiert alle verfügbaren Payloads, ihr binäres Übertragungsformat und wie du sie in deinem Mod empfangen kannst.

Übersicht

Eigenschaft
Wert

Kanal

griefergames:main

Richtung

Server → Client (unidirektional)

Registrierung

Keine client-seitige Registrierung erforderlich

Du musst kein Registrierungs- oder Handshake-Paket an den Server senden. Der Server schickt die Payloads eigenständig an jeden verbundenen Client.

Verfügbarkeit

Umgebung
Wo werden Payloads gesendet?

1.8

Auf allen Servern außer der Lobby und dem Portalraum

Cloud

Alle Server auf denen die Verwendung von Geld möglich ist

Übertragungsformat

Alle Payloads teilen dieselbe äußere Struktur auf dem griefergames:main-Channel:

┌──────────────────────────────────┐
│  id        UTF (Java DataOutput) │      ← Payload-Identifikator
│  <body>    payload-spezifische   │      ← Felder je nach Payload (siehe unten)
│            Daten                 │
└──────────────────────────────────┘

Der UTF-String wird im Java-DataOutputStream.writeUTF-Format kodiert:

  • 2 Bytes Big-Endian Unsigned Short → Länge der folgenden UTF-8-Byte-Sequenz

  • N Bytes → String-Inhalt in modifiziertem UTF-8

Alle nachfolgenden numerischen Felder folgen der Standard-Big-Endian-Kodierung von DataOutputStream.

Verfügbare Payloads

accountbalance

Wird an den Client gesendet, sobald sich das Bargeld des Spielers ändert, sowie einmalig beim Betreten eines Servers.

Feld
Typ
Beschreibung

id

UTF

"accountbalance"

balance

double (8 Bytes, Big-Endian IEEE 754)

Aktuelles Guthaben des Spielers, auf 2 Dezimalstellen gerundet

Beispiel-Hex-Aufschlüsselung (Guthaben = 1234.56):

Payloads empfangen — Code-Beispiele

Den Listener im AddonEntryPoint registrieren:

Das Payload kommt als clientbound Plugin Message-Packet auf dem Channel griefergames:main an. Den Datenbereich mit einem DataInputStream lesen, wie in den Beispielen oben gezeigt.

Protokollversion
Packet-ID

1.8

0x3F

1.21+

0x02 (Configuration) / 0x18 (Play)

Zukunftssicherheit

Das Payload-System ist erweiterbar. Beim Empfang eines Payloads immer:

1

Zuerst das id-Feld lesen.

2

Per switch/if auf die ID reagieren und unbekannte IDs ignorieren.

Neue Payloads können jederzeit hinzukommen.

3

Keine feste Gesamtlänge der Packetdaten annehmen.

Kurzübersicht

Zuletzt aktualisiert

War das hilfreich?