
PicoLimbo: Konfiguracja Lekkiego Serwera Minecraft
Quozul/PicoLimbo
Lekki serwer Minecraft napisany od podstaw w Rust obsługujący wersje Minecraft od 1.7.2 do 26.2.
Wyświetl na GitHubie ↗Większość serwerów Minecraft marnuje zasoby w czasach bezczynności, gdy gracze czekają lub afkują. PicoLimbo rozwiązuje ten problem ultralekkkim serwerem limbo napisanym w Rust - dedykowaną przestrzenią, gdzie gracze mogą czekać między przeskokami serwerów bez obciążania sprzętu. W trybie bezczynności praktycznie nie zużywa CPU i uruchamia całe serwery na mniej niż 10 MB pamięci RAM.
Czym dokładnie jest serwer limbo?
Zanim przejdziemy do samego PicoLimbo, wyjaśnijmy, co rozumiemy przez "limbo". W sieciach Minecraft serwer limbo to lekki obszar czekania - pomyśl o nim jako o poczekalni dla graczy. Gdy ktoś zaloguje się do twojego proxy (takiego jak Velocity lub BungeeCord), ale jeszcze nie dołączył do głównego serwera, ląduje tutaj. Lub jeśli prowadzisz dużą sieć z wieloma trybami gry, używasz limbo jako obszaru przejściowego przed wysłaniem graczy do właściwego miejsca docelowego.
Rzecz w tym, że limbo nie musi być wyszukane. Gracze nie budują, nie walczą z potworami i nie eksplorują terenu. Po prostu... siedzą. Może rozmawiają. Czekają na przyjaciół. Dlaczego więc uruchamiałbyś pełny serwer Minecraft ze wszystkim jego obciążeniem, gdy możesz uruchomić coś minimalnego?
Tu wkracza PicoLimbo.
Dlaczego PicoLimbo się wyróżnia
Porozmawiajmy o funkcjach, które naprawdę mają znaczenie dla tego przypadku użycia. Po pierwsze, zużycie CPU jest niemal przestępczo niskie. Większość tradycyjnych serwerów Minecraft bezczynnie zużywa 10-20% CPU, nawet gdy nic się nie dzieje. PicoLimbo siedzi na 0% w trybie bezczynności - nie przesadzam tutaj. Aktywuje się tylko wtedy, gdy musi wysłać pakiety utrzymania połączenia lub przetworzyć logowania. To staje się oczywiste, jeśli samodzielnie hostasz i płacisz za prąd.
Zużycie pamięci jest równie imponujące. Plik README twierdzi, że obsługuje setki graczy na mniej niż 10 MB RAM. Kiedy sprawdziłem dostarczane przez nich benchmarki, to twierdzenie się sprawdza.
A tutaj zaczyna się interesujące: wsparcie wersji. PicoLimbo natywnie obsługuje Minecraft od 1.7.2 aż do 26.2. To dwie dekady wersji klientów i nie potrzebuje ViaVersion ani żadnej warstwy translacyjnej. Każda wersja po prostu... działa. Jeśli prowadzisz sieć, na której gracze mogą korzystać ze starszych klientów lub najnowszego wydania, nie musisz się martwić niezgodnościami.
Obsługa skórkami jest wbudowana, co oznacza, że gracze rzeczywiście widzą się nawzajem prawidłowo. Wbudowana obsługa proxy obejmuje wszystkie główne systemy: Velocity, BungeeCord i uwierzytelnianie BungeeGuard. To nie wynalazanie koła na nowo - po prostu implementacja integracji, które byś faktycznie używał.
Uruchamianie
Istnieje kilka sposobów wdrażania PicoLimbo w zależności od konfiguracji.
Docker to najprostsze, jeśli czujesz się komfortowo z kontenerami:
docker run --rm -p "25565:25565" ghcr.io/quozul/picolimbo:latestTo pobiera najnowszy obraz i uruchamia serwer na domyślnym porcie Minecraft. Gotowe. Jeśli chcesz trwałości, oczywiście zamontowałbyś wolumin plików konfiguracyjnych, ale podstawowe polecenie to jednowierszowiec.
Samodzielny plik binarny to twoja opcja, jeśli Docker nie jest dla ciebie. Udaj się na stronę wydań GitHub i pobierz plik binarny dla swojego systemu operacyjnego (Linux x86_64, ARM, macOS). Rozpakuj go, skonfiguruj plik TOML, uruchom go. Konfiguracja to proste TOML - nie jakieś napuchnięte XML czy JSON z zagnieżdżonymi tablicami.
Wrapper Java istnieje dla osób, które chcą uruchamiać PicoLimbo jako wtyczkę w Velocity lub BungeeCord, lub jako zwykły plik JAR. Jest dostępny na Modrinth, jeśli wolisz prebudowaną wersję zamiast kompilowania ze źródła.
Pterodactyl - Użytkownicy Pterodactyla otrzymują oficjalne jaja w repozytorium, więc jeśli używasz tego panelu, integruje się bez problemu.
Konfiguracja to miejsce, gdzie wszystko staje się miłe. W przeciwieństwie do niektórych projektów, PicoLimbo nie wrzuca ci pliku konfiguracyjnego o 500 liniach. Otrzymujesz plik TOML, w którym możesz ustawić komunikat powitalny, skonfigurować wymiar spawnu, dostosować MOTD dla listy serwerów i zdefiniować ustawienia uwierzytelniania proxy. Dokumentacja również jest dość solidna, więc nie musisz dekodować domyślnych ustawień ze źródła.
Funkcje, które mają znaczenie
Poza surową wydajnością, co jeszcze PicoLimbo wnosi na stół?
Obsługa świata schematycznego pozwala na załadowanie niestandardowego świata z pliku schematu i ustawienie lokalizacji spawnu. To jest oznaczone jako eksperymentalne i działa tylko na 1.16+, ale jeśli chcesz, aby twoje limbo wyglądało wyszukanie zamiast czerni pustki, możesz zbudować schemat w WorldEdit i go wrzucić. Szczerze mówiąc, to miły akcent dla konkurencyjnych sieci, gdzie estetyka limbo ma znaczenie.
Renderowanie skórki oznacza, że gracze faktycznie widzą siebie nawzajem w limbo. Mały szczegół, ale ma znaczenie dla doświadczenia gracza. Nikt nie chce widzieć domyślnego Steve'a.
Forwarding proxy jest solidny. Obsługuje nowoczesne forwarding Velocity'ego (bezpieczny sposób), starsze forwarding BungeeCorda (jeśli masz starszą infrastrukturę) i uwierzytelnianie BungeeGuard, aby zapobiec spoofingowi. Jeśli prowadzisz sieć za proxy, PicoLimbo się z tobą nie kłóci - po prostu działa z tym, co masz.
Kto powinien to używać
Bądźmy szczerzy: PicoLimbo nie jest dla każdego.

Jeśli prowadzisz serwer vanilli survival, gdzie gracze bezpośrednio przebywają, potrzebujesz prawdziwego serwera z ładowaniem chunków i wszystkiego innego, co zapewnia Minecraft. PicoLimbo nie pomoże.
Ale jeśli prowadzisz sieć z wieloma serwerami lub trybami gry, PicoLimbo jest genialny. Używasz go jako strefy lądowania, podczas gdy gracze wybierają, gdzie iść dalej. Jeśli prowadzisz konkurencyjne serwery z turniejami lub grami wymagającymi obszarów przejściowych, to idealne. Jeśli masz duży ruch bezczynności i twój rachunek za serwer rośnie, to prawdopodobnie zmniejsza go o połowę lub więcej.
Sieci proxy to główny przypadek użycia, ale niektórzy uruchamiają dedykowane serwery AFK dla sieci, na których gracze muszą pozostać "podłączeni" podczas gdy aktywnie nie grają. Efektywność zasobów PicoLimbo czyni to wykonalnym na dużą skalę.
Potencjalne pułapki i wskazówki
Nic nie jest doskonałe, więc oto na co powinieneś zwrócić uwagę.
Limity graczy są rzeczywiste. Chociaż teoretycznie może obsługiwać setki graczy na minimalnym RAM-ie, twój rzeczywisty limit zależy od sprzętu, przepustowości sieci i częstotliwości dołączania i odchodzenia graczy. Zacznij konserwatywnie i skaluj w razie potrzeby. Obserwuj logi serwera podczas testów obciążeniowych, aby zobaczyć, gdzie napotykasz wąskie gardła.
Konfiguracja jest potężna, ale wymaga uwagi. Jeśli źle skonfigurujesz ustawienia proxy (zwłaszcza forwarding uwierzytelniania), gracze mogą nie połączyć się prawidłowo lub mogą pojawić się jako inny gracz. Uważnie przeczytaj dokumentację podczas konfigurowania forwardingu BungeeGuard lub Velocity.
Światy schematyczne są eksperymentalne. Funkcja działa, ale traktuj ją jako taką. Jeśli prowadzisz produkcję, dokładnie testuj schematy przed wdrażaniem.
Najnowsze wydania na bieżąco z aktualizacjami Minecraft w wiarygodny sposób. Notatki wydania v1.13.1 wspominają poprawki do mapowań blocks.json w ostatnich wersjach, więc opiekun aktywnie podąża za nowymi wydaniami.
Alternatywy warte rozważenia
Jeśli PicoLimbo nie odpowiada twoim potrzebom, istnieją inne opcje warte sprawdzenia.
Velocity samo w sobie może obsługiwać funkcjonalność limbo, ale jest cięższe i zaprojektowane jako proxy, a nie dedykowany lekki serwer. Jeśli już używasz Velocity'ego, możesz obsługiwać limbo tam zamiast uruchamiania oddzielnej usługi.
Powód, dla którego PicoLimbo zwycięża dla większości sieci, to po prostu specjalizacja. Robi jedną rzecz i robi to praktycznie bez marnowania.
Praktyczne wnioski
PicoLimbo robi wrażenie, jeśli twój przypadek użycia się zgadza. Wydajność jest rzeczywiście zauważalna, wsparcie wersji jest szerokie, a konfiguracja jest odświeżająco prosta. Jeśli zarządzasz siecią i potrzebujesz lekkiej strefy lądowania dla graczy, warto to przetestować. Projekt GitHub ma 480 gwiazdek, aktywną społeczność Discord i solidną dokumentację - więc nie obstawiasz martwego projektu.
Aby zarządzać białą listą w swojej sieci, sprawdź Narzędzie do tworzenia białej listy Minecraft jeśli obsługujesz wiele serwerów. A jeśli potrzebujesz znaleźć określone bloki do konfiguracji świata schematycznego, Narzędzie wyszukiwania bloków Minecraft może zaoszczędzić czas.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.


