Nova-Life sans plugin, c'est le jeu tel quel. Les plugins sont ce qui distingue ton serveur des autres : métiers ajoutés, menus, économie, protections. Ce chapitre explique comment ça marche, comment en poser un, et le piège des mises à jour qui a déjà coûté cher à plusieurs serveurs.
1. Comment un plugin fonctionne #
Un plugin Nova-Life est une bibliothèque .dll compilée. Le serveur les charge au démarrage, dans l'ordre où il les trouve.
La règle de rangement est simple et ne souffre aucune exception :
Servers/<TonProfil>/Plugins/
├── MonPlugin.dll ← la DLL, à la RACINE de Plugins/
├── MonPlugin/ ← son dossier de configuration et de données
│ └── config.json
├── AutrePlugin.dll
└── AutrePlugin/
└── config.json
La DLL va à la racine de Plugins/. Le dossier du même nom contient sa configuration et ses données. Une DLL rangée dans son propre dossier ne sera jamais chargée — et rien ne te le dira.
Un plugin ne se charge qu'au démarrage. Poser une DLL sur un serveur qui tourne ne fait rien : il faut redémarrer.
✅ À retenir
- DLL à la racine de
Plugins/, configuration dansPlugins/<Nom>/.- Un plugin déposé ne se charge qu'après un redémarrage.
2. Installer un plugin, pas à pas #
- Sauvegarde
life.dbet le dossierPlugins/entier. Un plugin qui touche à la base peut la modifier de façon irréversible. - Connecte-toi en SFTP.
- Dépose la DLL dans
Servers/<TonProfil>/Plugins/. - Si le plugin fournit un fichier de configuration, crée le dossier
Plugins/<NomDuPlugin>/et mets-l'y. - Redémarre.
- Ouvre la console et lis. Un plugin sain annonce son nom et sa version au démarrage.
Ce dernier point est celui qu'on saute, et c'est celui qui compte. Si la console ne dit rien du plugin, il n'est pas chargé — et tu vas passer une heure à te demander pourquoi il ne fait rien.
Un plugin à la fois. Pose-le, redémarre, vérifie, joue dix minutes. Puis le suivant. Trois plugins posés ensemble qui donnent un serveur instable, c'est trois soirées de recherche au lieu d'une.
✅ À retenir
- La console au démarrage te dit si le plugin est chargé. Lis-la à chaque fois.
- Un plugin à la fois, avec un test entre chaque.
3. ⚠️ Le piège : la mise à jour du jeu réinstalle des plugins #
Voici le point que personne ne devine, et qui casse des serveurs.
Le template TeamKit pour Nova-Life ne fait pas que télécharger le jeu. Il contient neuf étapes marquées « écraser les fichiers existants » qui vont chercher des plugins sur le dépôt du template et les posent dans ton dossier Plugins/, à chaque mise à jour du jeu.
Les fichiers concernés :
| Fichier réinstallé | Effet sur ton serveur |
|---|---|
TKWebPanel.dll |
réinstalle le panel admin historique |
TKAntiFlood.dll |
remplace ta version par celle du template |
TKAntiCheat.dll |
idem |
TKGhost.dll, TKDynamicFps.dll |
réapparaissent même si tu les avais retirés |
TKConnectLog.dll, TeamKitIntro.dll |
idem |
TKWebPanel-icons.zip, -vehicons.zip |
12 Mo réextraits |
Concrètement : si tu as remplacé un de ces plugins par une version plus récente, la mise à jour te ramène l'ancienne. Et si tu en avais retiré un volontairement, il revient.
Le cas le plus douloureux est TKWebPanel : il se lie au port port de jeu + 4. Si tu utilises le panel web moderne (chapitre 06), qui écoute sur le même port, tu te retrouves avec deux panels qui se disputent l'adresse. Tu perds l'accès à ton panel sans avoir rien changé toi-même.
Ce qu'il faut faire :
- Avant chaque mise à jour du jeu, télécharge ton dossier
Plugins/entier par SFTP. - Après chaque mise à jour, ouvre
Plugins/et compare : si une DLL a une date du jour alors que tu n'as rien posé, elle vient d'être réinstallée. - Si tu tiens à une version précise d'un de ces plugins, repose-la après la mise à jour, avant de redémarrer.
- Si le problème te gêne durablement, demande au staff TeamKit de retirer les étapes d'injection de ton instance. C'est une modification côté panel, elle ne se fait pas depuis ton compte.
✅ À retenir
- Neuf fichiers sont réécrits à chaque mise à jour du jeu, même si tu les avais remplacés ou supprimés.
- Sauvegarde
Plugins/avant chaque mise à jour, et compare les dates après.
4. Configurer un plugin #
Chaque plugin lit sa configuration dans Plugins/<Nom>/config.json. Le format est du JSON : les règles du chapitre 03 s'appliquent — un vrai éditeur, une validation avant envoi, une copie de sauvegarde.
Certains plugins TeamKit sont réglables directement depuis AMP : les réglages 40 à 48 pilotent TKConnectLog, les 50 à 61 pilotent TeamKitIntro. Pour ceux-là, passe par AMP, pas par le fichier : AMP réécrit le fichier au démarrage et ta modification manuelle serait perdue.
Pour tous les autres, le fichier est la seule voie.
Un piège à connaître : si tu modifies un config.json pendant que le serveur tourne, le plugin peut le réécrire en partant de ce qu'il a en mémoire — et effacer ton ajout. L'ordre sûr est toujours le même : arrêter, modifier, démarrer.
✅ À retenir
TKConnectLogetTeamKitIntrose règlent dans AMP, pas dans leur fichier.- Pour les autres : arrêter, modifier, démarrer. Jamais pendant que ça tourne.
5. Retirer un plugin #
- Arrête le serveur.
- Supprime la DLL à la racine de
Plugins/. - Garde le dossier
Plugins/<Nom>/: il contient ses données et ses réglages. Si tu changes d'avis, tu les retrouves. - Redémarre et vérifie la console.
C'est la DLL qui compte, pas le dossier. Un dossier orphelin ne gêne rien.
Attention : si le plugin retiré fait partie des neuf de la section 3, il reviendra à la prochaine mise à jour du jeu.
✅ À retenir
- Supprime la DLL, garde le dossier de données.
- Certains plugins reviennent tout seuls après une mise à jour.
6. Choisir ses plugins #
Trois questions avant d'installer quoi que ce soit.
Est-ce que le jeu ne le fait pas déjà ? C'est la question la plus rentable. Un plugin d'optimisation a été mesuré sur un serveur TeamKit : le jeu masquait déjà 195 véhicules sur 201 tout seul. Le plugin n'apportait rien et ajoutait un risque. Mesure avant d'installer.
Qui le maintient ? Un plugin abandonné casse à la prochaine mise à jour du jeu, et tu ne pourras rien y faire — tu n'as pas les sources.
Que fait-il à ma base ? Un plugin qui écrit dans life.db peut la modifier d'une façon que le jeu ne comprend plus. Sauvegarde avant, teste sur un serveur de test si tu en as un.
Le nombre compte aussi. Chaque plugin consomme de la mémoire et du CPU, et ton instance est plafonnée. Un serveur avec quarante plugins n'est pas quarante fois plus riche : il est quarante fois plus difficile à dépanner.
✅ À retenir
- Vérifie que le jeu ne fait pas déjà le travail. C'est souvent le cas.
- Chaque plugin est aussi une dette de maintenance.
7. Quand un plugin casse tout #
Symptôme classique : tu poses un plugin, le serveur ne démarre plus, la console crache une erreur incompréhensible.
La méthode qui marche à tous les coups :
- Arrête le serveur.
- Retire la dernière DLL posée.
- Redémarre.
- Si ça repart, c'est elle. Si ça ne repart pas, retire la précédente, et continue.
C'est pour cela qu'on installe un plugin à la fois : avec un seul suspect, l'enquête dure deux minutes.
Si le serveur ne démarre plus et que tu ne sais plus ce que tu as posé : vide entièrement Plugins/ (après l'avoir téléchargé), démarre, et repose les DLL une par une.
✅ À retenir
- Le coupable est presque toujours le dernier posé.
- En cas de doute total : vider
Plugins/, redémarrer, reposer un par un.
Checklist du chapitre #
❓ Si ça ne marche pas #
Mon plugin ne fait rien. La console ne l'annonce pas au démarrage ? Alors il n'est pas chargé. Vérifie qu'il est bien à la racine de Plugins/, et que tu as redémarré.
Le serveur ne démarre plus depuis mon installation. Retire la dernière DLL posée et redémarre.
Un plugin que j'avais supprimé est revenu. C'est un des neuf réinstallés par la mise à jour. Section 3.
Mon plugin est repassé dans une vieille version. Même cause. Repose ta version après la mise à jour, avant de redémarrer.
Ma modification de config.json a disparu. Soit tu as modifié pendant que le serveur tournait, soit ce plugin se règle depuis AMP.
J'ai perdu l'accès à mon panel web après une mise à jour. TKWebPanel a été réinstallé et se dispute le port avec ton panel. Retire TKWebPanel.dll de Plugins/, redémarre.