Comment optimiser les scripts de son serveur FiveM
L'optimisation d'un serveur FiveM est cruciale pour offrir une expérience fluide à vos joueurs. Un serveur qui lag fait fuir la communauté. Voici comment optimiser vos scripts et votre infrastructure.
1. Attention aux boucles (Citizen.CreateThread)
L'erreur la plus courante est de laisser des boucles tourner sans aucun délai d'attente.
-- MAUVAIS
Citizen.CreateThread(function()
while true do
-- Ce code s'exécute à chaque tick, surchargeant le processeur !
DrawMarker(...)
end
end)
-- BON
Citizen.CreateThread(function()
while true do
Citizen.Wait(0) -- Ou mieux : 500 ou 1000 selon le besoin
-- Le code s'exécute à chaque tick si nécessaire, mais laisse respirer le thread.
-- Si ce n'est pas urgent, utilisez Citizen.Wait(1000)
end
end)
2. Réduire le nombre de ressources
Chaque script (ressource) ajoute une petite surcharge. Regroupez vos petits scripts quand c'est possible. Avez-vous vraiment besoin de 300 ressources ? Pensez à fusionner les petits scripts isolés dans un dossier [local] ou dans un script "core" global.
3. Optimisation côté Serveur vs côté Client
Ne faites pas faire au client des calculs que le serveur peut (et doit) faire. Inversement, évitez que le serveur ne gère des effets visuels ou des calculs purement graphiques.
- Serveur : Logique de jeu, requêtes BDD, sécurité, synchronisation.
- Client : Affichage, UI, inputs (clavier/manette).
4. Un Hébergement Performant
Vous pouvez avoir les meilleurs scripts du monde, si votre serveur tourne sur une machine peu puissante ou saturée, vous aurez du lag (desynchrone, "hitching", rubberbanding).
Chez Klyranet, nous proposons des VPS spécialement optimisés pour FiveM avec des processeurs à haute fréquence (Ryzen) pour garantir un "Server Tick Rate" stable à 60 ou 100 FPS.
Un bon serveur, c'est la base de tout projet sérieux !