Lagi na serwerze Garry's Mod zwykle biorą się z trzech rzeczy, za które serwer płaci w każdym ticku: samego tickrate, propów i encji, które spawnują gracze, oraz kodu dodatków, który działa w każdym ticku. Pamięć jest słabszym podejrzanym: w naszym teście rozruchu z sierpnia 2026 pusty serwer Garry's Mod zużył 99 MB w planie 2 GB.
Co robi tickrate na serwerze GMod?
Tickrate to liczba razy na sekundę, kiedy serwer symuluje świat. Valve Developer Community opisuje każdy tick: serwer przetwarza przychodzące polecenia graczy, wykonuje krok symulacji fizyki, sprawdza zasady gry i aktualizuje każdy obiekt. Wyższy tickrate zwiększa precyzję, ale „wymaga większej mocy procesora i dostępnej przepustowości zarówno po stronie serwera, jak i klienta”.
Domyślna wartość silnika to 66,6666 ticków na sekundę, a wiki Facepunch zaleca od 30 do 128. Na serwerze PlayNHost ustawienie Tickrate zaczyna się od 22 i możesz je zmienić.
Dlatego tickrate mnoży wszystko inne. Każdy prop na mapie jest częścią kroku fizyki, więc serwer Sandbox, który radzi sobie przy jednym tickrate, może zacząć się opóźniać przy wyższym, bez żadnej innej zmiany.
Podnoś tickrate dopiero wtedy, gdy serwer jest stabilny przy niższym, i zmieniaj go o jeden stopień naraz.
Ile propów mogą spawnować gracze w Sandbox?
Sandbox już ogranicza to, co może stworzyć każdy gracz. Wartości domyślne z pliku sandbox.txt trybu gry:
| Convar | Ogranicza | Domyślnie |
|---|---|---|
sbox_maxprops | propy, które może stworzyć pojedynczy gracz | 200 |
sbox_maxragdolls | ragdolle, które może stworzyć pojedynczy gracz | 10 |
sbox_maxconstraints | ograniczenia inne niż liny, które może stworzyć pojedynczy gracz | 2000 |
Limity są na gracza, więc łączna liczba na mapie rośnie wraz z liczbą budujących. Obniż je z konsoli serwera lub konfiguracji serwera, jeśli budowle kładą serwer. Wartość ujemna usuwa limit, więc sprawdź, czy nikt jej nie ustawił.
Aby wyczyścić mapę, admin (lub konsola serwera) może uruchomić gmod_admin_cleanup. Usuwa wszystko, co spawnowali gracze, i odtwarza własne encje mapy. Dodaj typ, na przykład gmod_admin_cleanup props, aby usunąć tylko ten rodzaj.
Jak dodatki powodują lagi?
Kod dodatku podpięty pod Think lub Tick działa na serwerze raz na tick, więc przy tickrate 22 uruchamia się 22 razy na sekundę, a przy 66 uruchamia się 66 razy. Większość dodatków nie mówi, czy to robi.
- Dodawaj dodatki małymi partiami, żeby gdy wydajność spadnie, wiedzieć, która partia za to odpowiada.
- Wiedz, co pobierają gracze. Serwer montuje całą twoją kolekcję Workshop, ale gracze dostają tylko bieżącą mapę (jeśli jest w kolekcji), tryb gry (jeśli podaje identyfikator Workshop) i wszystko, co dodatek oznaczy przez
resource.AddWorkshop. Pliki Lua są wysyłane osobno. Każde dodatkowe pobieranie spowalnia dołączanie, a wiki Facepunch ostrzega, że oznaczanie do pobrania dodatków zawierających tylko Lua wydłuża czas dołączania.
Jak znaleźć przyczynę lagów?
Przechodź przez to w tej kolejności:
- Policz encje.
ents.GetCount()zwraca, ile encji istnieje. Jeśli liczba rośnie przez całą sesję, problemem są propy. - Sprawdź fizykę. Poniższy przykład z wiki Facepunch, umieszczony w pliku Lua po stronie serwera, takim jak
garrysmod/lua/autorun/server/, wypisuje komunikat, gdy jeden krok fizyki trwa ponad 100 ms. - Wyłączaj dodatki partiami i sprawdzaj, czy lagi znikają.
- Obniż tickrate o jeden stopień i sprawdź, czy zacinanie znika.
- Pamięć sprawdź na końcu. Otwórz wykresy Użycie swojego serwera, gdy gracze są online.
hook.Add("Think", "LagDetector", function ()
if physenv.GetLastSimulationTime() * 1000 > 100 then
print("Physics lag detected!")
end
end)
Na naszym hostingu serwera Garry's Mod Tickrate i Kolekcja Workshop to pola w Ustawienia, potem Ustawienia gry, i są odczytywane przy starcie serwera, więc test niższego tickrate wymaga restartu. Nasz opis ustawień serwera Garry's Mod wyjaśnia każde z nich.
Kiedy plan jest za mały?
Gdy pamięć stale dochodzi do limitu twojego planu, kiedy są na nim gracze. Odczytuj zakładkę RAM w sekcji Użycie podczas ruchliwej sesji, a nie na pustym serwerze. Jeśli pamięć jest w porządku, a serwer zacina się podczas budowania, najpierw przyjrzyj się propom, dodatkom i tickrate.
Najmniejszy plan ma 4 sloty dla graczy. Na serwer budowlany z kilkoma znajomymi zacznij od niego, z włączonymi limitami Sandbox.
To samo podejście, czyli najpierw diagnoza, dotyczy Minecrafta: zobacz ile RAM potrzebuje serwer Minecraft.



