🎉 Oszczędź 25% w pierwszym miesiącu z kodem: DOOM25
Minecraft Simulation Distance: Co robi i jak ją dostosować

Minecraft Simulation Distance: Co robi i jak ją dostosować

Co naprawdę robi simulation distance w Minecraft, pułapka spawnu mobów którą większość poradników pomija, i właściwa wartość dla serwerów survival, PvP i modded.

DoomHosting
·
10 min czytania

TLDR Simulation distance to jak daleko od każdego gracza serwer aktywnie tyka chunki. Render distance to to, co każdy gracz może zobaczyć. Obniżenie simulation distance z 10 do 6 to największy darmowy zysk wydajnościowy na większości serwerów. Haczyk: zmniejsza też obszar spawnu mobów o około 50%. Użyj 6 dla vanilla survival (4-8 graczy), 4-5 dla dużych serwerów PvP, 8-10 jeśli masz mob farmy.

Czym faktycznie jest simulation distance

Simulation distance to ustawienie po stronie serwera, które kontroluje, ile chunków wokół każdego gracza jest symulowanych każdego ticka. W promieniu symulacji serwer uruchamia mob AI, redstone, wzrost, spawning mobów, przepływ wody, ruch pocisków, logikę hopperów i każdy inny system gry oparty na tickach. Poza promieniem te chunki są nadal załadowane w pamięci, ale całkowicie zamrożone, dopóki gracz nie wróci w zasięg.

To nie to samo co render distance, która jest per-klient i kontroluje tylko jak daleko gracz może zobaczyć. Dwa ustawienia oddziałują, ale kosztują bardzo różne ilości CPU serwera.

Render distance vs simulation distance pokazane jako dwa koncentryczne okręgi wokół gracza

Render distance płaci się głównie w przepustowości sieci i GPU klienta. Simulation distance płaci się w CPU serwera, każdego pojedynczego ticka. Serwer 20 TPS uruchamia 20 ticków na sekundę, więc ustawienie, które podwaja pracę na tick, podwaja całkowite obciążenie CPU.

Gdy czytasz "obniż swój render distance, aby naprawić lag serwera", to półprawda. Simulation distance to dźwignia, która naprawdę liczy się dla MSPT. Render distance wpływa na serwer tylko gdy sim distance jest ustawione wyżej.

Co jest tykane w promieniu vs poza nim

To część, którą większość poradników pomija. Rozróżnienie symulacja/brak-symulacji jest binarne: chunk albo tyka w pełni każdego game ticka, albo nie robi nic.

W promieniu vs poza promieniem symulacji, dwukolumnowe porównanie tego co działa i co zamarza

W promieniu symulacji serwer uruchamia:

  • Mob AI: pathfinding, wybór celów, cooldowny ataków, rozmnażanie
  • Spawning mobów: próby spawnu wrogich i przyjaznych mobów
  • Redstone: clocks, latche, impulsy, observery
  • Block ticks: wzrost roślin, sadzonek, opadanie liści, formowanie lodu i śniegu
  • Fluid flow: rozprzestrzenianie wody i lawy
  • Fizyka pocisków: strzały, kule ognia, ender pearls, tridents
  • Tile entity ticks: piece, brewing standy, hoppery, beacons, composters
  • Logika entity dla nieżywych rzeczy: minecarts, łodzie, item entities

Poza promieniem symulacji chunk jest załadowany w RAM, ale nic nie robi. Świnia wędrująca obok twojego promienia sim zamarza w miejscu. Redstone clock poza twoim promieniem zatrzymuje się w środku cyklu. Hopper farm jeden chunk za granicą przestaje karmić itemy.

Dlatego dwóch graczy po przeciwnych stronach bazy często widzi różne rzeczy tykające. Każdy jest otoczony własną bańką symulacji, a wszystko poza obiema bańkami jest spauzowane.

Pułapka objętości spawnu mobów

Oto co większość poradników wydajnościowych pomija: simulation distance bezpośrednio kontroluje objętość spawnu mobów, a relacja jest kwadratowa, nie liniowa.

Diagram promienia spawnu mobów z pierścieniem braku spawnu, pierścieniem spawnu i granicą despawnu wokół gracza

Wrogie moby spawnują w pierścieniu między 24 a 128 blokami od gracza. Ale ten limit 128 bloków jest sam ograniczony przez simulation distance. Z simulation distance 8 limit to 128 bloków, co jest pełnym zachowaniem vanilla. Z simulation distance 5 pierścień spawnu kurczy się do około 80 bloków. Matematyka:

  • Sim distance 8: pole spawnu ≈ π × 128² = 51 500 m²
  • Sim distance 6: pole spawnu ≈ π × 96² = 28 950 m² (44% mniejsze)
  • Sim distance 5: pole spawnu ≈ π × 80² = 20 100 m² (61% mniejsze)
  • Sim distance 4: pole spawnu ≈ π × 64² = 12 870 m² (75% mniejsze)

Mob cap jest globalny per wymiar (około 70 wrogich w Overworld), ale cap wypełnia się na podstawie prób spawnu w pierścieniach wszystkich graczy. Zmniejsz swój sim distance, a zobaczysz zauważalnie mniej mobów wokół siebie, mimo że sam cap się nie zmienił.

To liczy się na dwa sposoby:

  1. Dla mob farm: obniżenie sim distance nakłada twardy limit ile mobów twoje farmy mogą produkować. Farmy AFK poniżej sim distance 6 są praktycznie martwe. Jeśli farma jest sensem serwera, trzymaj sim distance na 8 lub wyżej.
  2. Dla chill survival: jeśli twoi gracze narzekają, że noce "są puste" lub zombie nie pukają, twoje sim distance może być za niskie. Podbij o 1-2.

To także dlatego Realms (własny serwis Mojang) defaultuje na simulation distance 4. Wymieniają gęstość mobów na przewidywalną wydajność z 8+ graczami.

Jak ustawić simulation distance

Ustawienie znajduje się w server.properties, kanonicznym pliku konfiguracji serwera Minecraft:

simulation-distance=6
view-distance=10

Ważne szczegóły:

  • To nie jest /gamerule. Ustawienie tego w czacie nic nie robi. Musi być w server.properties, a serwer musi się zrestartować, żeby zmiany weszły w życie.
  • view-distance w server.properties to maksymalna render distance, jaką serwer dopuszcza. Klienci mogą żądać niższej, nigdy wyższej.
  • simulation-distance nigdy nie może być większe niż view-distance. Jeśli ustawisz sim 10 i view 8, serwer cicho przycina sim do 8.
  • Na Paper, Pufferfish i Folia pliki paper-global.yml i paper-world-defaults.yml dodają per-świat overrides, więc możesz uruchomić simulation-distance 4 w End i 8 w Overworld.

Na serwerze DoomHosting możesz edytować server.properties z zakładki Files w panelu, lub ustawić zmienną Simulation Distance bezpośrednio z zakładki Startup i zrestartować. Podejście ze zmienną startową jest szybsze i przeżywa world-resets.

Zalecane wartości według typu serwera

Punkty wyjścia z kilkuset serwerów Minecraft, które hostujemy. Twoje liczby będą się różnić w zależności od liczby graczy, obciążenia modami i tego, co dzieje się w świecie (mob farmy, redstone, duże bazy).

Typ serwera Gracze Simulation distance Dlaczego
Solo lub 2-4 znajomych, vanilla 1-4 8 Pełna gęstość mobów, płynne wrażenie
Mały SMP, vanilla 1.21 4-8 6 Sweet spot między wydajnością a feelem
Średni SMP 8-16 5 Stabilność ticków ważniejsza niż gęstość
Duży publiczny survival 16-32 4 Trzymaj MSPT poniżej 50 ms w prime time
Skyblock lub Skygrid dowolne 3-4 Światy są małe, brak potrzeby promienia
Hunger Games lub arena PvP 16-100 4 Akcja skoncentrowana wokół graczy
Modded (Forge lub Fabric, duży pack) 4-8 4-6 Mod ticki są drogie, daj CPU zapas
Modded (lekki pack) 4-8 6-8 Większość lekkich packów obsługuje 6 dobrze
Mob farma lub AFK grinder 1-4 8-10 Objętość mobów = output farmy
Adventure map lub minigry 1-50 3 Custom logika w command blockach, brak potrzeby promienia
Bedrock dedykowany dowolne 4 Bedrock ma ściślejsze limity i zyskuje więcej z niskich wartości

Dlaczego MSPT rośnie szybciej niż liniowo

Można by pomyśleć, że podwojenie simulation distance z 4 do 8 podwoiłoby koszt ticka. Nie podwaja. Kosztuje więcej niż 2x, ponieważ liczba chunków rośnie kwadratowo z dystansem.

Wykres słupkowy pokazujący MSPT rosnący nieliniowo gdy simulation distance rośnie z 3 do 16

Każdy chunk to 16x16 bloków. Symulowany obszar to kwadrat (2 × sd + 1) chunków na bok. Więc:

  • sd=4 → 9 × 9 = 81 chunków na gracza
  • sd=6 → 13 × 13 = 169 chunków na gracza
  • sd=8 → 17 × 17 = 289 chunków na gracza
  • sd=10 → 21 × 21 = 441 chunków na gracza
  • sd=16 → 33 × 33 = 1089 chunków na gracza

Przejście z 6 do 10 to nie 1,67x koszt. To około 2,6x koszt tylko z liczby chunków, a populacja mobów w tych dodatkowych chunkach skaluje się z obszarem, co się kumuluje.

Poza linią 50 ms MSPT twoje TPS spada poniżej 20. Każdy tick trwa dłużej niż budżet 50 ms, więc serwer zaczyna pomijać ticki, aby nadrobić. Gracze widzą to jako rubber-banding, teleportujące się moby i zepsute timingi redstone.

Praktyczna zasada: celuj w MSPT poniżej 35 ms przy szczytowej liczbie graczy. Jeśli jesteś już na 40+ ms, obniż sim distance o 1 i sprawdź ponownie. Jeśli jesteś na 30 ms, masz zapas, by podbić.

Częste mity

"Niższy simulation distance naprawia każdy lag." Nie. Naprawia tylko lag tickowy po stronie serwera (MSPT). Jeśli gracze mają też niskie FPS, to problem klienta: render distance, shadery, GPU. Inny problem, inne rozwiązanie.

"Ustawienie tego przez /gamerule działa." Ta gamerule nie istnieje. Nie ma /gamerule simulationDistance. Server.properties plus restart to jedyna droga.

"Render distance wyższy niż simulation distance psuje chunki." Nie psuje. Chunki za promieniem sim ale w promieniu render renderują się tak, jak je ostatnio widziałeś. Moby w nich są spauzowane, ale geometria chunka, oświetlenie i widoczne bloki nadal są rysowane. Gracze widzą zamrożone tła, nie dziury.

"View distance jest po stronie serwera, render distance po stronie klienta, to to samo." To różne ustawienia. view-distance w server.properties to limit nałożony przez serwer. Klient wybiera dowolną wartość do tego limitu w swoich ustawieniach video. Jeśli twój serwer ma view-distance=10, gracz ustawiający render distance 32 w kliencie zostaje przycięty do 10.

"Pregenerowanie chunków sprawia, że simulation distance jest nieistotne." Pół prawdy. Pre-gen zmniejsza koszt generowania świata przy pierwszym wejściu gracza, ale nie zmienia ile chunków tyka każdego game ticka. Sim distance nadal kontroluje obciążenie ticka.

Co robić, gdy sim distance nie może być niższe

Jeśli już obniżyłeś simulation distance do 4 lub 5, a serwer nadal się męczy, wąskie gardło jest gdzie indziej. Opcje, posortowane według wpływu:

  1. Przełącz na Paper, Pufferfish lub Folia. Vanilla Minecraft jest single-threaded. Paper dzieli chunk-loading i I/O, Pufferfish dalej zmniejsza koszt ticka, Folia używa prawdziwego multi-threadingu. Przełączenie z Vanilla na Paper często zmniejsza MSPT o połowę za darmo.
  2. Dodaj RAM, jeśli jesteś blisko limitu swojego tieru. RAM nie naprawia bezpośrednio TPS, ale pauzy GC pojawiają się jako spike'i MSPT. Użyj kalkulatora RAM Minecraft by dobrze dobrać.
  3. Pregeneruj chunki za pomocą /chunky lub WorldBorder, żeby generowanie chunków przy pierwszym wejściu nie blokowało ticka.
  4. Sprawdź źle dostrojone mob farmy. Capnięte iron farmy, ghast farmy i witch farmy mogą łatwo zjeść 60% całkowitego czasu ticka. Spawn-proof nieużywane farmy lub przenieś je do dedykowanych wymiarów.
  5. Uaktualnij do wyższego tieru. Wydajność CPU single-core to twardy sufit dla TPS Minecraft. Nasze wyższe tiery używają nowszego krzemu Ryzen 9 z lepszym single-core IPC. Jeśli twój sim distance jest już na 4 a farmy są czyste, serwer jest po prostu CPU-bound i potrzebuje szybszych rdzeni. Zobacz nasze plany hostingu Minecraft.

Szybkie FAQ

Jaka jest maksymalna simulation distance? 32 w vanilla 1.21, ale wszystko powyżej 16 to zły pomysł na shared hosting. Liczba chunków przy sd=32 to 4225 na gracza. Większość serwerów upadnie.

Czy różni gracze mogą mieć różne simulation distance? Nie. Wartość ogólnoserwerowa stosuje się do bańki każdego gracza.

Czy simulation distance wpływa na render distance? Pośrednio. view-distance cappuje render distance. simulation-distance jest ustawiane niezależnie, ale nie może przekraczać view-distance. Więc view-distance=10 cappuje oba.

A Bedrock? Suwak UI "simulation distance" w Bedrock idzie 4-12 na dedykowanych serwerach. Ta sama koncepcja, węższy zakres, lekko inne defaulty. Bedrock zyskuje więcej z niskich wartości, bo silnik jest mniej zoptymalizowany pod duże promienie.

Czy wpływa na world generation? Pośrednio. Chunki muszą być wygenerowane zanim mogą być symulowane, więc większy promień sim zmusza więcej chunków do generacji przy pierwszym wejściu, co jest momentem bólu. Pre-generation to rozwiązuje.

🚀

Gotowy, żeby zacząć?

Doświadcz premium hostingu serwerów gier z DoomHosting. Natychmiastowa konfiguracja, wsparcie 24/7 i gwarancja 99,99% dostępności.

Powiązane Wpisy