← Blog

Jak skonfigurować serwer FiveM pod drift

Par Benjamin D. · PDG

· Mis à jour le 11 września 2026 · Lecture 7 min

Spis treści

Serwer FiveM drift rządzi się zupełnie innymi prawami niż klasyczny roleplay — liczy się tu fizyka pojazdów, kąt skrętu, zachowanie opon i stabilny tickrate. Poniżej znajdziesz konkretne ustawienia handling.meta, dobór zasobów drift, sposób na czysty server.cfg i praktyki, które utrzymują płynność rozgrywki, gdy na torze ślizga się kilkanaście aut jednocześnie.



Jak FiveM liczy fizykę pojazdów i dlaczego drift wymaga osobnego podejścia

Silnik RAGE liczy przyczepność na podstawie krzywej trakcji: gra sprawdza prędkość poślizgu koła względem nawierzchni i na tej podstawie decyduje, ile siły bocznej przenoszą opony. W trybie drift chodzi o to, żeby auto traciło przyczepność przewidywalnie i dawało się utrzymać w poślizgu gazem oraz kontrą, zamiast gwałtownie się obracać.

Kluczowa różnica względem RP: w driftcie modyfikujesz masowo pliki handling.meta, często dokładasz skrypt przełączający tryb (drift on/off), a do tego streamujesz dziesiątki modeli aut i felg. To obciążenie idzie w dwie strony — klient renderuje i synchronizuje, a strona serwerowa obsługuje synchronizację stanu pojazdów w OneSync. Stąd znaczenie mocnego pojedynczego rdzenia: FiveM jest w dużej mierze jednowątkowy po stronie głównej pętli, więc wysokie taktowanie Ryzen i dyski NVMe realnie skracają czas ładowania zasobów i ograniczają mikroprzycięcia.

Jeżeli dopiero układasz infrastrukturę pod projekt driftowy, pełną specyfikację maszyn, panel Pterodactyl i ochronę anti-DDoS znajdziesz na stronie hosting FiveM — reszta tego poradnika skupia się już wyłącznie na konfiguracji.

Co realnie wpływa na odczucie poślizgu

  • Krzywa trakcji — relacja fTractionCurveMax do fTractionCurveMin decyduje, jak szybko auto „puszcza".
  • Kąt skrętufSteeringLock określa maksymalny kąt kontry.
  • Rozkład napędufDriveBiasFront na 0.0 daje czysty tylny napęd.
  • Zawieszenie — sztywność i stabilizatory wpływają na przenoszenie masy przy zmianie kierunku.
  • Masa i bezwładnośćfMass oraz vecInertiaMultiplier determinują, jak leniwie auto reaguje na inicjację.


handling.meta pod drift: parametry krok po kroku

Pracuj zawsze na kopii oryginalnego pliku. Standardowa ścieżka w zasobie pojazdu to [cars]/nazwaauta/data/handling.meta, a wpis musi być zadeklarowany w fxmanifest.lua. Zmiany testuj po jednym parametrze — inaczej nie wiesz, co naprawdę poprawiło zachowanie auta.

Tabela wartości wyjściowych

ParametrZakres pod driftEfekt
fMass1300–1700Wyższa masa = leniwsza, ale stabilniejsza inicjacja
fInitialDriveForce0.30–0.45Moc podtrzymująca poślizg; za dużo = obrót
fDriveBiasFront0.0Pełny napęd na tył
fInitialDriveMaxFlatVel150–190Prędkość maksymalna przełożeń
fTractionCurveMax2.0–2.4Szczyt przyczepności
fTractionCurveMin1.5–1.9Przyczepność po zerwaniu; utrzymuj ~0.75–0.85 wartości Max
fTractionCurveLateral18.0–23.0Kąt, przy którym opony tracą przyczepność boczną
fTractionSpringDeltaMax0.10–0.18Zachowanie przy nierównościach i krawężnikach
fLowSpeedTractionLossMult0.0–0.6Poślizg przy ruszaniu (burnout)
fCamberStiffnesss-0.20 do 0.00Ujemne wartości ułatwiają zrywanie tyłu
fSteeringLock45–70Kąt kontry; powyżej 70 auto staje się nerwowe
fSuspensionForce2.0–2.6Sztywność zawieszenia
fAntiRollBarForce0.4–0.9Kontrola przechyłów przy zmianie kierunku
fBrakeForce0.8–1.1Siła hamowania
fBrakeBiasFront0.45–0.55Rozkład hamowania; niższe = łatwiejsza inicjacja hamulcem

Przykładowy fragment pliku

<Item type="CHandlingData">
  <handlingName>s13drift</handlingName>
  <fMass value="1420.000000" />
  <vecInertiaMultiplier x="1.100000" y="1.300000" z="1.400000" />
  <fInitialDriveForce value="0.380000" />
  <fDriveBiasFront value="0.000000" />
  <nInitialDriveGears value="6" />
  <fClutchChangeRateScaleUpShift value="3.500000" />
  <fClutchChangeRateScaleDownShift value="3.500000" />
  <fBrakeForce value="0.950000" />
  <fBrakeBiasFront value="0.480000" />
  <fHandBrakeForce value="0.700000" />
  <fSteeringLock value="58.000000" />
  <fTractionCurveMax value="2.150000" />
  <fTractionCurveMin value="1.700000" />
  <fTractionCurveLateral value="20.500000" />
  <fTractionSpringDeltaMax value="0.140000" />
  <fLowSpeedTractionLossMult value="0.400000" />
  <fCamberStiffnesss value="-0.100000" />
  <fSuspensionForce value="2.300000" />
  <fAntiRollBarForce value="0.650000" />
  <strHandlingFlags>440010</strHandlingFlags>
  <strModelFlags>440010</strModelFlags>
</Item>

Metoda strojenia

  1. Ustaw bazę: masa, napęd na tył, przełożenia.
  2. Dopasuj fTractionCurveMax, aż auto trzyma się prosto bez pływania.
  3. Obniżaj fTractionCurveMin stopniowo o 0.05, aż tył zaczyna wychodzić na gazie.
  4. Reguluj fTractionCurveLateral, żeby zerwanie przyczepności następowało płynnie, a nie skokowo.
  5. Na końcu dobierz fSteeringLock i sztywność zawieszenia pod styl jazdy społeczności.

Pamiętaj, że kółka i modele z vstancer zmieniają geometrię wizualnie, ale nie zmieniają fizyki — kąt pochylenia kół w handlingu ustawiasz przez fCamberStiffnesss, nie przez modyfikacje wizualne.



Dobór zasobów drift bez zabijania wydajności

Każdy zasób to koszt czasu klatki. Zasada praktyczna: zestaw skryptów driftowych powinien mieścić się w kilku dziesiątych milisekundy w spoczynku i nie przekraczać ~1 ms podczas aktywnej sesji na torze.

Zestaw, który zwykle wystarcza

  • Skrypt trybu drift — przełącznik modyfikujący krzywą trakcji w locie przez natywy SetVehicleHandlingFloat; znacznie lżejszy niż utrzymywanie dwóch wersji każdego auta.
  • Licznik punktów i tabela wyników — liczenie kąta i prędkości po stronie klienta, zapis wyników po stronie serwera, komunikacja przez eventy ograniczona do zakończenia przejazdu.
  • Tuning i malowanie dymu opon — kolor dymu ustawiany natywem, bez ciągłych pętli co klatkę.
  • Mapy i strefy — tory streamowane jako ymap, nie jako stale aktywne obiekty tworzone skryptem.
  • Zapis pojazdów gracza — jedna baza danych, zapytania przez połączenie pulowane, bez zapisów co sekundę.

Czego unikać

  • Pętli Citizen.Wait(0) tam, gdzie wystarczy 250–1000 ms.
  • Trzech różnych skryptów robiących to samo (np. dwa niezależne liczniki punktów).
  • Tekstur ytd w rozdzielczości 4K dla każdego auta — 2K w zupełności wystarcza i drastycznie zmniejsza zużycie pamięci streamingu.
  • Modeli bez poprawnego LOD-a i collision — to najczęstsza przyczyna zacięć przy wjeździe kilku aut na tor.

Pomiar, zanim zaczniesz optymalizować

# konsola klienta (F8)
resmon 1
# szczegółowy profil 500 klatek
profiler record 500
profiler view

# konsola serwerowa w panelu
status
resmon

Zasób zajmujący stale ponad 1 ms wymaga przejrzenia kodu lub zastąpienia. Szczegóły dotyczące natywów i manifestów znajdziesz w oficjalnej dokumentacji FiveM.



server.cfg i ustawienia serwera FiveM drift dla płynnej rozgrywki

Konfiguracja startowa decyduje o synchronizacji pojazdów. Przy drifcie kilkunastu aut w jednej strefie OneSync Infinity i rozsądny limit slotów to podstawa — nadmiar wolnych miejsc przy ciasnej mapie toru zwykle pogarsza odczucia wszystkim.

# --- sieć i synchronizacja ---
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
set onesync on
set onesync_population false
sv_maxclients 48
sv_endpointprivacy true

# --- wersja gry i zabezpieczenia ---
set sv_enforceGameBuild 3407
sv_scriptHookAllowed 0
rcon_password "dlugie-losowe-haslo-min-24-znaki"
sv_licenseKey "twoj_klucz_z_keymaster"

# --- tozsamosc serwera ---
sv_hostname "^1DRIFT ^7ZONE ^0| PL"
sets tags "drift, tuning, pl"
load_server_icon myLogo.png

# --- kolejnosc ladowania ---
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure hardcap

ensure [standalone]
ensure [drift]
ensure [cars]
ensure [maps]

Dlaczego kolejność ma znaczenie

Zasoby pojazdów i map ładuj po skryptach bazowych. Jeśli skrypt trybu drift startuje przed katalogiem z autami, część handlingów nie zostanie nadpisana i gracze zgłoszą, że „jedno auto jeździ inaczej po restarcie". Katalogi zbiorcze (ensure [cars]) skracają plik konfiguracyjny i porządkują start.

Utrzymanie i higiena administracyjna

  • Restarty cykliczne — co 6–12 godzin przez harmonogram w txAdmin lub w panelu; ogranicza wycieki pamięci przy dużej liczbie streamowanych modeli.
  • Kopie zapasowe — automatyczne kopie katalogu resources i bazy danych przed każdą większą zmianą handlingów.
  • Whitelist lub kolejka — sensowna, gdy tor ma ograniczoną pojemność; eliminuje chaos w strefach spawnu.
  • Silne hasła RCON i nieudostępnianie portu bazy danych na zewnątrz.
  • Środowisko testowe — druga instancja do sprawdzania nowych aut, zanim trafią na produkcję.

Latencja i odczucie sterowania

Drift jest wrażliwy na opóźnienia: różnica 30 ms potrafi zepsuć złapanie kontry przy manji. Dlatego lokalizacja maszyny blisko trzonu społeczności ma większe znaczenie niż liczba rdzeni. Do tego dochodzi ochrona anti-DDoS działająca po stronie infrastruktury — sesje driftowe bywają celem ataków, zwłaszcza podczas eventów. Szybkie dyski NVMe skracają czas ładowania streamu przy wejściu gracza, co ogranicza słynne „zawieszenie na ekranie ładowania".

Częste problemy i rozwiązania

ObjawPrawdopodobna przyczynaDziałanie
Auto obraca się natychmiast po inicjacjiZa niskie fTractionCurveMin lub za wysoka mocPodnieś Min o 0.1, obniż fInitialDriveForce
Tył w ogóle nie wychodziZa wysoki fTractionCurveLateralZmniejszaj o 1.0 aż do reakcji
Auto podskakuje na krawężnikachZbyt sztywne zawieszenieObniż fSuspensionForce, zwiększ fTractionSpringDeltaMax
Spadki FPS przy 10+ autachCiężkie modele, tekstury 4KRedukcja ytd, sprawdzenie LOD
Handling nie działa po restarcieZła kolejność ensurePrzenieś katalog aut na koniec konfiguracji
Skoki pozycji aut u innych graczyProblem synchronizacji / latencjaSprawdź OneSync, ping, obciążenie procesu

Jeśli prowadzisz kilka projektów równolegle, warto trzymać je na osobnych instancjach — konfiguracje fizyki bardzo łatwo się mieszają. Przegląd pozostałych tytułów znajdziesz w sekcji Wszystkie nasze serwery gier, a kolejne poradniki techniczne publikujemy na Blog Fly-Serv.



Podsumowanie

Dobre ustawienia driftu to iteracja: jeden parametr, jedna próba, jedna decyzja. Zacznij od krzywej trakcji, dopiero potem ruszaj zawieszenie i kąt skrętu. Utrzymuj lekki zestaw zasobów, mierz zużycie milisekund, restartuj cyklicznie i rób kopie przed każdą zmianą. Taka dyscyplina daje stabilną fizykę, przewidywalne poślizgi i rozgrywkę, do której gracze wracają.



FAQ

Jak zmienić handling bez edycji plików każdego pojazdu?

Użyj skryptu po stronie klienta korzystającego z natywu SetVehicleHandlingFloat, aby nadpisywać wartości takie jak fTractionCurveMin czy fSteeringLock w momencie włączenia trybu drift. Zmiany są tymczasowe i znikają po wyjściu z auta lub restarcie zasobu, dlatego nadaje się to idealnie do przełączników drift on/off bez duplikowania katalogów pojazdów.

Ile slotów ma sens na mapie driftowej?

Przy jednym torze zwykle 32–64 sloty. Powyżej tej granicy strefy spawnu i sam tor robią się zatłoczone, a synchronizacja kilkunastu aut w poślizgu w jednym miejscu wyraźnie obciąża proces. Lepszym kierunkiem jest kilka stref meet i torów rozrzuconych po mapie niż podnoszenie limitu graczy na jednej lokalizacji.

Dlaczego auto jeździ inaczej u mnie niż u innych graczy?

Najczęściej ktoś ma zdezaktualizowany cache klienta lub zasób z handlingiem ładuje się w innej kolejności. Poproś o wyczyszczenie katalogu FiveM Application Data/data/cache, sprawdź kolejność wpisów ensure w konfiguracji i upewnij się, że nie istnieją dwa zasoby deklarujące ten sam handlingName.