Kodierung für Hytale: Die API, die Dokumentation und das Java-Plugin-Ökosystem

Von HytaleCharts Team Kategorie: technical :minuten min gelesen

Eine kritische Frage hallt durch die Entwickler-Discords: Wo ist die API-Dokumentation? Dieser Leitfaden enthält alles, was wir über die Entwicklung für Hytale wissen.

Während sich der Start des Early Access abzeichnet, hallt eine kritische Frage durch die Entwickler-Discords: Wo ist die API-Dokumentation? Da es noch keine öffentliche docs.hytale.com gibt, sind Entwickler, die das nächste große Server-Netzwerk aufbauen wollen, im Blindflug unterwegs. Die Bestätigung der "Legacy Engine"-Architektur bietet jedoch eine wichtige Roadmap für diejenigen, die wissen, wo sie suchen müssen. Für Entwickler und Serverbetreiber, die planen, ihre Projekte unmittelbar nach dem Start auf hytalecharts.com einzustellen, ist das Verständnis der technischen Einschränkungen der API jetzt der Unterschied zwischen einem Start am Tag 1 und einem Start am Tag 30. Hier ist der endgültige Leitfaden für die technische Realität des Hytale-Ökosystems für Entwickler. Die Architektur: Java-Server, C#-Client Die wichtigste technische Information ist die Sprachaufteilung. Die Legacy Engine arbeitet mit einem Shared Source Modell für den Server. Server-Side (Java): Die Server-Logik ist in Java geschrieben. Hier werden die schwersten Aufgaben erledigt: Spielregeln, Wirtschaft, Spielerdaten und Weltinteraktionen. Client-Seite (C#): Der Spiel-Client läuft auf C#. Während der Client Closed-Source ist, um Betrug zu verhindern, ist der Server "Shared Source", was bedeutet, dass Serverbesitzer wahrscheinlich Lesezugriff auf den Servercode haben werden, um zu verstehen, wie man sich in ihn einklinken kann. Vorteile für Entwickler: Wenn Sie ein Minecraft-Plugin-Entwickler sind, der Spigot oder Paper verwendet, haben Sie Glück. Ihre Java-Kenntnisse sind direkt übertragbar. Wenn Sie in Erwartung der jetzt eingestellten Engine C++ gelernt haben, müssen Sie sofort wieder auf Java umsteigen. Die Unterscheidung zwischen "Plugin" und "Scripting" Offizielle Blog-Posts haben einen entscheidenden Unterschied in der Modding-API geklärt, den viele übersehen: den Unterschied zwischen Spiellogik und Spielverhalten. Server Plugins (Java .jar Dateien) Dies sind die Power-Tools. Laut dem technischen Direktor Slikey ermöglichen die Server-Plugins "tiefgreifende Änderungen" am System. Sie können Minispiele, benutzerdefinierte Einsparungen und komplexe Befehle mit Java erstellen. Status: Äußerst leistungsfähig. Hier wird die Backend-Entwicklung stattfinden. Visuelles Scripting (Verhaltensweisen) Für das Gameplay-Verhalten (z.B. wie ein Monster angreift oder wie ein benutzerdefinierter Gegenstand funktioniert) verwendet Hytale kein textbasiertes Scripting (wie Lua). Stattdessen verwendet es ein Visual Scripting node-based system, ähnlich wie Unreal Engine Blueprints. Warum? Die Entwickler argumentieren, dass textbasierte Skripte die Designer dazu zwingen, das Programmieren zu lernen. Visuelles Skripting stärkt die Designer, während sich die Programmierer auf das Java-Backend konzentrieren können. Status: Lernzwang. Entwickler, die sich weigern, visuelle Knoten anzufassen, werden Schwierigkeiten haben, benutzerdefinierte Entitäten zu erstellen. Das "API"-Vakuum: Wie man sich ohne Docs vorbereitet Wie bereitet man sich vor, wenn kein offizielles Javadoc oder Wiki verfügbar ist? Studieren Sie das "Flecs"-ECS-Muster: Die Blogbeiträge bestätigen, dass die Engine ein Entity Component System (ECS) namens "Flecs" verwendet. Während die Hytale-Implementierung kundenspezifisch ist, ist das Konzept von ECS universell. Weg von objektorientiertem Denken (Vererbung) und hin zu datenorientiertem Denken (Komponenten). Alter Weg (Minecraft): class Zombie extends Monster Neuer Weg (Hytale): Entity ID 101 hat PositionComponent, HealthComponent, AIComponent. Learn JSON Schemas: "Data Assets" für Blöcke, Elemente und UI werden durch JSON gesteuert. Machen Sie sich mit komplexen JSON-Strukturen vertraut, denn so werden Sie wahrscheinlich statische Daten definieren, ohne Java-Code zu berühren. Einrichten einer Java 21-Umgebung: Obwohl die genaue Java-Version nicht bestätigt ist, ist modernes Java (21+) der Industriestandard für Leistung. Stellen Sie sicher, dass Ihre IDE (IntelliJ oder Eclipse) für einen Java-basierten Workflow bereit ist. Der "Shared Source"-Vorteil Das "Shared Source"-Servermodell ist ein entscheidender Vorteil. Es bedeutet, dass Sie beim Herunterladen der dedizierten Serversoftware den Quellcode (oder dekompilierbaren Bytecode) für das Server-Jar selbst erhalten können. Strategie: Führen Sie den Server am Starttag nicht nur aus. Dekompilieren Sie ihn. (Wenn es die EULA erlaubt). Das Lesen des offiziellen Server-Codes ist der schnellste Weg, um die API zu verstehen, bevor die offiziellen Dokumente geschrieben werden. Schlussfolgerung: Bereit sein zu dokumentieren Die ersten Wochen des Early Access werden von der Entdeckung durch die Community geprägt sein. Da die offizielle Dokumentation wahrscheinlich nur spärlich vorhanden sein wird, werden die Entwickler, die ihre Entdeckungen dokumentieren und auf Plattformen wie hytalecharts.com teilen, de facto die Führer des Ökosystems werden. Die API kommt, und sie spricht Java. Beherrschen Sie die Sprache?