🏙️ Chapitre 3 · Ton serveur Nova-Life sur TeamKit

Les fichiers de configuration du jeu

Mis à jour le 07/09/2026 ·

Les 49 réglages AMP du chapitre 02 ne couvrent pas tout. Le concessionnaire, l'auto-école, les annonces automatiques et les boutiques se règlent dans des fichiers, par SFTP.

Ce chapitre t'explique lesquels, comment les modifier sans casser ton serveur, et surtout lequel AMP réécrit et lequel il laisse tranquille — parce que se tromper là-dessus fait perdre son travail.

1. Les six fichiers, et qui les commande #

Tous vivent dans novalife/1665030/Servers/<TonProfil>/Config/.

Fichier Contenu Qui le commande
server.json nom, slots, ports, whitelist, sauvegarde auto AMP (réglages 10-22)
roleplay.json argent de départ, carburant, terrains, AFK AMP (réglages 30-37)
announcer.json annonces automatiques en jeu toi, par SFTP
carDealership.json catalogue et position du concessionnaire toi, par SFTP
drivingSchool.json permis, prix, examens toi, par SFTP
shopCheckpoints-0.json emplacements et contenus des boutiques toi, par SFTP

La règle qui évite les mauvaises surprises : les deux premiers sont réécrits par AMP à chaque démarrage, à partir de la page Configuration. Si tu les modifies à la main, ton travail disparaît au prochain lancement.

Les quatre autres, AMP ne les touche jamais après leur installation initiale. Ils sont posés une fois, avec des valeurs par défaut, puis ils t'appartiennent.

✅ À retenir

  • server.json et roleplay.json : par AMP uniquement. Toute modification manuelle est perdue.
  • Les quatre autres : par SFTP, et personne ne les écrase.

2. Modifier un fichier JSON sans le casser #

Le JSON est un format strict. Une virgule en trop et le serveur refuse de lire le fichier — parfois en silence, en repartant sur les valeurs par défaut.

La méthode qui ne pardonne rien :

  1. Télécharge le fichier par SFTP avant toute modification. C'est ta sauvegarde.
  2. Ouvre-le dans un vrai éditeur de texte : Notepad++, VS Code, Sublime. Pas le Bloc-notes de Windows, qui peut ajouter des caractères invisibles.
  3. Modifie.
  4. Vérifie ta syntaxe en collant le contenu sur un validateur JSON en ligne avant de renvoyer le fichier. Trente secondes qui t'évitent une soirée.
  5. Renvoie par SFTP, redémarre, et lis la console.

Les trois erreurs qui reviennent tout le temps :

"price": 8500,          ← virgule après le DERNIER élément d'un bloc : interdit
"price": 8 500          ← espace dans un nombre : interdit
"nom": "L'auberge"      ← apostrophe : autorisée, mais le guillemet " ne l'est pas

Pour un guillemet dans un texte, échappe-le : \".

✅ À retenir

  • Télécharge avant de modifier. Toujours.
  • Valide ta syntaxe JSON avant de renvoyer. Une virgule en trop suffit à tout casser.

3. announcer.json — les annonces automatiques #

Le fichier le plus simple, et un bon terrain d'entraînement.

{
  "informations": "https://sites.google.com/view/nova-life-wiki/aides/config-serveur",
  "active": true,
  "announces": [
    {
      "message": "Bienvenue sur MonRP ! Rejoins notre Discord : discord.gg/xxxx",
      "secondsInterval": 300.0
    }
  ]
}
  • active : interrupteur général.
  • announces : la liste. Ajoute autant de blocs que tu veux.
  • secondsInterval : délai avant que ce message repasse.

Le champ informations est un simple rappel du lien vers le wiki officiel. Ne le supprime pas, il ne gêne pas.

Pour ajouter une deuxième annonce, duplique le bloc et sépare-les par une virgule :

  "announces": [
    { "message": "Premier message", "secondsInterval": 300.0 },
    { "message": "Deuxième message", "secondsInterval": 600.0 }
  ]

Pas de virgule après le dernier bloc.

Sur le rythme : 300 secondes, c'est une annonce toutes les cinq minutes. Avec trois annonces, un joueur en voit une toutes les cent secondes. C'est trop. Compte l'intervalle total, pas celui de chaque message.

✅ À retenir

  • Chaque annonce est un bloc, séparé par une virgule, sauf la dernière.
  • Compte l'intervalle cumulé : trois annonces à 300 s font un message toutes les 100 s.

4. carDealership.json — le concessionnaire #

Ce fichier définit où se trouve le concessionnaire et ce qu'il vend.

{
  "informations": "...",
  "carShopName": "Concessionnaire automobile",
  "shopPosition": { "x": 639.9074, "y": 50.005, "z": 985.7255 },
  "carForSales": [
    { "modelId": 16, "price": 8500 },
    { "modelId": 15, "price": 15990 }
  ]
}
  • carShopName : le nom affiché.
  • shopPosition : les coordonnées dans le monde.
  • carForSales : le catalogue, un bloc par véhicule.

Le modelId est le point délicat. C'est l'identifiant interne du véhicule dans le jeu, pas son nom. Tu ne l'inventes pas : récupère la liste sur le wiki officiel Nova-Life, ou relève les identifiants des véhicules déjà présents dans ton fichier par défaut.

Un modelId inexistant fait au mieux disparaître la ligne du catalogue, au pire empêche le concessionnaire de s'ouvrir.

Sur les prix, et c'est le cœur de ton économie : le rapport entre 30 - Argent de départ et le prix de la première voiture décide du rythme de ton serveur.

Argent de départ Première voiture Ce que ça produit
60 000 8 500 le joueur roule tout de suite
60 000 45 000 il choisit : voiture ou logement
5 000 8 500 il doit travailler d'abord

Aucune n'est meilleure. Mais choisis-la consciemment, parce que la changer plus tard crée deux générations de joueurs qui n'ont pas eu les mêmes règles.

✅ À retenir

  • modelId vient du wiki ou de ton fichier par défaut. Ne l'invente pas.
  • Le rapport argent de départ / prix des voitures définit le rythme de ton serveur.

5. drivingSchool.json — l'auto-école #

Le plus gros des quatre fichiers modifiables. Il définit les permis proposés, leur prix, et le déroulement des examens.

Deux conseils, parce que c'est le fichier où l'on casse le plus de choses :

Change les prix d'abord, la structure ensuite. Modifier un prix est sans risque. Ajouter ou retirer une étape d'examen touche à la logique du jeu, et une erreur ne se voit qu'au moment où un joueur passe l'examen — souvent des jours plus tard.

Teste toi-même chaque permis que tu modifies. C'est fastidieux, mais un permis cassé bloque un métier entier sur ton serveur, et le joueur qui tombe dessus a perdu son argent.

Le prix du permis est le deuxième levier de ton économie, après le concessionnaire. Un permis à 500 quand la voiture coûte 8 500 ne pèse rien. À 5 000, il devient une vraie étape.

✅ À retenir

  • Prix d'abord, structure ensuite.
  • Un permis modifié se teste en jeu, sinon l'erreur se découvre par un joueur.

6. shopCheckpoints-0.json — les boutiques #

Le fichier le plus long : positions et contenus de toutes les boutiques de la carte.

Le -0 du nom correspond à la map 0, Amboise. Si tu changes 20 - Map, c'est un autre fichier qui sera lu — et tes modifications ne suivront pas.

Ce fichier est celui où une sauvegarde préalable est obligatoire, pas conseillée. Il est assez gros pour qu'une erreur soit difficile à retrouver à l'œil.

Méthode : télécharge, garde une copie intacte quelque part, travaille sur une deuxième copie, valide le JSON, renvoie. Si le serveur boude, tu remets l'original en trente secondes.

✅ À retenir

  • Le -0 correspond à la map. Changer de map change de fichier.
  • Garde une copie intacte avant toute modification.

7. Ce qui n'est PAS dans ces fichiers #

Pour éviter de chercher longtemps :

  • Les métiers et leurs salaires ne sont pas configurables par fichier. Ils font partie du jeu.
  • Les entreprises sont créées en jeu par les administrateurs, pas déclarées dans un fichier.
  • Les zones et bâtiments viennent de la map.
  • Les objets sont définis par le jeu.

Tout ce qui n'est pas dans les six fichiers Config/ ou les 49 réglages AMP passe par un plugin (chapitre 05) ou par l'administration en jeu (chapitre 06).

✅ À retenir

  • Six fichiers, 49 réglages. Au-delà, c'est un plugin ou de l'administration en jeu.

Checklist du chapitre #

❓ Si ça ne marche pas #

J'ai modifié server.json et ma modification a disparu. Normal : AMP le réécrit au démarrage. Passe par Configuration → Nova-Life.

Le serveur ne démarre plus depuis ma modification. Ton JSON est invalide. Remets ta copie de sauvegarde, redémarre, puis reprends la modification en validant la syntaxe.

Le concessionnaire ne vend plus rien. Un modelId inexistant. Retire les lignes ajoutées une par une jusqu'à retrouver la coupable.

Mes annonces ne passent plus. Vérifie "active": true et cherche une virgule après le dernier bloc de announces.

J'ai changé de map et mes boutiques sont revenues par défaut. Le fichier lu n'est plus shopCheckpoints-0.json. Reviens à ta map d'origine.

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