Optymalizacja serwera Minecraft: Kompletny przewodnik 2025 do zmniejszenia opóźnień i poprawy wydajności
Uruchamianie serwera Minecraft, który zapewnia płynną, wolną od opóźnień rozgrywkę, to zarówno sztuka, jak i nauka. Niezależnie od tego, czy hostujesz mały świat przetrwania dla przyjaciół, czy zarządzasz dużym publicznym serwerem z dziesiątkami jednoczesnych graczy, optymalizacja wydajności to różnica między kwitnącą społecznością a frustrującym doświadczeniem. Ten kompleksowy przewodnik przeprowadzi Cię przez każdą warstwę optymalizacji serwera Minecraft — od wyboru sprzętu i dostrajania JVM po zarządzanie wtyczkami i monitorowanie w czasie rzeczywistym — abyś mógł maksymalnie wykorzystać swoje środowisko hostingowe w 2025 roku.
Dlaczego optymalizacja serwera Minecraft ma znaczenie
Serwer Java Edition Minecraft jest notoryczne zasobożerny. Gra działa na jednowątkowej pętli tiku, co oznacza, że nawet przy potężnym wielordzeniowym CPU, słaba konfiguracja może spowodować spadki szybkości tiku, opóźnienia ładowania chunków i lag jednostek. Gdy liczba graczy rośnie lub świat staje się bardziej złożony dzięki modom i wtyczkom, problemy te szybko się nawarstwiają.
Optymalizacja to nie jednorazowe zadanie — to ciągły proces dostrajania, monitorowania i iteracji. Dobra wiadomość jest taka, że przy odpowiednim oprogramowaniu serwera, sprzęcie i konfiguracji, możesz obsługiwać znacznie więcej graczy przy znacznie mniejszym lag niż domyślna konfiguracja pozwala.
1. Wybór odpowiedniego środowiska hostingowego
Zanim dotkniesz pojedynczego pliku konfiguracyjnego, musisz upewnić się, że Twój serwer działa na sprzęcie zdolnym do spełnienia wymagań Minecraft. Hosting Minecraft na niedostatecznie zasilonych zasobach współdzielonych to jedna z najczęstszych przyczyn trwałego lag.
CPU: Szybkość zegara ponad liczbę rdzeni
Główna pętla gry Minecraft jest jednowątkowa, co oznacza, że surowa szybkość zegara ma większe znaczenie niż liczba rdzeni. Procesor działający na 4,5 GHz będzie działać lepiej niż 16-rdzeniowy serwer działający na 2,8 GHz dla większości obciążeń Minecraft. Wybierając plan hostingowy, priorytetyzuj wysoką wydajność pojedynczego rdzenia.
RAM: Przydzielaj hojnie, ale nie nadmiernie
Alokacja RAM to jeden z najbardziej niezrozumianych aspektów zarządzania serwerem Minecraft. Za mało powoduje stałe pauzy zbierania śmieci; zbyt wiele może paradoksalnie zwiększyć czas pauzy GC. Użyj tych wytycznych jako punktu wyjścia:
| Liczba graczy | Zalecana RAM |
|---|---|
| 1–10 graczy | 2–4 GB |
| 10–30 graczy | 4–8 GB |
| 30–60 graczy | 8–12 GB |
| 60+ graczy / ciężkie mody | 12–16 GB+ |
Pamiętaj, że te liczby zakładają rozsądnie zoptymalizowany serwer. Serwer Forge lub Fabric z dużą ilością modów może wymagać znacznie więcej RAM na każdym poziomie.
Magazyn: NVMe SSD jest niezbędny
Minecraft stale czyta i zapisuje dane chunków na dysk. Na tradycyjnym HDD tworzy to poważne wąskie gardła I/O, szczególnie podczas eksploracji świata lub gdy wielu graczy jest aktywnych jednocześnie. NVMe SSD dramatycznie zmniejsza czasy ładowania chunków i eliminuje większość skoków lag związanych z dyskiem.
Do poważnego hostingu Minecraft, Hosting VPS od AlexHost zapewnia magazyn NVMe SSD, procesory o wysokiej częstotliwości i pełny dostęp root — dając Ci pełną kontrolę nad środowiskiem serwera bez narzutu hostingu współdzielonego.
Jeśli uruchamiasz duży publiczny serwer lub sieć z dużą ilością modów, rozważ uaktualnienie do Serwerów dedykowanych w celu uzyskania gwarantowanych zasobów, maksymalnej wydajności pojedynczego rdzenia i ochrony DDoS na poziomie przedsiębiorstwa, która utrzymuje Twój serwer online podczas ataków.
2. Wybór odpowiedniego oprogramowania serwera
Standardowy plik JAR serwera Minecraft dystrybuowany przez Mojang nie jest zoptymalizowany pod kątem wydajności. Przejście na oprogramowanie serwera opracowane przez społeczność to jedna z pojedynczych zmian o największym wpływie, którą możesz wprowadzić.
PaperMC (Rekomendowany)
PaperMC to fork Spigota, który zawiera setki poprawek wydajności, asynchroniczne ładowanie chunków i bogatą konfigurację, która daje administratorom precyzyjną kontrolę nad zachowaniem serwera. To najszerzej rekomendowane oprogramowanie serwera dla wdrożeń skoncentrowanych na wydajności w 2025 roku.
Kluczowe zalety:
- Asynchroniczne ładowanie i generowanie chunków
- Konfigurowalne zakresy aktywacji jednostek
- Zoptymalizowana obróbka redstone i hopperów
- Pliki konfiguracyjne dla każdego świata
- Aktywny rozwój z częstymi aktualizacjami wydajności
Spigot
Spigot to poprzednik PaperMC i nadal solidny wybór, szczególnie dla serwerów, które polegają na wtyczkach nie kompatybilnych jeszcze z Paper. Jednak dla większości przypadków użycia PaperMC jest lepszą opcją.
Purpur
Purpur to fork PaperMC, który dodaje jeszcze więcej opcji konfiguracji i eksperymentalnych funkcji wydajności. Jest idealny dla administratorów, którzy chcą maksymalnej kontroli i są zaznajomieni z nieco mniej stabilną bazą kodu.
Fabric + Lithium + Phosphor (Serwery z modami)
W przypadku serwerów z modami działających na Fabric, kombinacja Lithium (ogólny mod optymalizacyjny), Phosphor (optymalizacja silnika oświetlenia) i Starlight (zamiennik silnika oświetlenia) zapewnia znaczne ulepszenia wydajności porównywalne z tym, co PaperMC oferuje dla serwerów zbliżonych do vanilla.
3. Flagi uruchamiania JVM i dostrajanie zbierania śmieci
Ustawienia Java Virtual Machine, które używasz do uruchomienia serwera, mają ogromny wpływ na wydajność, szczególnie na zachowanie zbierania śmieci. Domyślne ustawienia JVM nie są zoptymalizowane dla wzorców użycia pamięci Minecraft.
Rekomendowane flagi JVM (Flagi Aikara)
Najszerzej przyjęte flagi optymalizacyjne dla serwerów Minecraft są znane jako „Flagi Aikara”, opracowane przez głównego dewelopera EmpireMinecraft. Te flagi dostrajają kolektor śmieci G1 dla specyficznych wzorców użycia sterty Minecraft:
java -Xms8G -Xmx8G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30
-XX:G1MaxNewSizePercent=40
-XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20
-XX:G1HeapWastePercent=5
-XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15
-XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5
-XX:SurvivorRatio=32
-XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
-Dusing.aikars.flags=https://mcflags.emc.gs
-Daikars.new.flags=true
-jar server.jar noguiWażne uwagi:
- Ustaw
-Xmsi-Xmxna tę samą wartość, aby zapobiec narzutowi zmiany rozmiaru sterty - Nie przydzielaj więcej niż 75–80% całkowitej RAM systemu do JVM
- Jeśli przydzielasz więcej niż 12 GB, dostosuj
G1HeapRegionSizedo16M
ZGC dla dużych stertach (Java 17+)
W przypadku serwerów działających na Java 17 lub nowszej z bardzo dużymi alokacjami sterty (16 GB+), Z Garbage Collector (ZGC) może oferować niższe czasy pauzy niż G1GC. Jednak wymaga bardziej ostrożnego dostrajania i jest generalnie rekomendowany tylko dla doświadczonych administratorów.
4. Optymalizacja server.properties
Plik server.properties kontroluje fundamentalne zachowanie serwera. To są najistotniejsze ustawienia do dostrojenia:
# Reduce view distance to decrease chunk rendering load
view-distance=6
# Reduce simulation distance (controls entity/redstone processing range)
simulation-distance=4
# Increase max tick time to prevent false watchdog crashes during load spikes
max-tick-time=60000
# Disable spawn protection if not needed (reduces overhead)
spawn-protection=0
# Limit network compression threshold
network-compression-threshold=256
# Enable prevent-proxy-connections if not using a proxy
prevent-proxy-connections=falseDystans widoku vs. dystans symulacji: W nowoczesnych wersjach Minecraft to są oddzielne ustawienia. view-distance kontroluje, ile chunków jest wysyłanych do klientów do renderowania, podczas gdy simulation-distance kontroluje, ile chunków jest aktywnie przetwarzanych (jednostki, redstone, itp.). Zmniejszenie simulation-distance do 4–6 ma znacznie większy wpływ na wydajność niż zmniejszenie view-distance.
5. Optymalizacja konfiguracji PaperMC
PaperMC udostępnia kilka plików konfiguracyjnych, które zapewniają szczegółową kontrolę nad systemami krytycznymi dla wydajności.
paper-global.yml (wcześniej paper.yml)
chunk-loading:
autoconfig-send-distance: true
enable-frustum-priority: false
global-max-chunk-load-rate: 500
player-max-chunk-load-rate: 100
player-max-chunk-send-rate: 75
async-chunks:
threads: -1 # Auto-detect based on CPU cores
item-despawn-rate: 6000 # Items despawn after 5 minutes (default: 6000)
hopper:
cooldown-when-full: true
disable-move-event: false
ignore-occluding-blocks: truepaper-world-defaults.yml
entities:
spawning:
per-player-mob-spawns: true
behavior:
baby-zombie-movement-modifier: 0.5
environment:
max-chunk-generate-rate: 8
tick-rates:
mob-spawner: 2
container-update: 1
grass-spread: 4
alt-item-despawn-rate:
enabled: true
items:
COBBLESTONE: 300
NETHERRACK: 300
SAND: 300
GRAVEL: 300Spigot.yml
world-settings:
default:
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
water: 8
villagers: 16
flying-monsters: 32
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
merge-radius:
item: 2.5
exp: 3.0
mob-spawn-range: 6
tick-inactive-villagers: false
nerf-spawner-mobs: true6. Zarządzanie jednostkami i światem
Jednostki to jedna z głównych przyczyn lag serwera. Efektywne zarządzanie nimi jest krytyczne dla utrzymania zdrowotnego TPS (tiki na sekundę).
Limity mobów i limity spawnowania
Zmniejsz globalne limity mobów w bukkit.yml aby zapobiec spirali liczby jednostek:
spawn-limits:
monsters: 50 # Default: 70
animals: 8 # Default: 10
water-animals: 3 # Default: 5
water-ambient: 10 # Default: 20
ambient: 1 # Default: 15Optymalizacja wieśniaków
Wieśniacy są notoryczne drogie pod względem cykli CPU ze względu na ich szukanie ścieżki i AI handlowe. Jeśli Twój serwer ma duże wioski lub zbudowane przez graczy sale handlowe, rozważ:
- Ustawienie
tick-inactive-villagers: falsew spigot.yml - Użycie wtyczki VillagerOptimiser do zmniejszenia częstotliwości przetwarzania AI wieśniaków
- Ograniczenie liczby wieśniaków na obszar poprzez zasady serwera lub wtyczki
Optymalizacja Redstone
Złożone urządzenia redstone mogą spowodować znaczne spadki TPS. PaperMC zawiera alternatywne algorytmy redstone:
# In paper-world-defaults.yml
redstone-implementation: ALTERNATE_CURRENTImplementacja ALTERNATE_CURRENT jest znacznie bardziej wydajna niż vanilla redstone dla złożonych obwodów.
7. Wtyczki zwiększające wydajność
Właściwe wtyczki mogą znacznie zmniejszyć obciążenie serwera. Złe mogą zniszczyć wydajność. Oto najistotniejsze opcje:
Niezbędne wtyczki wydajności
Spark
Złoty standard profilowania serwera Minecraft. Spark zapewnia szczegółowe profilowanie CPU, analizę pamięci i monitorowanie TPS. Powinno być zainstalowane na każdym serwerze.
/spark profiler start
/spark profiler stop
/spark healthClearLag
Automatycznie usuwa nadmiarowe jednostki (upuszczone przedmioty, pociski, itp.) na konfigurowalnym harmonogramie. Szczególnie przydatne dla serwerów z aktywnymi graczami, którzy generują dużą ilość upuszczonych przedmiotów.
FarmControl
Ogranicza rozmiar i gęstość farm mobów, które są częstym źródłem lag związanego z jednostkami na serwerach przetrwania.
Chunky
Wstępnie generuje chunki w konfigurowalnym promieniu wokół spawnu lub kluczowych lokalizacji. Wstępna generacja eliminuje koszt wydajności generowania chunków na żądanie podczas rozgrywki, która jest jedną z najbardziej wymagających CPU operacji, które serwer Minecraft wykonuje.
/chunky start
/chunky radius 5000
/chunky world world_nameLuckPerms
Najbardziej wydajna dostępna wtyczka uprawnień. Jeśli używasz starszego systemu uprawnień, takiego jak PermissionsEx lub GroupManager, migracja do LuckPerms zmniejszy narzut.
Wtyczki do unikania lub ostrożnego użycia
- WorldEdit z dużymi zaznaczeniami: Wykonywanie masowych operacji WorldEdit na działającym serwerze może go zamarznąć na sekundy. Użyj trybu asynchronicznego WorldEdit lub wykonaj duże operacje w godzinach o niskim ruchu.
- Dynmap: Renderowanie mapy w czasie rzeczywistym jest niezwykle wymagające CPU. Skonfiguruj go do renderowania tylko w godzinach o niskim ruchu.
- Wtyczki anti-cheat: Niektóre rozwiązania anti-cheat mają znaczny narzut wydajności. Testuj ostrożnie i wybieraj lekkie opcje, takie jak Grim zamiast cięższych alternatyw.
8. Sieć i ochrona DDoS
Serwer Minecraft, który jest technicznie dobrze zoptymalizowany, może nadal cierpieć z powodu problemów z łącznością spowodowanych problemami na poziomie sieci. Ataki DDoS skierowane na serwery gier są powszechne, szczególnie dla publicznych serwerów.
Hosting serwera z wbudowaną ochroną DDoS eliminuje potrzebę drogich usług łagodzenia stron trzecich. Hosting VPS i Serwery dedykowane AlexHost zawierają ochronę DDoS jako standard, utrzymując Twój serwer online i responsywny nawet podczas ataków objętościowych.
BungeeCord / Velocity Proxy
Jeśli uruchamiasz sieć wielu serwerów Minecraft, warstwa proxy (BungeeCord lub bardziej nowoczesna, wyższej wydajności Velocity) rozprowadza połączenia graczy na serwery backend, zapobiegając przeciążeniu dowolnej instancji. Velocity w szczególności oferuje znacznie lepszą wydajność i bezpieczeństwo niż BungeeCord.
9. Regularny harmonogram konserwacji
Optymalizacja to nie proces „ustaw i zapomnij”. Ustalenie regularnego harmonogramu konserwacji utrzymuje Twój serwer w najlepszej wydajności w czasie.
Automatyczne restartowanie
Fragmentacja pamięci i akumulacja stanu wtyczki powodują stopniową degradację wydajności w czasie. Zaplanowane restartowanie czyści te problemy. Skonfiguruj automatyczne restartowanie w godzinach o niskim ruchu za pomocą zadania cron lub panelu zarządzania serwerem:
# Cron job for daily 4 AM restart
0 4 * * * /path/to/restart-minecraft.shUżyj skryptu restartowania, który wysyła ostrzeżenia w grze przed wyłączeniem:
#!/bin/bash
screen -S minecraft -X stuff "say Server restarting in 5 minutes for maintenance.n"
sleep 240
screen -S minecraft -X stuff "say Server restarting in 1 minute.n"
sleep 60
screen -S minecraft -X stuff "stopn"
sleep 15
# Start server
screen -S minecraft -X stuff "java -Xms8G -Xmx8G [flags] -jar server.jar noguin"Konserwacja świata
- Przytnij nieużywane chunki: Użyj narzędzi takich jak Chunky lub MCA Selector do usunięcia chunków, które nie były odwiedzane przez miesiące, zmniejszając rozmiar świata i czasy kopii zapasowych.
- Regularnie twórz kopie zapasowe: Użyj przyrostowych kopii zapasowych za pomocą narzędzi takich jak DriveBackupV2 do utrzymania kroczących kopii zapasowych bez nadmiernego użycia dysku.
- Wyczyść stare logi: Logi serwera mogą gromadzić się do gigabajtów w czasie. Wdrażaj rotację dzienników, aby zapobiec problemom z miejscem na dysku.
Utrzymuj oprogramowanie na bieżąco
Przestarzałe oprogramowanie serwera, wtyczki i sam JVM to częste źródła regresji wydajności i luk bezpieczeństwa. Ustal proces przeglądania i stosowania aktualizacji:
- Testuj aktualizacje na serwerze przejściowym przed zastosowaniem do produkcji
- Przejrzyj dzienniki zmian pod kątem zmian związanych z wydajnością
- Monitoruj TPS i użycie pamięci po aktualizacjach, aby wcześnie złapać regresje
10. Monitorowanie wydajności serwera
Nie możesz zoptymalizować tego, czego nie możesz zmierzyć. Kompleksowe monitorowanie to podstawa efektywnego zarządzania wydajnością.
Polecenia monitorowania w grze
Sprawdzenie TPS (PaperMC):
/tpsZdrowy serwer utrzymuje 20 TPS. Wartości poniżej 18 wskazują na problemy z wydajnością wymagające zbadania.
Użycie pamięci:
/memoryProfilowanie Spark:
/spark profiler start --timeout 60Po uruchomieniu profilera Spark generuje adres URL raportu, który można udostępniać i pokazuje dokładnie, które operacje zużywają najwięcej czasu CPU.
Monitorowanie na poziomie systemu
Aby uzyskać głębszą widoczność wydajności serwera, użyj narzędzi monitorowania systemu:
htop / top: Użycie CPU i pamięci w czasie rzeczywistym na proces
iostat: Statystyki I/O dysku — przydatne do identyfikacji wąskich gardeł magazynowania
iostat -x 1 10vmstat: Statystyki pamięci wirtualnej — pomaga zidentyfikować presję pamięci
vmstat 1 10Netdata lub Prometheus + Grafana: W przypadku serwerów produkcyjnych pełny stos monitorowania z danymi historycznymi i alertami zapewnia bezcenny wgląd w trendy wydajności w czasie.
Kluczowe metryki do śledzenia
| Metryka | Zdrowy zakres | Próg działania |
|---|---|---|
| TPS | 19,5–20,0 | Poniżej 18,0 |
| Użycie CPU | Poniżej 70% | Powyżej 85% |
| Użycie RAM | Poniżej 80% przydzielonego | Powyżej 90% |
| Oczekiwanie I/O dysku | Poniżej 5% | Powyżej 15% |
| Czas pauzy GC | Poniżej 100ms | Powyżej 500ms |
11. Zaawansowane techniki optymalizacji
Asynchroniczna generacja świata z wstępną generacją Chunky
Uruchamianie generacji chunków podczas rozgrywki to jedna z najbardziej wymagających operacji, które serwer Minecraft wykonuje. Wstępne wygenerowanie świata przed eksploracyją graczy całkowicie eliminuje ten koszt:
/chunky world world
/chunky radius 10000
/chunky startTo generuje wszystkie chunki w promieniu 10 000 bloków od spawnu. Dla serwera przetrwania obejmuje to zdecydowaną większość obszaru, który gracze będą realistycznie eksplorować i eliminuje lag generowania na żądanie przez całe życie serwera.
Optymalizacja bazy danych dla dużych serwerów
Duże serwery używające backendów MySQL lub MariaDB dla danych graczy, wtyczek ekonomii lub innych systemów powinny upewnić się, że ich baza danych jest prawidłowo zoptymalizowana:
- Użyj puli połączeń (HikariCP to standard dla wtyczek Minecraft)
- Indeksuj często wyszukiwane kolumny
- Uruchamiaj
OPTIMIZE TABLEokresowo na tabelach o wysokim zapisie - Rozważ użycie dedykowanego serwera bazy danych dla bardzo dużych wdrożeń
Optymalizacja na poziomie proxy
W przypadku sieci wieloserwerowych skonfiguruj Velocity lub BungeeCord za pomocą:
- HAProxy przed Twoim proxy do równoważenia obciążenia i dodatkowego łagodzenia DDoS
- TCPShield lub podobne usługi do ochrony na poziomie sieci
- Właściwe reguły zapory, aby upewnić się, że gracze mogą łączyć się tylko przez proxy, a nie bezpośrednio
