Kodowanie dla Hytale: API, dokumentacja i ekosystem wtyczek Java

Nazwa Kategoria::: nazwa : min min read

Krytyczne pytanie odbija się echem na deweloperskich Discordach: Gdzie jest dokumentacja API? Ten przewodnik obejmuje wszystko, co wiemy o rozwoju dla Hytale.

W miarę zbliżania się premiery Wczesnego Dostępu, krytyczne pytanie odbija się echem na Discordach deweloperów: Gdzie jest dokumentacja API? Bez publicznej strony docs.hytale.com, deweloperzy chcący zbudować kolejną wspaniałą sieć serwerów lecą na ślepo. Jednak potwierdzenie architektury "Legacy Engine" zapewnia znaczącą mapę drogową dla tych, którzy wiedzą, gdzie szukać. Dla deweloperów i właścicieli serwerów, którzy planują wystawić swoje projekty na hytalecharts.com natychmiast po uruchomieniu, zrozumienie technicznych ograniczeń API jest różnicą między uruchomieniem w dniu 1 a uruchomieniem w dniu 30. Oto ostateczny przewodnik po technicznej rzeczywistości ekosystemu deweloperskiego Hytale. Architektura: Serwer Java, klient C# Najważniejszą informacją techniczną jest podział na języki. Legacy Engine działa w oparciu o model współdzielonego źródła dla serwera. Server-Side (Java): Logika serwera jest napisana w Javie. To tutaj odbywa się ciężka praca: zasady gry, ekonomia, dane graczy i interakcje w świecie. Strona klienta (C#): Klient gry działa w języku C#. Podczas gdy klient jest zamkniętym źródłem, aby zapobiec oszustwom, serwer jest "współdzielonym źródłem", co oznacza, że właściciele serwerów prawdopodobnie będą mieli dostęp do odczytu kodu serwera, aby zrozumieć, jak się do niego podłączyć. Wskazówki dla deweloperów: Jeśli jesteś deweloperem wtyczek do Minecrafta przyzwyczajonym do Spigota lub Paper, masz szczęście. Twoje umiejętności Java można bezpośrednio przenieść. Jeśli uczyłeś się C++ w oczekiwaniu na anulowany silnik, musisz natychmiast wrócić do Javy. Różnica między "wtyczką" a "skryptem" Oficjalne wpisy na blogu wyjaśniły kluczową różnicę w API moddingu, którą wielu przeoczyło: różnicę między Logiką Gry a Zachowaniem Gry. Wtyczki serwera (pliki Java .jar) To są potężne narzędzia. Według dyrektora technicznego Slikey, wtyczki serwera pozwalają na "głębokie modyfikacje" systemu. Możesz tworzyć minigry, niestandardowe ekonomie i złożone polecenia za pomocą Java. Status: Niezwykle potężny. To jest miejsce, w którym nastąpi rozwój backendu. Skryptowanie wizualne (zachowania) Dla zachowań rozgrywki (np. jak atakuje potwór lub jak działa niestandardowy przedmiot), Hytale nie używa skryptów tekstowych (takich jak Lua). Zamiast tego korzysta z systemu opartego na węzłach skryptów wizualnych podobnego do Unreal Engine Blueprints. Dlaczego? Twórcy argumentują, że skrypty tekstowe zmuszają projektantów do nauki programowania. Skrypty wizualne wzmacniają pozycję projektantów, pozwalając programistom skupić się na zapleczu Java. Status: Obowiązkowa nauka. Programiści, którzy odmówią dotknięcia węzłów wizualnych, będą mieli trudności z tworzeniem niestandardowych jednostek. Próżnia "API": jak przygotować się bez dokumentów Bez oficjalnego Javadoc lub wiki, jak się przygotować? Zapoznaj się z wzorcem ECS "Flecs": Wpisy na blogu potwierdzają, że silnik wykorzystuje Entity Component System (ECS) o nazwie "Flecs". Podczas gdy implementacja Hytale jest niestandardowa, koncepcja ECS jest uniwersalna. Należy odejść od myślenia zorientowanego obiektowo (dziedziczenie) na rzecz myślenia zorientowanego na dane (komponenty). Stary sposób (Minecraft): class Zombie extends Monster Nowy sposób (Hytale): Entity ID 101 posiada PositionComponent, HealthComponent, AIComponent. Poznaj schematy JSON: "Zasoby danych" dla bloków, elementów i interfejsu użytkownika są sterowane przez JSON. Zapoznaj się ze złożonymi strukturami JSON, ponieważ prawdopodobnie w ten sposób zdefiniujesz dane statyczne bez dotykania kodu Java. Ustaw środowisko Java 21: Chociaż dokładna wersja Java nie jest potwierdzona, nowoczesna Java (21+) jest standardem branżowym pod względem wydajności. Upewnij się, że twoje IDE (IntelliJ lub Eclipse) jest gotowe na przepływ pracy oparty na Javie. Zaleta "współdzielonego źródła" Model serwera "Shared Source" zmienia zasady gry. Oznacza to, że po pobraniu dedykowanego oprogramowania serwera można otrzymać kod źródłowy (lub dekompilowalny kod bajtowy) dla samego słoika serwera. Strategia: W dniu premiery nie tylko uruchom serwer. Zdekompiluj go. (Jeśli jest to dozwolone przez EULA). Czytanie oficjalnego kodu serwera będzie najszybszym sposobem na zrozumienie API przed napisaniem oficjalnych dokumentów. Podsumowanie: Bądź gotowy do dokumentowania Pierwsze kilka tygodni wczesnego dostępu będzie zdefiniowane przez odkrycia społeczności. Ponieważ oficjalna dokumentacja będzie prawdopodobnie skąpa lub będzie ewoluować, deweloperzy, którzy udokumentują swoje odkrycia - i udostępnią je na platformach takich jak hytalecharts.com - staną się de facto liderami ekosystemu. API nadchodzi i mówi w języku Java. Czy mówisz płynnie?