
Lagi i spadki płynności to największy wróg każdego serwera FiveM RP. Powodują frustrację graczy i mogą zrujnować nawet najlepszy projekt. Na szczęście, większość problemów z wydajnością da się rozwiązać poprzez świadomą optymalizację. W tym poradniku przeprowadzimy Cię przez 10 kluczowych kroków, które pomogą Ci zdiagnozować i wyeliminować wąskie gardła, znacząco poprawiając płynność rozgrywki na Twoim serwerze.
Celem tego artykułu jest dostarczenie Ci konkretnych, technicznych wskazówek, które możesz wdrożyć od zaraz. Niezależnie od tego, czy dopiero zaczynasz, czy zarządzasz dużą społecznością, te porady pomogą Ci stworzyć stabilne i wydajne środowisko dla Twoich graczy.
Wymagania Wstępne
- Dostęp do plików serwera (FTP lub panel hostingowy).
- Podstawowa znajomość struktury serwera FiveM (pliki `server.cfg`, folder `resources`).
- Edytor kodu, np. Visual Studio Code.
- Dostęp do konsoli serwera (na żywo lub przez logi).
Przewodnik Krok po Kroku
- Krok 1: Profilowanie zasobów
Zanim zaczniesz cokolwiek zmieniać, musisz wiedzieć, co spowalnia serwer. Użyj komendy
profiler record 30w konsoli serwera (F8 w grze, jeśli masz uprawnienia), aby nagrać 30-sekundową próbkę. Następnie wpiszprofiler view, aby otworzyć widok w przeglądarce. Szukaj zasobów (skryptów), które mają wysoki czas `ms` (milisekund) – to Twoi główni winowajcy. - Krok 2: Optymalizacja skryptów LUA
Skup się na zasobach zidentyfikowanych w kroku 1. Najczęstsze problemy to pętle (
for,while) działające w każdej klatce (tick), niepotrzebne wywołania `Citizen.Wait(0)` oraz nadużywanie zdarzeń (events). Zoptymalizuj pętle, dodając dłuższe oczekiwanie (np. `Citizen.Wait(1000)`) i ogranicz liczbę zdarzeń wysyłanych między klientem a serwerem. - Krok 3: Ograniczenie liczby pojazdów i NPC
Każdy pojazd i NPC na mapie to dodatkowe obciążenie dla serwera, zwłaszcza przy włączonym OneSync. Przejrzyj skrypty odpowiedzialne za ruch uliczny i parkujące pojazdy. Zmniejsz ich zagęszczenie w plikach konfiguracyjnych. Mniej bytów do synchronizacji to mniejsze obciążenie.
- Krok 4: Kompresja tekstur (YTD)
Niezoptymalizowane tekstury w niestandardowych pojazdach, ubraniach czy mapach potrafią drastycznie obniżyć FPS u graczy. Użyj narzędzi takich jak OpenIV, aby sprawdzić rozmiary plików `.ytd`. Tekstury o rozdzielczości 4K lub 8K są często zbędne. Skompresuj je do rozsądnych rozmiarów (np. 1024×1024 lub 2048×2048), zachowując balans między jakością a wydajnością.
- Krok 5: Wybór odpowiedniego hostingu
Tani hosting VPS o niskiej mocy obliczeniowej CPU może być źródłem problemów. FiveM jest bardzo zależne od wydajności jednego wątku procesora. Wybieraj hostingi dedykowane dla gier z procesorami o wysokim taktowaniu (np. nowsze generacje Intel Core i7/i9, AMD Ryzen). Unikaj współdzielonych zasobów, jeśli Twoja społeczność rośnie.
- Krok 6: Poprawna konfiguracja `server.cfg`
Upewnij się, że masz włączony OneSync (
set onesync onlubset onesync_enableInfinity), co jest kluczowe dla serwerów powyżej 32 graczy. Dostosuj limit graczy (sv_maxclients) do możliwości swojej maszyny. Nie ustawiaj go na siłę na 128, jeśli Twój serwer ledwo radzi sobie z 64. - Krok 7: Aktualizacja artefaktów serwera
Regularnie aktualizuj artefakty serwera FiveM do najnowszej rekomendowanej wersji. Każda aktualizacja zawiera poprawki błędów i optymalizacje, które mogą bezpośrednio wpłynąć na stabilność i wydajność Twojego serwera. Znajdziesz je na oficjalnej stronie FiveM.
- Krok 8: Zarządzanie bazą danych
Jeśli Twój serwer intensywnie korzysta z bazy danych (np. ESX, QBCore), upewnij się, że kluczowe tabele (np. `users`, `vehicles`) mają założone indeksy na kolumnach, które są często wyszukiwane (np. `identifier`, `plate`). Spowolnione zapytania do bazy potrafią blokować główny wątek serwera, powodując lagi.
- Krok 9: Streaming modeli i map
Unikaj wgrywania dużej liczby pojedynczych modeli aut czy obiektów map. Zamiast tego, grupuj je w jeden zasób (tzw. \”paczki\”). Dzięki temu serwer i klient przetwarzają jeden duży zasób zamiast setek małych, co jest znacznie wydajniejsze.
- Krok 10: Regularne restarty
Nawet najlepiej zoptymalizowany serwer może z czasem cierpieć na wycieki pamięci (memory leaks) w niektórych skryptach. Ustaw automatyczne, regularne restarty serwera (np. co 6-12 godzin) w godzinach najmniejszej aktywności graczy. To prosty sposób na utrzymanie \”świeżości\” i stabilności serwera.
Przykładowy Kod / Konfiguracja
Poniżej znajduje się fragment pliku server.cfg pokazujący kluczowe komendy związane z wydajnością i synchronizacją. Upewnij się, że Twoja konfiguracja zawiera te (lub podobne) wpisy, dostosowane do Twoich potrzeb.
# Upewnij się, że OneSync jest włączony. Jest to absolutnie kluczowe dla nowoczesnych serwerów.
# Użyj 'on' dla podstawowego trybu lub 'infinity' dla zaawansowanego zarządzania bytami.
set onesync on
# Ustaw maksymalną liczbę graczy. Nie przesadzaj z tą wartością.
# Dostosuj ją do możliwości Twojego hostingu i optymalizacji skryptów.
sv_maxclients 64
# Ustaw nazwę hosta widoczną w przeglądarce serwerów.
sv_hostname \"Zoptymalizowany Serwer RP by Zbrojownia FiveM\"
# Zapewnia, że serwer będzie widoczny na liście publicznej.
sv_master1 \"\"
Podsumowanie
Optymalizacja serwera FiveM to proces ciągły, a nie jednorazowe zadanie. Regularne profilowanie zasobów, dbanie o jakość kodu i świadome zarządzanie zasobami to klucz do sukcesu. Pamiętaj, że stabilny i płynnie działający serwer jest fundamentem pozytywnych doświadczeń Twoich graczy.
Zacznij od wprowadzenia zmian krok po kroku i monitoruj ich wpływ na wydajność. Nie bój się eksperymentować i regularnie sprawdzaj logi serwera w poszukiwaniu błędów. Twoja społeczność na pewno doceni wysiłek włożony w zapewnienie im rozgrywki bez lagów.






