Very Many Players (Fabric) — mod poprawiający wydajność serwerów z dużą liczbą graczy online w Minecraft
Very Many Players (Fabric) przyspiesza serwer Minecraft przy dużym onlinie: szybsze wyszukiwanie encji, asynchroniczne ładowanie chunków i…
Very Many Players (Fabric) przyspiesza serwer Minecraft przy dużym onlinie: szybsze wyszukiwanie encji, asynchroniczne ładowanie chunków i ochrona przed botami.
Very Many Players (Fabric) — mod poprawiający wydajność serwerów z dużą liczbą graczy online w Minecraft
Wersja Minecraft, na której przetestowano i napisano artykuł: 26.1.2
Zakres obsługiwanych wersji: 1.18.x – 26.1.2
Very Many Players to mod na Fabric, który zwiększa wydajność serwera Minecraft, gdy jednocześnie online jest wielu graczy. Autor zebrał w jednym projekcie serię punktowych optymalizacji kodu waniliowego: szybsze wyszukiwanie encji w promieniu, asynchroniczne ładowanie terenu przy wejściu i inne rzeczy, które zwykle administratorzy dużych serwerów muszą uzgadniać między sobą. Zachowanie gry przy tym się nie zmienia — mod niczego nie zmienia w mechanikach, jedynie przyspiesza procesy usługowe.
Co mod robi na serwerze
Podstawą są przepisane „gorące” miejsca kodu serwera. Zamiast przeglądać wszystkie encje w świecie w poszukiwaniu najbliższych, mod przechowuje indeksy przestrzenne i wykonuje wybór szybko i przewidywalnie. Na tej samej zasadzie oparte jest wyszukiwanie graczy w promieniu do wysyłania pakietów, trackery i sprawdzanie naturalnego spawnu. Na małym serwerze różnica jest niezauważalna. Przy 100+ graczach rozrzuconych po mapie każdy tick takich sprawdzeń kosztuje dużo — i właśnie tam praca moda jest zauważalna.
Praca z chunkami i siecią
Własny system wysyłania chunków to druga duża część moda. Chunki są ustawiane w kolejce według priorytetu (bliżej gracza — wcześniej) i mogą być wysyłane z ograniczeniem prędkości. Jest to szczególnie widoczne przy podłączaniu nowych graczy: zamiast od razu „wystrzelić” setką chunków i obciążyć sieć, serwer wysyła je równym strumieniem.
Osobna funkcja — indywidualny zasięg renderowania na poziomie pakietów sieciowych. Każdy gracz może otrzymywać swoją liczbę chunków wokół siebie bez zmiany ogólnego ustawienia serwera.
Ochrona przed botami
Sieciowe cykle obsługi połączeń są podzielone na grupy: etapy uzgadniania (handshake) i logowania są obsługiwane osobno od stanu gry. Jeśli fala botów próbuje masowo wejść na serwer, obciąża to tylko swój cykl, a już podłączeni gracze nie odczuwają opóźnień.
Konfiguracja
Plik — config/vmp.properties. Tworzony automatycznie po pierwszym uruchomieniu serwera z modem. Format — standardowy Java .properties, edytowany dowolnym edytorem tekstu. Zmiany są uwzględniane po ponownym uruchomieniu serwera.
Parametry
Parametr | Co robi |
| Główny przełącznik zoptymalizowanego trackera encji. |
| Pomocnicza flaga do poprzedniej. |
| Ładowanie startowych chunków przy wejściu gracza w osobnym wątku. |
| To samo dla części komend (np. teleportu). Domyślnie wyłączone ze względu na ryzyko regresji kompatybilności. |
| Obliczenia przejścia przez portal dla graczy przeniesione do osobnego wątku. |
| Włącza AsyncAppender z Log4j2 dla logów serwera. |
| Rozdziela cykle sieciowe dla różnych stanów połączenia (handshake/login/play). |
| Ograniczenie liczby chunków, które serwer wysyła jednemu graczowi na sekundę. -1 — bez ograniczenia; dowolna dodatnia liczba całkowita — górna granica w chunkach na sekundę |
| Wyświetla w konsoli komunikaty o asynchronicznym ładowaniu chunków. |
| Wyświetla w konsoli komunikaty systemu śledzenia chunków (diagnostyczne). |
Podsumowanie
Very Many Players utrzymuje TPS na serwerach z dziesiątkami-setkami jednoczesnych graczy, nie zmieniając mechanik gry. Zysk daje suma drobnych optymalizacji — szybsze wyszukiwanie encji, wyniesienie ciężkich operacji z głównego ticku, strumieniowe wysyłanie chunków. VMP jest najbardziej przydatny na projektach ze stale dużym onlinem: SMP z 50+ slotami, serwery minigier, publiczne anarchie.
Instalacja
Typowa instalacja zajmuje około 5 minut. Procedura jest taka sama; różni się tylko loader i odpowiedni build.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











