Jak zoptymalizować serwer Minecraft? Poradnik zwiększania wydajności

Jak zoptymalizować serwer Minecraft? Poradnik zwiększania wydajności

Dlaczego serwer Minecraft laguje?

Lagi na serwerze Minecraft to najczęstszy problem administratorów. Zanim przejdziemy do optymalizacji, zrozummy co powoduje spadki wydajności:

  • Za mało RAM - serwer nie ma wystarczającej pamięci
  • Słaby procesor - Minecraft jest single-threaded
  • Za dużo mobów/entity - tysiące mobów obciążają serwer
  • Źle skonfigurowane pluginy - niektóre pluginy są bardzo wymagające
  • Duży view-distance - renderowanie zbyt wielu chunków
  • Brak optymalizacji - domyślne ustawienia nie są zoptymalizowane

Jak sprawdzić wydajność serwera?

Przed optymalizacją sprawdź aktualne TPS (Ticks Per Second):

  • Komenda: /tps (wymaga pluginu lub Paper)
  • 20.0 TPS = idealnie, brak lagów
  • 18-19 TPS = lekkie lagi
  • 15-17 TPS = zauważalne lagi
  • Poniżej 15 TPS = poważne problemy

Użyj też pluginu Spark do profilowania - pokaże co dokładnie powoduje lagi.

Krok 1: Wybór odpowiedniego oprogramowania serwera

Nie wszystkie silniki serwerów są równe. Oto ranking wydajności:

  1. Paper - najlepsza optymalizacja, kompatybilny ze Spigot
  2. Purpur - Paper + dodatkowe funkcje
  3. Spigot - dobry, ale wolniejszy niż Paper
  4. Vanilla - najwolniejszy, brak optymalizacji

Rekomendacja: Użyj Paper lub Purpur dla najlepszej wydajności.

Krok 2: Optymalizacja server.properties

Edytuj plik server.properties i zmień te ustawienia:

# Zmniejsz view-distance (domyślnie 10)
view-distance=6

# Zmniejsz simulation-distance (Paper/1.18+)
simulation-distance=4

# Zwiększ network-compression-threshold
network-compression-threshold=512

# Wyłącz sync-chunk-writes (Paper)
sync-chunk-writes=false

view-distance to najważniejsze ustawienie - zmniejszenie z 10 do 6 może zwiększyć wydajność o 40%!

Krok 3: Optymalizacja bukkit.yml

Edytuj bukkit.yml:

spawn-limits:
  monsters: 50  # domyślnie 70
  animals: 8    # domyślnie 10
  water-animals: 3  # domyślnie 5
  water-ambient: 2  # domyślnie 20
  ambient: 1    # domyślnie 15

chunk-gc:
  period-in-ticks: 400  # domyślnie 600

ticks-per:
  animal-spawns: 400  # domyślnie 400
  monster-spawns: 5   # domyślnie 1
  water-spawns: 11    # domyślnie 1
  water-ambient-spawns: 21  # domyślnie 1
  ambient-spawns: 31  # domyślnie 1

Krok 4: Optymalizacja spigot.yml

Edytuj spigot.yml:

world-settings:
  default:
    # Zmniejsz mob-spawn-range
    mob-spawn-range: 4  # domyślnie 8
    
    # Zwiększ entity-activation-range
    entity-activation-range:
      animals: 16  # domyślnie 32
      monsters: 24  # domyślnie 32
      raiders: 48
      misc: 8  # domyślnie 16
    
    # Zmniejsz tick-inactive-villagers
    tick-inactive-villagers: false
    
    # Optymalizuj merge-radius
    merge-radius:
      item: 3.5
      exp: 4.0
    
    # Zwiększ growth delays
    growth:
      cactus-modifier: 150  # domyślnie 100
      cane-modifier: 150
      melon-modifier: 150
      mushroom-modifier: 150
      pumpkin-modifier: 150
      sapling-modifier: 150
      beetroot-modifier: 150
      carrot-modifier: 150
      potato-modifier: 150
      wheat-modifier: 150

Krok 5: Optymalizacja paper.yml (Paper/Purpur)

Edytuj paper.yml lub paper-world-defaults.yml (1.19+):

# Optymalizacja chunków
max-auto-save-chunks-per-tick: 8  # domyślnie 24

# Optymalizacja redstone
redstone-implementation: ALTERNATE  # szybszy redstone

# Optymalizacja mobów
despawn-ranges:
  monster:
    soft: 28  # domyślnie 32
    hard: 96  # domyślnie 128

# Optymalizacja hopper
hopper:
  disable-move-event: true  # wyłącz jeśli nie używasz pluginów z hopperami

# Optymalizacja entity
per-player-mob-spawns: true  # lepsze spawny

# Optymalizacja map
treasure-maps-find-already-discovered: true

Krok 6: Argumenty JVM (Java)

Użyj zoptymalizowanych argumentów startowych Java:

Dla 4-8GB RAM (Aikar's flags):

java -Xms4G -Xmx4G -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 nogui

Dla 10GB+ RAM:

java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -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 nogui

Krok 7: Pluginy optymalizacyjne

Zainstaluj te pluginy dla lepszej wydajności:

  • ClearLag - usuwa itemy i moby
  • FarmControl - limituje farmy mobów
  • Spark - profilowanie wydajności
  • ChunkMaster - pregeneracja świata

Krok 8: Pregeneracja świata

Generowanie nowych chunków podczas gry powoduje lagi. Pregeneruj świat przed otwarciem serwera:

  1. Zainstaluj plugin Chunky
  2. Komenda: /chunky radius 5000 (5000 bloków)
  3. Komenda: /chunky start
  4. Poczekaj kilka godzin

Krok 9: Optymalizacja pluginów

Niektóre pluginy są bardzo wymagające:

  • Usuń niepotrzebne pluginy - każdy plugin obciąża serwer
  • Wyłącz niepotrzebne funkcje - w config.yml pluginów
  • Użyj lżejszych alternatyw - np. TAB zamiast FeatherBoard
  • Sprawdź Spark - pokaże które pluginy lagują

Krok 10: Monitoring i maintenance

Regularne utrzymanie serwera:

  • Restart co 24h - czyści pamięć
  • Aktualizuj Paper - nowe wersje są szybsze
  • Monitoruj TPS - używaj /tps lub Spark
  • Czyść stare chunki - plugin WorldBorder
  • Backup regularnie - ale nie podczas peak hours

Checklist optymalizacji

Użyj tej checklisty:

  • ☐ Zmieniono na Paper/Purpur
  • ☐ view-distance = 6
  • ☐ simulation-distance = 4
  • ☐ Zoptymalizowano bukkit.yml
  • ☐ Zoptymalizowano spigot.yml
  • ☐ Zoptymalizowano paper.yml
  • ☐ Użyto Aikar's flags
  • ☐ Zainstalowano ClearLag
  • ☐ Pregenerowano świat
  • ☐ Usunięto niepotrzebne pluginy

Podsumowanie

Optymalizacja serwera Minecraft to proces, który może zwiększyć wydajność nawet o 200%. Najważniejsze kroki to:

  1. Użyj Paper zamiast Spigot/Vanilla
  2. Zmniejsz view-distance do 6
  3. Zoptymalizuj pliki konfiguracyjne
  4. Użyj Aikar's flags dla Java
  5. Pregeneruj świat

Potrzebujesz wydajnego hostingu? Sprawdź nasze pakiety z procesorami najnowszej generacji i dyskami NVMe!

Gotowy na własny serwer Minecraft?

Sprawdź nasze pakiety hostingu i uruchom serwer w 5 minut!

Zobacz cennik

Zapisz się, do Newsletter'a
i wiedz że tego nie będziesz żałować.

Nie masz czasu na przeglądanie naszych mediów społecznościowych,
zapisz się do Newsletter'a, a my poinformujemy Cię, jeśli pojawią się nowe promocje.