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 :
- Un
settapé en console est perdu au redémarrage. Pour le rendre permanent, mets-le dans Configuration → FiveM → Starting Resources, en tête, avant le premierensure(chapitre 07). - Beaucoup de ressources lisent leur ConVar une seule fois, au démarrage. Un
settapé après coup ne change rien tant que tu n'as pas faitensuresur 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.
ensurepour (re)démarrer,refreshaprès tout changement de manifeste ou nouvelle ressource.- Un
settapé 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.
- Ouvre la console avec F8.
- Tape
unbind keyboard F6et valide. - 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 1montre 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.
- 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.
- 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é.
- Crée un second déclencheur à 05:00.
- Ajoute-lui la tâche Application - Restart the application.
- 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 #
- Ouvre Backups. Le bloc Create a Backup est en bas de la page.
- Remplis Backup Name avec un nom parlant (ex.
avant-maj-ox_inventory) et, si tu veux, Description. - 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).
- 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.
- Clique sur Create Backup. La sauvegarde apparaît dans Stored Backups avec sa taille compressée et non compressée.
Restaurer #
- Arrête le serveur depuis Status (une restauration à chaud donne des fichiers incohérents).
- Dans Backups, sélectionne la sauvegarde dans Stored Backups et clique sur Restore Backup.
- 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 #
- Crée une sauvegarde dans Backups.
- Ouvre Configuration → Updates, choisis le Server Build.
- Arrête le serveur depuis Status.
- Clique sur Update dans Status ; AMP télécharge et remplace
server/. - Redémarre et lis la console : les premières lignes affichent la version chargée.
- 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 #
- 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.
- 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).
- 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. - Déplace par SFTP
resources/[dossier]/ma_ressourceverssauvegardes/ma_ressource_2026-09-07. - Dépose la nouvelle version au même emplacement, avec le même nom de dossier (c'est le nom utilisé par
ensure). - Importe le SQL s'il y en a un (chapitre 06).
- Tape dans la console d'AMP :
refresh
ensure ma_ressource
- 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 dansresources/. - Reporte tes modifications dans la nouvelle version, pas l'inverse.
refreshpuisensure, et lis la console.
7. Dix astuces courtes #
- 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).
- Un
refreshavant toutensured'une ressource nouvelle. Sinon la console répond qu'elle n'existe pas. - Édite les petits fichiers dans le File Manager d'AMP, les gros par SFTP.
- Compresse avant d'envoyer. Un pack de MLO passe mieux en une archive
.zipdécompressée par le File Manager qu'en 40 000 fichiers par SFTP. - Cherche dans la console avec Ctrl+F de ton navigateur : la page Console est du texte.
statusavantclientkick. L'ID change à chaque connexion.- Après tout changement dans Configuration, redémarre l'instance. Le
server.cfgest régénéré au démarrage, unrefreshne suffit pas (chapitre 07). - Un seul changement à la fois. Une ressource ajoutée, un test, la suivante.
- Note tes versions dans un fichier texte : ressource, version, date, lien. Le jour où un script acheté casse, tu sais quoi dire au vendeur.
- Garde l'historique des logs : la console AMP ne conserve que les dernières lignes. Pour remonter plus loin, File Manager → dossier
AMP_Logsde 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.