Wskazówki dotyczące wydajności serwera FiveM: wyższe FPS, mniejsze opóźnienia
Zwiększ wydajność swojego serwera FiveM. Optymalizacja txAdmin, czyszczenie zasobów, limity entity i sprawdzone rozwiązania zapewniające stabilny klatkaż dla 64+ graczy.
Agency Scripts
Założyciel i główny deweloper w Agency Scripts
Dlaczego optymalizacja wydajności ma znaczenie
Wydajność serwera wpływa bezpośrednio na wrażenia graczy i ich utrzymanie na serwerze. Wysoki tick time, rubber-banding i desync odstraszają graczy szybciej niż jakikolwiek inny problem. Dobra wiadomość jest taka, że większość problemów z wydajnością można rozwiązać poprzez systematyczną optymalizację. Te dziesięć wskazówek obejmuje najskuteczniejsze zmiany, które możesz wprowadzić, uporządkowane według ich typowej efektywności.
1. Audyt zużycia zasobów
Zacznij od uruchomienia resmon 1 w konsoli serwera, aby zobaczyć, które zasoby zużywają najwięcej czasu procesora. Szukaj zasobów stale przekraczających 1 ms, ponieważ są one Twoimi głównymi celami optymalizacji. Wiele serwerów uruchamia zasoby, których faktycznie nie używa ani nie potrzebuje, a usunięcie niepotrzebnych to najprostszy zysk wydajnościowy. Czysty serwer zawierający tylko niezbędne zasoby zawsze będzie działał lepiej niż przeładowany.
2. Wybieraj skrypty zoptymalizowane pod kątem wydajności
Nie wszystkie skrypty są sobie równe pod względem wydajności. Skrypty premium, takie jak Agency Phone, osiągają zużycie zasobów na poziomie 0.00ms w spoczynku dzięki starannej optymalizacji, podczas gdy słabo zakodowane alternatywy mogą stale zużywać kilka milisekund. Wybierając zasoby, sprawdzaj dokumentację deweloperską pod kątem metryk wydajności i wybieraj skrypty, które jasno dokumentują swój wpływ na zasoby.
3. Zoptymalizuj swoją bazę danych
Zapytania do bazy danych są częstym źródłem lagów na serwerze. Upewnij się, że twoja instancja MySQL lub MariaDB jest poprawnie skonfigurowana z odpowiednim rozmiarem bufora puli (buffer pool). Dodaj indeksy do często odpytywanych kolumn, zwłaszcza w tabelach przechowujących dane graczy, ekwipunki i informacje o pojazdach. Rozważ użycie oxmysql ze prepared statements w celu uzyskania lepszej wydajności zapytań i bezpieczeństwa.
4. Zarządzaj liczbą entity
Każdy pojazd, ped i obiekt na Twoim serwerze zużywa zasoby zarówno po stronie serwera, jak i klienta. Wprowadź automatyczne czyszczenie pojazdów, ogranicz liczbę spawnowanych NPC i stosuj zarządzanie LOD dla obiektów dekoracyjnych. Utrzymanie liczby bytów pod kontrolą to jeden z najskuteczniejszych sposobów na redukcję spadków klatek po stronie klienta.
5-10: Zaawansowane optymalizacje
Poza podstawami rozważ te zaawansowane techniki: używaj OneSync Infinity dla lepszego skalowania graczy, wdróż prawidłowe zarządzanie wątkami w swoich skryptach Lua za pomocą odpowiednich Wait() wartości zamiast uruchamiania przy każdym ticku, zoptymalizuj dystanse streamingu, aby zmniejszyć obciążenie ładowania assetów, skonfiguruj swój server.cfg odpowiednio rate limitery, regularnie aktualizuj artefakty serwera FiveM, aby korzystać z ulepszeń silnika, oraz monitoruj stan serwera za pomocą narzędzi takich jak txAdmin, aby wychwycić problemy, zanim dotkną graczy.
Mierzenie postępów
Po wdrożeniu tych optymalizacji użyj resmon ponownie, aby porównać wskaźniki przed i po. Monitoruj tick rate serwera w czasie i zbieraj opinie graczy o jakości połączenia. Optymalizacja wydajności to ciągły proces, a nie jednorazowe zadanie. Zaplanuj regularne audyty wydajności, aby utrzymać płynność rozgrywki podczas dodawania nowej zawartości i resources do serwera.