View-distance i simulation-distance — jak ustawić optymalnie
Dwa parametry, które decydują o większości wydajności współczesnego serwera Minecraft. Tłumaczymy różnicę i pokazujemy realne wartości dla różnych skal serwera.
view-distance i simulation-distance to dwa parametry, które najmocniej wpływają na wydajność współczesnego serwera Minecraft. Domyślne wartości pochodzą z czasów singleplayer. Na multiplayer wymagają dostosowania — inaczej procesor zostaje zarzucony, a gracze narzekają na lagi.
Czym są te parametry?
view-distance kontroluje, ile chunków widzi klient gracza. Wartość 8 = 8 chunków w każdym kierunku = obszar 17×17 chunków = 272×272 bloków widoczne.
simulation-distance kontroluje, w jakim promieniu serwer aktywnie symuluje świat. Moby chodzą, redstone działa, pszczoły zapylają, plony rosną — tylko w obrębie simulation-distance.
Wprowadzony w Minecraft 1.18 — wcześniej oba były połączone w jeden parametr.
Dlaczego rozdzielenie ma znaczenie
Renderowanie chunka klientowi (view-distance) jest tańsze niż symulowanie świata (simulation-distance). Możesz pokazać graczowi 8 chunków, ale symulować tylko 4. Wynik: większy zasięg widzenia bez kary wydajnościowej.
To zmiana architektoniczna, która sprawia, że nowoczesny Paper może obsłużyć więcej graczy przy lepszej widoczności.
Rekomendowane wartości
| Skala serwera | view-distance | simulation-distance |
|---|---|---|
| Mały SMP (≤10 graczy) | 10 | 6 |
| Średni serwer (10–30) | 8 | 4 |
| Duży serwer (30–100) | 6 | 3 |
| Ekstremalny (100+) | 5 | 3 |
Konfiguracja
W server.properties:
view-distance=8
simulation-distance=4
Po zmianie potrzebny restart serwera.
Per-player view-distance
Paper pozwala dostosować view-distance per gracz lub per-rangę:
/paper config get view-distance
/paper config set 8 view-distance
Plus integracja z LuckPerms — VIPy mogą mieć większy view-distance niż zwykli gracze.
No-tick view-distance (Paper)
Paper pozwala wyświetlić chunki bez ich aktywnego symulowania. Klient widzi teren, ale serwer go nie przelicza.
# paper-world-defaults.yml
chunks:
no-tick-view-distance: 12
Daje to wrażenie ogromnej widoczności (12 chunków = ponad 200 bloków) przy niskim koszcie symulacji (4 chunki).
Entity tracking range
Spigot ma osobne ustawienia dla zasięgu śledzenia różnych typów entity:
# spigot.yml
world-settings:
default:
entity-tracking-range:
players: 48
animals: 48
monsters: 48
misc: 32
other: 64
Niska wartość = klient nie widzi mobów daleko, ale serwer pracuje mniej. Domyślne 48 jest często za wysokie dla większych serwerów.
Render distance klienta
Gracz może mieć w swoim Minecrafcie ustawioną render distance (np. 32). Serwer i tak wyśle tylko tyle chunków, ile pozwala view-distance serwera. Klient widzi minimum z obu wartości.
Praktyczna konsekwencja: nawet jeśli gracz ma ustawione „32 chunków", a serwer ma view-distance=8, gracz widzi 8.
Jak testować?
- Włącz
/spark health. - Ustaw
view-distance=10,simulation-distance=5. - Daj 5–10 graczom pograć przez 30 minut.
- Sprawdź TPS i MSPT.
- Zmień na
view=8,sim=4, powtórz. - Wybierz parę dającą najlepsze TPS przy akceptowalnej widoczności.
Kompromis estetyka vs wydajność
Bardzo niska widoczność (4–5) wygląda jak Minecraft z 2014 r. Gracze widzą efekt mgły z bliska. To psuje immersję — szczególnie przy zwiedzaniu wielkich budowli.
Najlepszy kompromis: view-distance=8 (większy efektywny zasięg z no-tick=10–12) + simulation-distance=4. Daje atmosferę otwartego świata przy rozsądnej wydajności.
Nether i End
Nether i End mogą mieć inne wartości. Paper config:
# paper-world.yml dla world_nether
chunks:
view-distance: 6
simulation-distance: 3
W Netherze chunki są mniej kosztowne (mniej generacji), ale moby częstsze. Niższa simulation-distance = lepsze TPS.
Podsumowanie
view-distance i simulation-distance to najprostszy sposób na natychmiastową poprawę TPS. Zmiana z domyślnego (10/10) na (8/4) na średnim serwerze daje zwykle +5–10 TPS i obsłuży 50% więcej graczy.
Kombinacja z no-tick-view-distance w Paperze daje najlepszy efekt — gracze widzą daleko, serwer symuluje mało. Najlepsze praktyki 2026 r.: view=8, simulation=4, no-tick=12.