🚓 Chapitre 9 · Ton serveur FiveM sur TeamKit

Commandes console, raccourcis et astuces

Mis à jour le 07/09/2026 ·

Ce chapitre est un aide-mémoire. Tu y reviendras souvent : les commandes de la console serveur, celles de la console joueur (F8), les pages Schedule, Backups et Updates d'AMP, la bonne façon de mettre à jour une ressource, et dix astuces qui évitent des heures de recherche.

Tout se fait depuis le panel AMP (amp.teamkit.fr) ou par SFTP. Tu n'as pas besoin de RCON : la page Console d'AMP est branchée directement sur la console FXServer. Ce que tu y tapes est exécuté tel quel par le serveur.

1. La console serveur (page Console d'AMP) #

Ouvre ton instance, clique sur Console. En haut, la sortie du serveur ; en bas, une ligne de saisie. Tape la commande, valide avec Entrée.

Référence officielle : https://docs.fivem.net/docs/server-manual/server-commands/

Gérer les ressources #

Commande Effet
start <res> Démarre une ressource arrêtée (ou un dossier [...] entier)
stop <res> Arrête une ressource en cours
ensure <res> Redémarre si elle tourne, démarre si elle est arrêtée
restart <res> Redémarre une ressource active
refresh Relit le dossier resources/ et tous les manifestes
ensure ox_inventory
restart qb-garages
stop illenium-appearance
refresh

ensure est la commande à retenir : elle marche dans tous les cas. restart échoue si la ressource n'est pas déjà lancée.

Gérer les joueurs et le serveur #

Commande Effet
status Liste les joueurs connectés avec leurs identifiants et leur ping
clientkick <id> "motif" Expulse un joueur par son ID serveur
say <texte> Envoie un message dans le chat de tous les joueurs
quit ou quit "motif" Arrête proprement le serveur ; AMP le relance ou non selon son réglage
exec <fichier> Exécute les commandes d'un fichier de configuration
status
clientkick 12 "Redémarrage dans 5 minutes, reviens après"
say Redémarrage du serveur dans 5 minutes.

L'ID du joueur se lit dans la sortie de status. Il change à chaque connexion : ne l'utilise pas pour donner des droits, utilise l'identifiant license: (chapitre 07).

Les variables : set, setr, sets #

Une ConVar est une variable lue par le serveur ou par les scripts. Trois portées :

Commande Portée Exemple
set <var> <valeur> Serveur seulement set mysql_connection_string "..."
setr <var> <valeur> Répliquée aux clients setr ox:locale fr
sets <var> <valeur> Publiée dans la liste des serveurs sets sv_projectName "Ma Ville RP"

Deux règles :

  1. Un set tapé en console est perdu au redémarrage. Pour le rendre permanent, mets-le dans Configuration → FiveM → Starting Resources, en tête, avant le premier ensure (chapitre 07).
  2. Beaucoup de ressources lisent leur ConVar une seule fois, au démarrage. Un set tapé après coup ne change rien tant que tu n'as pas fait ensure sur la ressource.

Ce qui n'existe pas #

  • vehicle <modele>, car, tp, giveitem : ces commandes viennent d'un script (framework ou menu admin), pas de FXServer. Sans le script, la console répond que la commande est inconnue.
  • rcon : inutile depuis AMP. Le mot de passe RCON est celui de ton compte AMP et sert à AMP lui-même.

À retenir

  • Console d'AMP = console FXServer, sans RCON.
  • ensure pour (re)démarrer, refresh après tout changement de manifeste ou nouvelle ressource.
  • Un set tapé en console est temporaire ; le permanent va dans Starting Resources.

2. La console client (F8) #

En jeu, appuie sur F8. C'est la console du joueur : elle sert à se connecter, à mesurer, et à lire les erreurs côté client (chapitre 08).

Référence officielle : https://docs.fivem.net/docs/client-manual/console-commands/

Commande Effet
connect ip:port Se connecte à un serveur, ex. connect ADRESSE_DU_SERVEUR:30120 (l'adresse est sur ton tableau de bord teamkit.fr)
connect cfx.re/join/xxxxx Même chose par l'adresse courte Cfx.re
disconnect Quitte le serveur, retour au menu principal
quit Ferme FiveM immédiatement
resmon 1 / resmon 0 Ouvre ou ferme le moniteur de ressources (CPU et mémoire par ressource, côté client)
netgraph 1 / netgraph 0 Affiche ping, paquets, octets envoyés et reçus
cl_drawfps 1 Compteur d'images par seconde dans un coin
bind <mapper> <touche> "<commande>" Associe une touche à une commande
unbind <mapper> <touche> Retire toutes les commandes associées à cette touche

La documentation classe resmon et netgraph parmi les commandes développeur. Sur la plupart des installations elles répondent directement ; sinon, la page officielle ci-dessus explique comment activer ce mode.

Retirer une touche mémorisée #

Cas typique : un joueur a bindé F6 pour un menu d'un ancien serveur, et sur ton serveur F6 ouvre autre chose. FiveM garde les binds par joueur, pas par serveur.

  1. Ouvre la console avec F8.
  2. Tape unbind keyboard F6 et valide.
  3. Ferme la console et teste la touche.

Pour créer un bind, exemple tiré de la doc : bind keyboard F9 "say hi; wait 250; say bye". Le mapper est keyboard pour les touches clavier.

À retenir

  • F8 = la console du joueur ; c'est là qu'on lit les erreurs client.
  • resmon 1 montre quelle ressource pèse lourd chez le joueur.
  • unbind keyboard <touche> règle les conflits de touches mémorisées.

3. Schedule : planifier redémarrages et sauvegardes #

La page Schedule exécute des tâches à heure fixe ou à intervalle. Le principe : un déclencheur (bouton Add New Trigger : une heure de la journée, un intervalle, ou un événement comme « le serveur s'arrête ») auquel tu attaches une ou plusieurs tâches (bouton Add New Task : redémarrer, sauvegarder, envoyer une commande console). Chaque déclencheur a un interrupteur Enabled : tant qu'il est gris, rien ne se passe. Les libellés sont en anglais.

À la création de l'instance, Schedule contient déjà deux déclencheurs désactivés : « Enable to back up the server every hour » (tâche Backups - Take a backup) et « Enable to update the application daily at 12:00 » (tâche Application - Update the application and restart it if it was previously running). Laisse le second éteint : une mise à jour de FXServer en pleine journée sans sauvegarde ni test, c'est un serveur cassé à l'heure de pointe.

Planifier un redémarrage nocturne avec annonce #

Un serveur FiveM qui tourne plusieurs jours accumule des fuites de mémoire dans les scripts. Un redémarrage quotidien à une heure creuse est la norme.

  1. Ouvre Schedule dans ton instance, clique sur Add New Trigger et choisis le déclencheur « heure de la journée », réglé sur 04:55.
  2. Sur ce déclencheur, clique sur Add New Task et choisis la tâche qui envoie une commande console à l'application (dans la liste, sous Application). Texte :
say Redémarrage automatique dans 5 minutes. Mettez-vous en sécurité.
  1. Crée un second déclencheur à 05:00.
  2. Ajoute-lui la tâche Application - Restart the application.
  3. Active l'interrupteur Enabled des deux déclencheurs, puis vérifie le lendemain dans Console que l'annonce et le redémarrage ont eu lieu à l'heure prévue.

Évite de mettre l'annonce et le redémarrage dans le même déclencheur : ils partiraient en même temps.

Planifier une sauvegarde #

Attention à un détail que la page Backups te rappelle en jaune : une sauvegarde arrête le serveur le temps de préparer les fichiers, puis le relance (« Server will stop during backups »). Une sauvegarde à 04:30 ferait donc une coupure supplémentaire. Deux options :

  • Option simple : remplace la tâche Restart the application de 05:00 par Backups - Take a backup. Le serveur s'arrête, la sauvegarde part, le serveur redémarre : un seul arrêt qui sert de redémarrage nocturne. Laisse les options Local = true, S3 / Sticky / DirtyOnly = false, RestartEventIfNotRunning = false.
  • Option sans coupure : garde ton redémarrage à 05:00 et ajoute un déclencheur à 04:30 avec Take a backup et BackupWhileRunning = true. Les fichiers d'un serveur FiveM bougent peu pendant qu'il tourne (la base est ailleurs), la sauvegarde reste exploitable.

Dans les deux cas, vérifie dans Backups le lendemain qu'une nouvelle entrée est apparue.

À retenir

  • Un déclencheur = une heure ou un intervalle ; une tâche = ce qu'AMP fait à ce moment. Rien ne tourne tant que Enabled est gris.
  • Redémarrage quotidien à heure creuse, avec une annonce cinq minutes avant.
  • Une sauvegarde arrête le serveur, sauf avec BackupWhileRunning.

4. Backups : créer, restaurer, exclure #

La page Backups copie les fichiers de l'instance, sur la même machine. Elle se lance à la main ou depuis Schedule.

Créer une sauvegarde #

  1. Ouvre Backups. Le bloc Create a Backup est en bas de la page.
  2. Remplis Backup Name avec un nom parlant (ex. avant-maj-ox_inventory) et, si tu veux, Description.
  3. Coche Mark as Sticky si cette sauvegarde doit survivre au ménage automatique (AMP supprime les plus anciennes quand la limite est atteinte, jamais les sticky).
  4. Laisse Backup While Running décoché pour une sauvegarde propre : le serveur s'arrête, les fichiers sont préparés, le serveur redémarre, et la compression se termine en arrière-plan. Coche-le seulement si tu ne peux pas couper le serveur à ce moment.
  5. Clique sur Create Backup. La sauvegarde apparaît dans Stored Backups avec sa taille compressée et non compressée.

Restaurer #

  1. Arrête le serveur depuis Status (une restauration à chaud donne des fichiers incohérents).
  2. Dans Backups, sélectionne la sauvegarde dans Stored Backups et clique sur Restore Backup.
  3. Redémarre et lis la console jusqu'au message de démarrage complet.

Limiter la place #

Une sauvegarde qui embarque server-data/cache/ et tous tes MLO pèse vite plusieurs gigaoctets et remplit tes 50 Go. Les limites se règlent dans Configuration → Backups (le sous-menu Configuration du menu de gauche, pas la page Backups) : Backup Space Limit (place totale), Individual Backup Limit (taille d'une sauvegarde), Backup Count Limit (nombre gardé) et Backup Replacement Policy (que faire quand la limite est atteinte). Laisse Use Smart Backup Exclusions activé : AMP saute déjà ce qu'il sait inutile. Pour le reste, la meilleure exclusion est de ne pas garder sur le serveur ce que tu as déjà sur ton PC (archives de MLO, zips de scripts).

Ce que Backups ne couvre pas #

  • La base de données. Exporte-la depuis l'interface web indiquée sur ton tableau de bord teamkit.fr (chapitre 06).
  • La disparition de l'instance. Si ton serveur est libéré pour inactivité, ses sauvegardes AMP disparaissent avec lui. Télécharge par SFTP, sur ton PC, une copie de resources/ et un export .sql à chaque étape importante.

À retenir

  • Backups sauvegarde les fichiers, pas la base.
  • Restaurer serveur arrêté.
  • Une copie sur ton PC est la seule qui survit à la suppression de l'instance.

5. Updates : mettre à jour FXServer #

FXServer (« l'artefact ») est le programme lui-même, dans server/. Il n'a pas besoin d'être mis à jour chaque semaine, mais il le faut parfois : une ressource exige une version minimale (lis sa page GitHub ou son message d'erreur), tu veux un Enforce Game Build récent, ou un bug de ta version est corrigé (annoncé sur https://forum.cfx.re).

Quelle version #

Configuration → Updates → Server Build propose :

Choix Quand le choisir
Recommended Par défaut. Stable, testé. Reste dessus tant que rien ne t'oblige à changer.
Optional Plus récent, encore considéré sûr. Pour une ressource qui demande une version récente.
Latest Le tout dernier. Peut casser des ressources. Seulement si une ressource l'exige.
Critical La version minimale encore acceptée par Cfx.re. Ne descends pas en dessous.
Specific Build Version Download URL Une version précise, par son URL prise sur https://runtime.fivem.net/artifacts/fivem/.

Comment #

  1. Crée une sauvegarde dans Backups.
  2. Ouvre Configuration → Updates, choisis le Server Build.
  3. Arrête le serveur depuis Status.
  4. Clique sur Update dans Status ; AMP télécharge et remplace server/.
  5. Redémarre et lis la console : les premières lignes affichent la version chargée.
  6. Fais un tour en jeu : connexion, inventaire, véhicules, un MLO.

Si une ressource casse après la mise à jour, reviens au Server Build précédent (ou colle l'URL exacte de l'ancienne version) et relance Update.

À retenir

  • Recommended par défaut ; Optional si une ressource l'exige ; Latest presque jamais.
  • Sauvegarde, arrêt, Update, redémarrage, test.

6. Mettre à jour une ressource proprement #

C'est l'opération la plus courante et celle qui casse le plus de serveurs quand elle est faite à la va-vite.

Le dossier sauvegardes/ #

Crée une fois pour toutes un dossier server-data/sauvegardes/, à côté de resources/, jamais dedans. Toute copie de sécurité d'une ressource va là. Raison (chapitre 07) : beaucoup de manifestes chargent server/** ou client/**, donc un main.lua.bak laissé dans une ressource est exécuté comme un script, avec doublons d'événements et erreurs incompréhensibles.

La procédure #

  1. Télécharge la release depuis la page officielle de la ressource (onglet Releases sur GitHub, ou l'espace client de la boutique). Note le numéro de version.
  2. Lis les notes de version : parfois un SQL à importer, une ConVar à ajouter, une dépendance à mettre à jour d'abord (ox_lib avant ce qui en dépend).
  3. Compare sur ton PC ton dossier actuel et le nouveau : repère les fichiers que tu as modifiés (config.lua, locales/fr.lua). Reporte tes modifications dans les nouveaux fichiers, jamais l'inverse.
  4. Déplace par SFTP resources/[dossier]/ma_ressource vers sauvegardes/ma_ressource_2026-09-07.
  5. Dépose la nouvelle version au même emplacement, avec le même nom de dossier (c'est le nom utilisé par ensure).
  6. Importe le SQL s'il y en a un (chapitre 06).
  7. Tape dans la console d'AMP :
refresh
ensure ma_ressource
  1. Lis la console pendant trente secondes. Zéro ligne rouge liée à la ressource, puis test en jeu.

Retour arrière #

Si ça casse : stop ma_ressource, supprime le nouveau dossier, remets la copie depuis sauvegardes/, puis refresh et ensure ma_ressource. Deux minutes, parce que la copie existait.

À retenir

  • Une copie de sécurité va dans server-data/sauvegardes/, jamais dans resources/.
  • Reporte tes modifications dans la nouvelle version, pas l'inverse.
  • refresh puis ensure, et lis la console.

7. Dix astuces courtes #

  1. Ne renomme pas un dossier de ressource. Son nom est le nom de la ressource ; les autres scripts l'appellent par ce nom (chapitre 07).
  2. Un refresh avant tout ensure d'une ressource nouvelle. Sinon la console répond qu'elle n'existe pas.
  3. Édite les petits fichiers dans le File Manager d'AMP, les gros par SFTP.
  4. Compresse avant d'envoyer. Un pack de MLO passe mieux en une archive .zip décompressée par le File Manager qu'en 40 000 fichiers par SFTP.
  5. Cherche dans la console avec Ctrl+F de ton navigateur : la page Console est du texte.
  6. status avant clientkick. L'ID change à chaque connexion.
  7. Après tout changement dans Configuration, redémarre l'instance. Le server.cfg est régénéré au démarrage, un refresh ne suffit pas (chapitre 07).
  8. Un seul changement à la fois. Une ressource ajoutée, un test, la suivante.
  9. Note tes versions dans un fichier texte : ressource, version, date, lien. Le jour où un script acheté casse, tu sais quoi dire au vendeur.
  10. Garde l'historique des logs : la console AMP ne conserve que les dernières lignes. Pour remonter plus loin, File Manager → dossier AMP_Logs de l'instance.

✅ Checklist du chapitre #

❓ Si ça ne marche pas #

La console répond « couldn't find resource » après un ensure. Tape refresh d'abord, puis vérifie que le nom tapé est exactement celui du dossier (majuscules comprises) et que fxmanifest.lua est à la racine du dossier, pas dans un sous-dossier.

Le redémarrage planifié ne se fait pas. Vérifie l'heure de l'instance (heure de la machine) et que le déclencheur est activé. Regarde la console AMP à l'heure prévue : si une tâche a tourné, AMP l'écrit.

La sauvegarde échoue ou remplit le disque. Exclus cache/ et les gros dossiers de MLO, supprime les anciennes sauvegardes dans Backups. Tes 50 Go incluent les sauvegardes.

Après Update, des ressources ne démarrent plus. Reviens au Server Build précédent, relance Update. Puis cherche dans la console la première erreur et vois le chapitre 08.

Après une mise à jour de ressource, des événements se déclenchent en double. Un fichier de sauvegarde est resté dans le dossier de la ressource. Cherche .bak, .old, copie dans resources/, déplace-les dans sauvegardes/, puis refresh et ensure.

Ma commande set ne change rien. La ressource a lu la ConVar au démarrage. Mets la ligne en tête de Starting Resources et redémarre l'instance.

Une étape qui coince ? Ouvre un ticket sur le site ou demande sur le Discord TeamKit. Le bot Guide connaît ces pages.