Minecraft Server Dokumentation?



  • Hallo,
    es gibt Projekte wie: https://github.com/cnlohr/avrcraft wo einfach mal ein Minecraft Server programmiert wurde der 1:1 kompatibel zum offiziellen MC Client ist. Deshalb hab ich mich gefragt ob es Dokumentationen oder sowas ähnliches wo steht wie welche Daten verschickt werden müsse. Denn einen kleinen MC Server zu programmieren ist sicher eine tolle Angelegenheit.

    LG



  • Ja, ist alles ziemlich genau dokumentiert:
    http://wiki.vg/Protocol



  • Danke für die Antwort.
    Aber wie und in welchem Intervall muss ich das verschicken bzw. auswerten?



  • Auswerten solltest du in gar keinem Intervall. Einfach auf eingehende Pakete reagieren.
    Verschicken tust du nur die Keep-Alive-Pakete. Fuer Minecraft-Server sind die im Rhythmus der Ticks ueblich, also 20/sec, wenn ich mich nicht taeusche. Kommt dann innerhalb einer bestimmten Zeitspanne (default 30 sec) kein Keep Alive zurueck, so kannst du den Client als ausgetimed ansehen. Senden musst du sie allerdings irgendwann, denn wenn der Client kein Keepalive von dir in 20 sec kriegt, meint er, dass er die Verbindung zum Server verloren hat.

    Ansonsten sendest du Pakete dann halt immer, wenn sie gebraucht werden. Hat also ein Spieler seine Position veraendert und es ist ein anderer neben ihm, so sendest du an den halt ein Paket, dass die Entity ihre Position geaendert hat. Ebenso passiert das halt auch mit den anderen Events. Bei Besonderheiten sind die idR auch im Wiki dokumentiert.

    Es gibt einige wenige Fallstricke, die es noch zu beachten gibt, die aber auch im Protocol FAQ erklaert sind. Beispielsweise, dass du nem Client beim Join erst ein Chunk Bulk Paket mit den intialen Spawnchunks senden musst, bevor du ihm das Join-Paket mit Positionsinfo etc. sendest.

    Ansonsten, wo haengts denn konkret?



  • Erstmal einlesen 😃 Wenn es Probleme gibt mach ich ein neues Thread auf, und Danke für die Antwort 🙂


Log in to reply