Documentation 9.6.24
Installation
Utilisez le paquet de ce serveur. Sauvegardez la ressource, les réglages modifiables et la base avant la mise à jour.
1. Préparer le serveur#
Utilisez un artifact FiveM pris en charge et vérifiez OneSync. Gardez la connexion oxmysql fonctionnelle. Décompressez tosun-ac dans resources sans le renommer. Démarrez d’abord framework et dépendances. Au premier démarrage, l’anticheat doit pouvoir créer ses tables locales. Le bridge ne nécessite pas d’import SQL. En cas de table manquante, utilisez le SQL fourni uniquement après sauvegarde.
2. Réglages réservés au serveur#
Copiez la licence depuis Serveurs et remplacez YOUR_SERVER_LICENSE. Utilisez set, jamais setr ni sets. Ne publiez pas la clé et ne la placez pas dans du Lua partagé ou client. La connexion de données du panel (bridge) est activée par défaut et ne demande aucune ligne dans server.cfg ; les anciennes lignes tosun_db_bridge_enabled et tosun_db_bridge_money_write sont ignorées et peuvent être supprimées.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian3. Démarrer et vérifier#
Démarrez oxmysql avant tosun-ac pendant une maintenance. Vérifiez version et erreurs de console. Le bridge démarre activé par défaut, sans ligne supplémentaire dans server.cfg. Vérifiez son état avec la commande ci-dessous dans la console serveur. N’envoyez aucune vraie clé au support.
tosunac_db_statusPréparer une installation récupérable#
Notez la version de l’artifact et les noms des ressources du framework et de l’inventaire. Téléchargez le paquet du serveur sélectionné dans Servers : une autre licence peut relier la mauvaise installation. Vérifiez l’abonnement payant et votre droit de gestion. Gardez le ZIP privé.
- Sauvegardez tosun-ac, les réglages modifiables et la base du jeu. Vérifiez l’accès à la sauvegarde avant tout remplacement.
- Décompressez dans un dossier séparé. fxmanifest.lua doit se trouver directement dans tosun-ac, sans second dossier imbriqué.
- Comparez vos réglages aux nouvelles valeurs par défaut. Reportez les modifications voulues et les intégrations ; ne remplacez pas toute la nouvelle configuration par l’ancienne.
Dépendances et paramètres privés#
Conservez la connexion oxmysql fonctionnelle. Le pont de base de données du panneau et la modification des soldes en ligne sont actifs par défaut ; l’exemple ne contient donc aucune ligne du pont. Les anciennes lignes tosun_db_bridge_enabled et tosun_db_bridge_money_write sont ignorées et peuvent être supprimées. Insérez les lignes réelles de démarrage du framework et de l’inventaire selon leurs dépendances. Ne lancez pas de frameworks concurrents pour reproduire un exemple. Utilisez set pour la licence : setr transmet aux clients et sets publie des informations serveur.
Le resource a besoin des droits nécessaires à ses tables. Leur création initiale est indépendante du pont. Pour le couper sur un serveur, ouvrez dans le panneau Servers → le serveur → Tosun Connect → Disable connection. Pour un contrôle manuel, ajoutez set tosun_db_bridge_manual "1" ; tosun_db_bridge_enabled et tosun_db_bridge_money_write sont alors lus dans server.cfg, et chacun reste désactivé s’il ne vaut pas "1". N’importez pas de SQL sans vérification dans une base peuplée. Aucun mot de passe ni licence ne doit figurer dans le Lua partagé ou client. Prévoyez une maintenance : ensure peut redémarrer une ressource active.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Démarrez ici votre framework et inventaire existants.
ensure tosun-acValider le jeu avant la réouverture#
Le démarrage ne valide pas toutes les intégrations. Vérifiez la version du manifest, les messages et la connexion, puis connectez un compte de test. Exécutez ces diagnostics dans la console serveur. Le pont est actif par défaut ; disabled n’est attendu qu’en mode manuel sans tosun_db_bridge_enabled "1" ou si l’ancien miroir du panneau est activé. Le docteur signale les réglages risqués sans les modifier.
Gardez un relevé de version, heure, responsable et parcours testés. Pour un script particulier, reproduisez avec un joueur test et notez la ressource. Vérifiez cette intégration avant de donner une exemption générale ou de durcir les sanctions du serveur.
- Testez choix du personnage, apparition, réanimation, entrée de maison et sortie de garage sans sanction inattendue.
- Vérifiez armes d’inventaire, équipement de police et armes d’arène avec contrôle ou autorisation ciblée.
- Testez objets d’emote, menus téléphone et actions du personnel ; identifiez dans les logs le script à intégrer.
- En cas d’échec, conservez la première erreur utile et la version, restaurez la ressource sauvegardée si nécessaire et retirez les secrets avant partage.
tosunac_integration
tosunac_doctor
tosunac_db_statusMettre à jour une ressource sans mélanger les paquets#
Traitez la mise à jour comme un changement dont les états avant et après sont identifiables. Gardez le nom tosun-ac pour conserver les chemins des exports et des fichiers auxiliaires. Comparez configs/anticheat_config.lua, configs/anticheat_webhooks.lua et vos intégrations modifiables au nouveau paquet, puis reprenez uniquement vos réglages volontaires. Préservez les convars privés et les ressources de confiance vérifiées. Depuis 9.6.14, les lignes tosun_db_bridge_enabled et tosun_db_bridge_money_write de server.cfg sont ignorées ; après la mise à jour, le pont et la modification des soldes en ligne pour les administrateurs et propriétaires du panneau sont donc actifs. Pour garder le pont coupé, utilisez Disable connection sur la carte Tosun Connect du serveur ou ajoutez set tosun_db_bridge_manual "1" ; ces lignes s’appliquent alors de nouveau, et chacune reste désactivée si elle ne vaut pas "1". Un ancien fichier peut manquer de nouvelles valeurs par défaut ; recopier tout l’ancien dossier peut laisser des modules obsolètes à côté des nouveaux. oxmysql et le core concerné restent avant tosun-ac, les intégrations dépendantes après.
- Fermez les nouvelles connexions pendant la maintenance et notez première sortie de démarrage, version et différences de configuration.
- Conservez un seul dossier tosun-ac actif ; placez sa sauvegarde hors de l’arborescence des ressources actives.
- Reconnectez un joueur normal de test après le redémarrage ; une ancienne session ne constitue pas un test propre.
Choisir le diagnostic à partir du symptôme#
Partez de la première erreur concrète plutôt que de modifier plusieurs protections ensemble. Si la ressource ne démarre pas, vérifiez dossier, manifeste et dépendances manquantes. Si elle démarre sans connexion au panneau, contrôlez serveur choisi, licence et état de connexion avant les règles de jeu. Un refus d’admission du launcher est un autre contrôle. Si seul un script de maison, arène ou vêtements échoue, relevez ressource et action, puis consultez les appels d’intégration refusés. Un compte du personnel peut être exempté : son succès ne démontre pas le bon fonctionnement pour les joueurs ordinaires.
- Reproduisez une fois la plus petite action défaillante avec un personnage normal de test et notez le résultat exact.
- Comparez au dernier réglage fonctionnel, corrigez la dépendance ou intégration concernée et répétez cette seule vérification.
- Retirez les clés privées du rapport ; ne désactivez pas toute détection ou le contrôle de confiance pour masquer un symptôme.
Restaurer un état connu et le vérifier#
Préparez le retour avant la maintenance. Conservez des sauvegardes cohérentes des fichiers et réglages, l’ancien ordre de démarrage et les convars modifiés. Si une version bloque les connexions normales ou un parcours nécessaire, restaurez le paquet connu puis testez-le. Restaurer Lua n’annule pas un changement d’argent, ne supprime pas un travail du panneau et ne restaure pas la base. Ne supprimez ni tables AC, ni bans, ni historique des détections pour réparer une installation. Pour une modification de base, son responsable doit évaluer un plan distinct tenant compte des données ajoutées depuis la sauvegarde.
- Restaurez d’abord les fichiers et réglages concernés ; testez démarrage, connexion normale et action précédemment défaillante.
- La modification des soldes est active par défaut. Jusqu’à l’examen de l’installation restaurée et des soldes au résultat incertain, coupez la connexion sur la carte Tosun Connect du serveur et vérifiez le solde en jeu avant de renvoyer une modification. Après l’examen, réactivez-la avec Enable connection sur la même carte. Un paquet restauré antérieur à 9.6.14 garde l’ancien comportement : sans les lignes de server.cfg, le pont reste coupé.
- Documentez ce qui a été restauré et pourquoi, afin que la prochaine mise à jour traite la cause reproductible.
Inspecter les dossiers après extraction#
Extrayez d’abord dans un dossier indépendant. Vérifiez imbrication accidentelle tosun-ac/tosun-ac, fxmanifest.lua à la racine et dossier séparé tosun-ac-guardian si fourni. Ne regroupez pas par extension : le manifeste utilise client, shared, configs, editable, server et html. Une configuration hors du chemin attendu peut rester inutilisée.
Une erreur @oxmysql/lib/MySQL.lua appelle une dépendance, pas une nouvelle licence. Pour html/index.html absent, examinez NUI et structure. Restaurez depuis le bon paquet sans mélanger un module d’une autre version. Examinez INSTALL.sql facultatif contre le schéma existant avec sauvegarde avant application. ZIP, dossier préparé et resource actif doivent former une chaîne claire. Priorisez la première erreur de démarrage.
Vérifier le côté qui charge les secrets#
Le nom de fichier ne dit pas ce que reçoivent les joueurs. configs/anticheat_config.lua figure dans shared_scripts et charge côté serveur et client. N’ajoutez ni licence, identifiant API privé ni mot de passe de base. Fichiers client et html/NUI ne stockent pas de secrets. Une configuration lisible et modifiable n’autorise pas des secrets partout.
Examinez vos fichiers modifiés. Gardez la licence dans server.cfg protégé avec set serveur, jamais setr ou sets. Utilisez configs/anticheat_webhooks.lua côté serveur pour le webhook et masquez l’adresse sur les captures. Supprimer un secret déjà diffusé au client/public ne retire pas ses anciennes copies ; évaluez son remplacement. Notez fichier et côté vérifiés, sans recopier la valeur secrète.
Avancer par petites étapes de validation#
Répartissez la maintenance en quatre étapes : connexion et core existants, démarrage AC, parcours normal du joueur, puis pont du panneau, actif par défaut. Attendez un résultat visible avant la suivante. Vérifiez les fonctions habituelles du framework et de l’inventaire utilisés ; ajouter un autre core peut masquer la cause. Faites ensuite correspondre la sortie du tosun-ac actif au paquet installé. Testez avec un personnage sans exemption du personnel. La modification des soldes en ligne pour les administrateurs et propriétaires du panneau est aussi active par défaut ; une lecture suffit pour valider le pont, sans changer de solde.
Notez heure, résultat attendu et observé sur une ligne par étape. Si la sélection du personnage fonctionne mais pas la sortie du garage, revenez au premier parcours défaillant plutôt que tout télécharger à nouveau. Le jeu qui fonctionne et une lecture du pont achevée sont deux validations distinctes. Masquer un message ne valide pas l’étape précédente. Corrigez la dépendance manquante avant de poursuivre et reprenez l’usage normal après les validations nécessaires. Le relevé distingue ainsi les étapes terminées de celles en attente.
Lire les messages de console avec leur résultat#
Les messages colorés de démarrage n’ont pas tous la même signification. Une vérification armes/inventaire en attente d’un inventaire compatible n’est pas une détection contre un joueur ; examinez fournisseur et core. L’absence de GetSelectedPedWeapon concerne le native nécessaire à ce module, pas tous les modules. La sortie Integration indiquant enforce et trusted décrit les droits de l’appelant sans prouver qu’un parcours fonctionne. Partez du texte complet plutôt que de sa couleur.
Connected du pont confirme la communication de santé ; la requête d’un personnage doit terminer séparément. Waiting: oxmysql_unavailable indique les dépendances ; Panel unavailable or not authorized demande d’examiner connexion ou autorisation. Ce dernier ne prouve pas une licence défectueuse. Le pont est actif par défaut ; enabled=false dans la commande d’état n’est attendu qu’en mode manuel sans tosun_db_bridge_enabled "1" ou si l’ancien miroir du panneau est activé. Si la connexion a été coupée sur la carte Tosun Connect, la commande d’état affiche toujours enabled=true et le panneau refuse les requêtes du serveur ; le dernier état du panneau peut alors n’afficher que Panel unavailable or not authorized. Devant ce message, vérifiez d’abord que la carte Tosun Connect du serveur montre la connexion activée, puis la licence et le réseau. Gardez première erreur précédente, ressource, heure et action actuelle ensemble. Distinguer avertissement de démarrage et sanction du joueur clarifie le diagnostic.
Télécharger pour le bon serveur#
Connectez-vous et sélectionnez le même serveur dans Serveurs et Téléchargements. Un droit de téléchargement payant et la permission de gérer ce serveur sont requis. Le ticket lié à la session, au compte et au serveur expire après 90 secondes et ne sert qu’une fois.
Après expiration ou utilisation, demandez un nouveau ticket dans le panel. Enregistrez le ZIP avant transfert : télécharger ne met pas à jour la ressource active. Une licence dans URL, Bearer ou X-License-Key n’autorise pas le téléchargement. Ne stockez ni ticket ni cookie dans un script.
Conserver les secrets uniquement côté serveur#
Utilisez set dans server.cfg ou la table credentials de configs/anticheat_server.lua. Un convar non vide prime sur le fichier; l’ancienne valeur partagée n’est qu’une compatibilité de migration côté serveur. Ne placez pas de secrets dans setr ou sets.
Laissez ts.webPanelKey, ts.Central.token et ts.licenseLock.licenseKey vides dans la configuration partagée. panelKey, centralToken et licenseKey sont modifiables dans le fichier serveur. Laissez les connexions inutilisées vides. Renouvelez les clés exposées dans leur panel : supprimer une valeur locale ne la révoque pas.
set tosun_ac_license "YOUR_SERVER_LICENSE"
set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
# Optional: only configure a central connection you use.
set tosun_ac_central_token "YOUR_FIVEM_CENTRAL_TOKEN"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardianDiagnostiquer le démarrage et les arrêts de Guardian#
Dans la console serveur txAdmin, exécutez tosunac_doctor puis tosunac_guardian_status. ready signifie resource démarrée; waiting_dependency indique une dépendance; transition un démarrage/arrêt; held une pause temporaire volontaire. Cela ne prouve pas la réussite des tests du jeu ou du schéma SQL.
Démarrez oxmysql et tosun_render avant tosun-ac, puis tosun-ac-guardian. Corrigez la licence/version avant resume. pause se lance seulement en console et dure au maximum 30 minutes. Les tentatives infructueuses sont limitées et espacées.
# txAdmin server console:
tosunac_doctor
tosunac_guardian_status
# Pause only during planned maintenance; repair the reported cause first:
tosunac_guardian_pause 300
tosunac_guardian_resumeExaminer la découverte après les dépendances#
EventScanner commence après 30 secondes et tourne chaque heure; tosunac_eventscan le lance dans la console serveur. tosunac_setup est une maintenance distincte: analyses backdoor et signatures terminées, empreinte fraîche identique, puis approbation des ressources propres admissibles et démarrées. Ce n’est pas un certificat d’absence de backdoor. Travaillez avec une installation examinée et une sauvegarde. Découvrir les événements ne crée pas de validateur, ne réécrit pas de handler et n’autorise aucun joueur.
# txAdmin server console: event discovery only
tosunac_eventscanCe que la cache de scan évite réellement#
Contenu et politique inchangés réutilisent l’analyse, mais les empreintes de contenu restent contrôlées: ce n’est pas zéro lecture disque. Une modification relance l’analyse. Backdoors: après 25 secondes, toutes les 30 minutes; ressources: 20 secondes, toutes les 90 secondes; événements: 30 secondes, chaque heure. signatureScanFirstRun contrôle aussi au démarrage avec un ancien marqueur. Un scan partiel, illisible, avec glob non pris en charge ou seulement escrow n’est pas un résultat propre complet et ne justifie pas une baseline automatique.
-- Edit the existing configs/anticheat_config.lua tables.
ts.EnforceExportCallerWhitelist = true
ts.EventScanner.autoProtect = false
-- 0 disables only the periodic event scan, not initial/manual discovery.
-- ts.EventScanner.scanIntervalMs = 0Valider avec un joueur ordinaire#
Testez sans protection staff ni whitelist joueur: personnage, apparence, revive, entrée de maison validée, garage et une récompense. Vérifiez ensuite annulation, déconnexion, redémarrage AC et refus non autorisé. Séparez le retour export du reçu applicatif. Le délai caméra/mouvement légitime ne doit pas désactiver les armes/événements. Les actions sensibles passent par des exports fiables; le délai local ne suspend pas tous les détecteurs directement signés. Notez version, ressource, résultat attendu/observé sans clés ni mots de passe.
Copier la licence Tosun du bon serveur#
Dans TosunDev, ouvrez Serveurs, choisissez votre serveur FiveM et copiez sa licence Tosun AC. tac_live_ est distinct de la licence Cfx.re, de sv_licenseKey, du jeton Discord et de la clé API du panneau.
- Remplacez YOUR_SERVER_LICENSE entre guillemets dans server.cfg.
- Placez tosun_ac_license avant ensure tosun-ac; utilisez set, jamais setr ou sets.
- Autre méthode : credentials.licenseKey dans configs/anticheat_server.lua. Un convar non vide est prioritaire.
- Ne publiez pas la licence dans une capture, le chat, shared config ou les fichiers client.
set tosun_ac_license "YOUR_SERVER_LICENSE"
# Alternative: configs/anticheat_server.lua
# credentials.licenseKey = "YOUR_SERVER_LICENSE"Du ZIP au démarrage dans txAdmin#
Placez tosun-ac, tosun-ac-guardian et tosun_render au même niveau dans resources, chacun avec fxmanifest.lua à sa racine. discord-bot est une application Node.js. Le nouveau manifeste Render ne déclare que gta5, sans common.
- Conservez mysql_connection_string; démarrez oxmysql et votre framework/inventaire existants avant Render, AC et Guardian.
- Exécutez refresh dans txAdmin puis respectez l’ordre indiqué. L’alias tosun-render est accepté; le dossier reste tosun_render.
- tosun_render_status doit afficher started et les fichiers disponibles. Testez ensuite la capture avec un joueur.
- Analysez la première erreur : dépendance, emplacement du dossier ou licence du serveur sélectionné.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Start your existing framework/inventory here.
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian
# txAdmin console:
tosun_render_status
tosunac_doctor
tosunac_db_check
tosunac_db_statusÉviter les analyses inutiles après redémarrage#
Chaque démarrage vérifie les empreintes SHA256 du contenu. Les ressources dont les fichiers et règles sont inchangés réutilisent les résultats authentifiés du KVP serveur au lieu de répéter les analyses coûteuses de signatures et événements. Les changements de fichiers, exceptions ou règles déclenchent une nouvelle analyse. Les empreintes nécessitent encore des lectures ; aucune valeur resmon fixe n’est garantie.
- Conservez le cache KVP pendant une mise à jour normale ; les entrées corrompues ou invérifiables sont réanalysées.
- Le catalogue initial collecte les noms d’événements littéraux Lua/JS. Les noms dynamiques, fichiers illisibles ou escrow et DLL ne sont pas certifiés entièrement analysés.
- L’installation automatique manuelle attend l’analyse de sécurité. Les ressources incomplètes, suspectes, modifiées ou expirées ne sont pas approuvées automatiquement.
- Testez la connexion des joueurs, le jeu normal et les actions administrateur sur un serveur de test ; évaluez resmon avec le nombre de joueurs et la charge du framework.