Comment activer OneSync et augmenter la limite de joueurs FiveM au-delà de 32

Votre serveur FiveM ne dépasse pas 32 joueurs, ou sv_maxclients est ignoré. Comment activer OneSync dans server.cfg ou txAdmin, définir sv_maxclients, et vérifier qu'il fonctionne.

Vous définissez sv_maxclients 64 et le serveur est toujours limité à 32, ou il ignore la valeur, ou vous obtenez un avertissement lorsque vous essayez. La limite de 32 appartient au mode de mise en réseau ancien. Pour aller plus haut, vous avez besoin de OneSync, et voici comment l'activer et le vérifier.

Ce que OneSync fait

FiveM a deux modes de synchronisation des joueurs. L'ancien, souvent appelé legacy, gère jusqu'à 32 joueurs. OneSync déplace la gestion des entités au serveur, ce qui permet plus de joueurs, et c'est aussi ce qui rend les fonctions d'entité côté serveur et les state bags fonctionnels.

De nombreuses ressources modernes s'attendent également à OneSync. Par exemple, les ressources vocales telles que pma-voice s'en appuient, et certains scripts lisent les entités du serveur. Si l'une de vos ressources dit qu'elle a besoin de OneSync, c'est ce paramètre.

Activer OneSync dans server.cfg

Ajoutez cette ligne à votre server.cfg :

cfg
set onesync on

Ensuite, définissez le nombre d'emplacements :

cfg
sv_maxclients 48

Redémarrez le serveur entièrement. Ce sont des convars de démarrage, donc restart sur une ressource ou un rafraîchissement de config ne les applique pas.

Si vous démarrez le serveur à partir de la ligne de commande ou d'un raccourci, vous pouvez le passer en tant qu'argument :

text
+set onesync on

Astuce : mettez set onesync on près du haut de server.cfg, avant les lignes ensure, afin qu'il soit déjà activé au démarrage des ressources.

Activer OneSync dans txAdmin

Les anciennes versions de txAdmin ont une liste déroulante OneSync dans la page des paramètres, dans la section FXServer. Si vous l'avez, choisissez on et enregistrez. Les versions plus récentes la laissent de côté et s'attendent à la ligne dans server.cfg. Si vous ne trouvez pas l'option, utilisez la ligne cfg ci-dessus, qui fonctionne avec les deux.

Attention à ne pas le définir en deux endroits avec des valeurs différentes. Si le paramètre txAdmin et server.cfg ne sont pas d'accord, la valeur finale est difficile à prévoir. Choisissez une place.

Définir sv_maxclients

sv_maxclients est le nombre d'emplacements :

cfg
sv_maxclients 48

Notes :

  • Ce doit être un nombre entier.
  • Sans OneSync, n'importe quoi au-dessus de 32 n'est pas accepté.
  • La limite supérieure avec OneSync dépend de votre clé de licence. Cfx.re lie le nombre d'emplacements aux niveaux Element Club sur le propriétaire de la clé. Si vous demandez plus que votre clé n'autorise, le serveur ne vous donnera pas ces emplacements. Lisez les limites actuelles sur Cfx.re avant de planifier un grand serveur.
  • Plus d'emplacements signifie plus de CPU et de bande passante. Testez avec de vrais joueurs, pas seulement le nombre.

Vérifier que OneSync est activé

La vérification la plus simple est un petit script serveur. Dans une ressource, ajoutez :

lua
-- server.lua
print('onesync: ' .. GetConvar('onesync', 'off'))

Lorsque la ressource démarre, la console doit imprimer onesync: on.

S'il imprime off, la ligne est dans le mauvais fichier, elle est commentée, ou quelque chose la redéfinit plus tard. Cherchez-la :

bash
grep -rn "onesync" server.cfg

Sur Windows PowerShell :

powershell
Select-String -Path server.cfg -Pattern "onesync"

N'oubliez pas que server.cfg peut charger d'autres fichiers avec exec, alors cherchez-les aussi.

Blocage d'entité

Avec OneSync activé, vous pouvez contrôler si les clients peuvent créer des entités (véhicules, peds, objets) de leur propre initiative. La convar est sv_entityLockdown :

cfg
set sv_entityLockdown "strict"

En mode strict, seul le serveur (et les ressources s'exécutant sur le serveur) peut créer des entités. Les clients qui tentent de générer des véhicules ou des objets avec un cheat ou un script mal écrit ne peuvent pas. C'est une bonne défense, mais cela casse aussi tout script côté client qui crée des entités et s'attend à ce qu'elles se synchronisent.

Utilisez-le uniquement si vous savez que vos ressources se génèrent côté serveur. Si vous l'activez et que vos magasins, véhicules ou props cessent d'apparaître pour les autres joueurs, redéfinissez-le et cherchez les scripts qui se génèrent sur le client. Les valeurs relaxed et inactive existent également. N'activez pas le mode strict sur un serveur en direct sans le tester d'abord.

Problèmes courants

  • La ligne est ignorée : vous avez modifié un server.cfg que le serveur ne charge pas. Vérifiez le chemin dans la console txAdmin.
  • Les ressources se cassent après l'activation : quelques très vieux scripts utilisent un comportement hérité uniquement. Vérifiez la console pour la première erreur.
  • Charge élevée avec de nombreux joueurs : plus d'emplacements augmentent le travail du serveur. Cherchez les ressources qui coûtent le plus, voir resmon high ms and how to optimize.
  • La voix arrête de fonctionner après le changement : vérifiez l'ordre et les paramètres de la ressource vocale, voir pma-voice not working.

Liste de contrôle

Symptôme Correction
Le serveur est limité à 32 joueurs Ajouter set onesync on et redémarrer
sv_maxclients ignoré OneSync est désactivé, ou la limite d'emplacements de la clé est inférieure à la valeur
Impossible de trouver OneSync dans txAdmin Le définir dans server.cfg, le txAdmin plus récent ne l'énumère pas
Pas sûr qu'il soit actif Imprimer GetConvar('onesync', 'off') depuis un script serveur
Les clients ne peuvent pas créer d'entités sv_entityLockdown "strict" le bloque, assouplissez-le ou générez sur le serveur
Le serveur est lent avec plus de joueurs Optimiser les ressources lourdes, et tester le nombre d'emplacements sous charge

Réponses rapides

Comment activer OneSync ?

Ajouter set onesync on à server.cfg et redémarrer le serveur. Vous pouvez également passer +set onesync on comme argument de démarrage, ou utiliser l'option OneSync dans txAdmin si votre version l'a encore.

Pourquoi ne puis-je pas définir sv_maxclients au-dessus de 32 ?

Sans OneSync, un serveur FiveM est limité à 32 joueurs. Activez d'abord OneSync, puis augmentez sv_maxclients.

Y a-t-il une limite avec OneSync activé ?

Oui. Cfx.re lie le nombre d'emplacements que vous pouvez utiliser à votre clé de licence, et des nombres plus élevés nécessitent un niveau Element Club. Vérifiez les limites actuelles sur le site Cfx.re avant de définir un grand nombre.

Des scripts sans ce problème

Mic PhoneUn téléphone pliable qui se déplie en tablette et se prolonge jusqu’au vrai téléphone du joueur.Voir le script →Advanced BoostingDu boosting de véhicules piloté par tablette : contrats de classe D à S+, crews et file d’attente en direct.Voir le script →

À lire aussi