ARXENGINE
Czysty Silnik Vanilla • Bez Bukkit • Bez Proxy

Nowa Generacja
Silnika Minecraft

ArxEngine to w pełni autonomiczny, samodzielny silnik Minecraft Vanilla. Łączy się bezpośrednio z oficjalnym klientem gry bez narzutu proxy, Spigota czy BungeeCord. Nadrzędna sesja PlayerSession zapewnia bezszwowy transfer graczy między instancjami w ułamku milisekundy.

Zero Proxy
Bezpośrednie TCP Netty
Multi-Version
1.8.x do 1.21.11 & 26.2
PlayerSession
Płynny transferTo()
Start < 500ms
Pamięć RAM poniżej 150MB
ARXENGINE RUNTIME ACTIVE
20.0 TPS
Dynamic Server Ping
Protokół: 47 - 776 (Multi-ver)
ZGODNY
Master PlayerSession UUID: arx6f46a...
Gracz: Arxnes
lobby_main
transferTo() ➔
survival_main
Lobby Instance READY
Spawn: 8.5, 65, 8.5
Survival Instance READY
Spawn: 0.5, 65, 0.5
PORT: 25565 (TCP) THREAD: Netty EventLoop
Architektura Modułowa

Struktura Silnika ArxEngine

Zaprojektowany od podstaw w Gradle multi-module. Każda warstwa posiada ścisłą odpowiedzialność, gwarantując zerowe sprzężenia i maksymalną przepustowość.

KLUCZOWA INNOWACJA
arx-session

PlayerSession Core

Nadrzędna sesja gracza istniejąca poza światem gry. Utrzymuje połączenie TCP i zarządza bezszwowym przełączaniem między instancjami gier bez ekranu ładowania.

Java 21 Virtual Threads READY
REAKTYWNA SIEĆ
arx-network

Netty Pipeline

Wysokowydajna warstwa sieciowa oparta na Netty. Automatyczne wykrywanie wersji protokołu podczas handshake i dynamiczny server ping ze statusem MOTD.

Epoll & NIO Handlers READY
1.8 - 26.2
arx-protocol

Protokół Multi-Version

Pełne dekodery i enkodery pakietów dla Handshake, Login, faza Configuration (od 1.20.2+, Known Packs, dynamiczne rejestry i tagi) oraz faza Play.

Fast ByteBuf Codecs READY
IZOLOWANE ŚWIATY
arx-instance

InstanceManager & Światy

Lekkie, równoległe instancje światów działające w jednym procesie. Każda z własnym cyklem życia (CREATED ➔ READY ➔ RUNNING ➔ STOPPED) i generatorami chunków.

Chunk Batching READY
CZYSTE API JAVY
arx-module-api

Moduły i Capabilities

Nowoczesny system rozszerzeń zastępujący ociężałe pluginy Bukkit. Deklaratywne możliwości (PLAYER, COMMANDS, EVENTS, WORLD) bez niebezpiecznej refleksji.

Zero Reflection READY
PLUG & PLAY
arx-games

Pakiety Gier (Lobby/Survival)

Gotowe implementacje trybów rozgrywki: instancja Lobby z komendą /survival oraz instancja Survival z natychmiastowym powrotem /lobby.

Dual-Instance Bundle READY

Przepływ Połączenia Gracza w ArxEngine

Krok 1

Klient Minecraft

Wersje 1.8.x - 1.21.11 - 26.2 (Vanilla / OptiFine / Fabric)

Krok 2

SessionManager

Weryfikacja profilu, faza Configuration, rejestry & tagi

Krok 3

Aktywna Instancja

Lobby / Survival / Minigame (Zero-lag Chunk Dispatch)

Modularne Programowanie

Eleganckie API w Czystej Javie

Zapomnij o topornych pluginach Bukkit czy skomplikowanych adapterach proxy. W ArxEngine moduły operują bezpośrednio na sesjach i instancjach z deklaratywnymi uprawnieniami.

Brak zależności zewnętrznych

Silnik kompiluje się do samodzielnego pliku JAR bez potrzeby instalowania Paper/Spigot.

Natywny transfer instancji

Komenda /survival przenosi gracza do innego świata natychmiastowym wywołaniem transferTo().

Zintegrowane bezpieczeństwo sesji

Izolacja pamięciowa między instancjami zapobiega wyciekom wątków i błędnym stanom.

LobbyModule.java
Java 21 • Gradle Multi-Module
public class LobbyModule implements ArxModule {

    @Override
    public void onEnable() {
        // Rejestracja komendy płynnego transferu
        CommandRegistry.register("survival", (session, args) -> {
            session.sendMessage("§aPrzenoszenie na Survival...");
            session.transferTo(Instances.get("survival"));
        });
    }

    @Override
    public Set<Capability> requiredCapabilities() {
        return Set.of(Capability.PLAYER, Capability.COMMANDS);
    }
}

Porównanie Architektury

Sprawdź, dlaczego czysty silnik Vanilla bez proxy wygrywa z ociężałym stosem Paper/BungeeCord.

Architektura Wymóg Proxy Transfer Gracza Użycie RAM Czas Startu
ArxEngine ZALECANY Brak (Zero) < 10ms (Bezszwowy) ~120 MB < 500 ms
Paper + Velocity Proxy Wymagane (Dodatkowy proces) 300 - 800ms (Loading screen) 2.5 - 4.0 GB 10 - 18 s
Spigot + BungeeCord Wymagane (Dodatkowy proces) 500 - 1200ms (Loading screen) 3.0 - 5.0 GB 12 - 20 s
Vanilla Mojang Server Brak wsparcia dla sieci Niemożliwy (Jeden świat) 2.0 - 3.5 GB 15 - 25 s
Gotowy do Uruchomienia w 5 Sekund

Uruchom Swój Serwer ArxEngine

Sklonuj repozytorium, uruchom komendę za pomocą Gradle Wrapper i połącz się dowolnym oficjalnym klientem Minecraft na porcie 25565.

$ ./gradlew :arx-runtime:run