ProduitsDocumentationComment on fabriqueAide
Rejoindre le Discord

Tactical 5v5

Le guide complet

Tout ce qu’il faut pour installer, faire tourner, configurer et rebrander le setup. Écrit d’après la version en vente et en ligne sur le serveur public.

Sur cette page
  1. 1. Prérequis
  2. 2. Ce que contient l’archive
  3. 3. Installation
  4. 4. Stockage
  5. 5. Premier démarrage
  6. 6. Les huit modes
  7. 7. Agents & compétences
  8. 8. Le classement
  9. 9. Les bots
  10. 10. Arènes
  11. 11. Le faire vôtre
  12. 12. Fichiers de configuration
  13. 13. Dépannage
  14. 14. Licences

Ceci est la traduction française, faite pour ce site, du guide anglais ; la documentation de votre archive est en anglais et fait référence. Si quelque chose ici est faux, c’est un bug et cela vaut la peine de nous le signaler : écrivez sur le Discord. Lire l’original en anglais

1. Prérequis

  • Paper 1.21.11 — le setup est construit et testé sur cette version. Spigot et CraftBukkit ne sont pas pris en charge : le plugin utilise des API de Paper qui n’existent pas chez eux.
  • Java 21
  • Disque — prévoyez quelques gigaoctets pour les mondes et le resource pack.
  • Une base de données est facultative. MariaDB ou MySQL en production ; SQLite fonctionne sans aucun serveur de base de données. Voir Stockage.
  • Redis — facultatif et désactivé par défaut. Il n’a d’intérêt que sur plusieurs instances de serveur.

2. Ce que contient l’archive

server/            # copiez son contenu par-dessus votre installation Paper
  plugins/         # le jar du plugin et son dossier de configuration
  arena_meridian/     # l’arène compétitive, entièrement configurée
  world/           # le lobby aménagé
  training_range/  # le monde d’entraînement
resource-pack/     # le pack, et les scripts qui le génèrent
docs/              # les guides écrits
presets/           # onze caractères de serveur prêts à l’emploi
legal/             # registre des licences et origine des assets
scripts/           # installation, sauvegarde, validation, rebranding (Linux + Windows)
À noter — les mondes vont directement à la racine du serveur, pas dans un sous-dossier worlds/. Le conteneur de mondes de Paper, c’est la racine du serveur : un dossier worlds/ bien rangé, c’est un ensemble d’arènes que le plugin ne trouve pas.

3. Installation

Chez n’importe quel hébergeur, à la main

  1. Partez d’une installation Paper 1.21.11 propre et arrêtez le serveur.
  2. Copiez le contenu du dossier server/ de l’archive par-dessus le dossier de votre serveur.
  3. Hébergez le resource pack à une adresse joignable et renseignez resource-pack et resource-pack-sha1 dans server.properties. Le pack est facultatif, mais les modèles d’armes, les icônes et les sons personnalisés en viennent.
  4. Démarrez le serveur avec scripts/start.sh sous Linux ou macOS, ou scripts\start.bat sous Windows. Ces scripts portent le réglage de la JVM sur lequel ce produit a été mesuré ; un simple java -jar fonctionne mais est plus lent sous charge. Le plugin crée lui-même son schéma de base de données au premier démarrage.

Avec les scripts

# Linux
./scripts/validate-setup.sh --preset production-mariadb
./scripts/setup.sh --preset production-mariadb

# Windows
.\scripts\validate-setup.ps1
.\scripts\setup.ps1

validate-setup vérifie l’installation avant de rien modifier : lancez-le d’abord. C’est aussi le moyen le plus rapide de trouver un monde manquant, une variable d’environnement non définie ou un pack dont la somme de contrôle ne correspond pas.

4. Stockage

Quatre modes, réglés dans plugins/BoteraMC/config.yml. SQLite n’a besoin d’aucun serveur de base de données et c’est une façon parfaitement raisonnable de faire tourner durablement une seule instance.

storage:
  mode: sqlite          # memory | none | sqlite | mariadb | mysql
  fail-on-unavailable: true
  sqlite:
    file: "plugins/BoteraMC/data/boteramc.db"

redis:
  enabled: false
Modifiez le bloc existant — n’ajoutez pas un second bloc storage: en haut du fichier. YAML garde la dernière de deux clés identiques : un bloc ajouté au-dessus est ignoré sans bruit, ce qui ressemble exactement à un réglage qui ne marche pas.

fail-on-unavailable: true veut dire que le serveur refuse de démarrer si la base est injoignable, plutôt que de démarrer et de perdre tout ce qui s’écrit pendant la panne. Laissez-le activé.

5. Premier démarrage

Un démarrage sain ressemble à ceci :

[BoteraMC] [Database] Schema v52 (up to date).
[BoteraMC] Storage initialized in mode sqlite.
[BoteraMC] Loading arena world: arena_meridian
[BoteraMC] Arena world loaded: arena_meridian
[BoteraMC] Extra world loaded: training_range
[BoteraMC] [FFA] Loaded 12 spawns for arena: split
[BoteraMC] [BotNav] arena_meridian: LOADED cached grid
[BoteraMC] Registered 10 agents with 40 spells.
[BoteraMC] All modules loaded.

Le numéro de schéma monte avec les mises à jour ; ce qui compte, c’est qu’il indique applied ou up to date et non une erreur. La navigation des bots se charge depuis une grille en cache livrée avec l’arène : les bots jouent dès le premier démarrage, sans rien calculer.

6. Les huit modes

Les huit tournent sur l’arène incluse. Les modes s’activent par serveur dans la liste des modules ; les modes chacun-pour-soi sont choisis au vote des joueurs entre les manches.

ModeCe que c’est
Search & DestroyAttaque et défense en 5v5, économie d’achat à chaque round, pose et désamorçage, changement de côté à la mi-temps.
DeathmatchChacun pour soi, respawn en 1,5 seconde.
Gun GameUne nouvelle arme à chaque échelon ; un kill au couteau fait reculer la victime d’un échelon.
One in the ChamberUne balle, une vie. Un kill confirmé rend la balle ; un tir raté vous laisse le couteau.
InfectéLes infectés encaissent davantage et n’ont qu’une lame ; tuer un survivant le convertit. Le nombre d’infectés au départ dépend de la taille du lobby.
AgentsDeathmatch avec toutes les compétences activées. Mourir charge aussi votre ultime.
Duels 1v1Une file d’attente, en trois ou cinq manches gagnantes, avec son propre classement ELO.
Terrain d’entraînementDes cibles à précision mesurée, un bot d’entraînement à n’importe quel niveau, et un parcours de parkour.

Description plus détaillée de chaque mode →

7. Agents & compétences

Dix agents répartis en cinq rôles, quatre emplacements de compétence chacun — une signature, deux compétences tactiques et un ultime — soit quarante au total. Chaque coût, chaque temps de recharge et chaque nombre de charges se règle dans spells.yml, sans toucher au code.

phantom:
  spells:
    smoke-bomb:
      type: ABILITY_1
      cooldown: 32
      cost: 300
      max-charges: 1
      radius: 4.5
      duration: 14

Les dix agents et leurs quarante compétences →

8. Le classement

Seize rangs : Pierre, Fer, Or, Diamant et Netherite en trois paliers chacun, puis Immortel, seul. Le rating récompense l’écart par lequel vous avez gagné, pas la seule victoire.

  • Une victoire rapporte +21 à +29 selon le score ; une défaite coûte −15 à −25.
  • Le MVP du match ajoute +5.
  • Les séries de victoires ajoutent +5 par victoire consécutive, plafonné à +20. Les séries de défaites coûtent −3 chacune, plafonné à −12.
  • Les matchs de placement font bouger le rating deux fois plus vite : un nouveau joueur arrive près de son vrai niveau.
  • Un bouclier de rétrogradation absorbe la première défaite à zéro de rating dans un rang.
  • En fin de saison, tout le monde perd deux rangs et rejoue ses placements.

Tous ces chiffres viennent du fichier de configuration : vous pouvez rendre votre classement plus rapide ou plus lent sans toucher au code.

Le classement complet et un exemple détaillé →

9. Les bots

Les bots existent parce que le premier jour est le plus dur pour un nouveau serveur. Ce ne sont pas des cibles : ils achètent, effectuent des rotations, posent, désamorcent, échangent leurs kills et tiennent les angles, ils remplissent une file d’attente courte puis s’effacent à mesure que de vrais joueurs arrivent.

/bot add <count>            # ajoute des bots à votre partie en cours
/bot remove <count>
/bot skill <profile>        # dix profils, du débutant au tournoi
/bot list
/bot metrics                # ce qu’ils ont réellement fait

Les bots testent aussi vos modifications : une seule commande lance un match complet entre bots et en affiche les statistiques — durée des rounds, façon dont ils se sont terminés, temps d’attente des joueurs entre deux combats. Régler un mode d’après ces chiffres est bien plus fiable que d’y jouer une fois et de s’en faire une impression.

10. Arènes

Le setup livre une arène compétitive entièrement configurée, Meridian, avec ses points d’apparition, ses sites de bombe et sa navigation de bots pré-calculée, plus un lobby aménagé et un terrain d’entraînement. Les huit modes y tournent.

Ajouter votre propre arène, c’est enregistrer son monde, ses points d’apparition et ses sites dans arenas.yml et ffa-spawns.yml, puis laisser les bots calculer une grille de navigation au premier chargement. La marche à suivre est documentée dans l’archive.

Pourquoi une seule — les versions précédentes contenaient plus d’arènes. C’étaient des recréations de tiers dont les licences n’autorisent pas la distribution commerciale : elles ont été retirées plutôt que livrées. Des arènes originales les remplaceront, ajoutées gratuitement, comme toutes les autres mises à jour.

11. Le faire vôtre

# sauvegardez d’abord, puis renommez tout en une seule passe
./scripts/backup.sh
./scripts/rebrand.sh --name "YourServer" --short "YS" --apply
./scripts/validate-setup.sh

# pour tout remettre comme avant
./scripts/restore.sh backups/<date> --apply

Le script de rebranding règle votre nom, votre nom court, votre slogan et vos liens dans la configuration que lit le plugin. Il fait d’abord une sauvegarde et vous montre ce qu’il changerait avant de le changer. Le resource pack garde l’art d’origine jusqu’à ce que vous le repeigniez. Les générateurs des 261 sons et des textures sont livrés avec le produit eux aussi : vous pouvez régénérer l’art dans votre propre direction plutôt que de vivre avec la nôtre.

12. Fichiers de configuration

FichierCe qu’il contrôle
config.ymlStockage, Redis, modules, score, rating classé, réglages globaux des armes.
spells.ymlCoût, temps de recharge, charges, rayon et durée de chaque compétence.
arenas.ymlLes arènes enregistrées, leurs mondes, leurs points d’apparition et leurs sites de bombe.
ffa-spawns.ymlLes points d’apparition des modes chacun-pour-soi.
lobby.ymlLe lobby : point d’apparition, PNJ, hologrammes, menus.
parkour.ymlLes points de contrôle du parcours de parkour.
presets/Onze caractères de serveur prêts à l’emploi : démo, production, chacun-pour-soi seul, classé, maintenance et d’autres.

13. Dépannage

Un réglage semble ne rien faire

Vérifiez que vous avez modifié le bloc existant plutôt que d’en ajouter un second. YAML garde la dernière de deux clés identiques à la racine : un doublon ajouté au-dessus est ignoré sans bruit.

Le serveur ne démarre pas

Si storage.fail-on-unavailable vaut true et que la base est injoignable, ce refus est voulu : il vous évite de tourner en perdant des écritures. Vérifiez les identifiants de la base, ou passez à sqlite pour écarter entièrement la base.

Une arène n’est pas proposée

Une arène a besoin de trois choses : son dossier de monde présent à la racine du serveur, une entrée dans arenas.yml, et des points d’apparition. Il suffit qu’il en manque une pour qu’elle n’apparaisse pas. Le journal de démarrage nomme chaque monde d’arène qu’il charge.

Les armes ressemblent à des objets ordinaires

Les modèles personnalisés viennent du resource pack. Vérifiez que resource-pack et resource-pack-sha1 dans server.properties désignent bien le pack que vous servez — une somme de contrôle périmée fait refuser le pack aux clients sans un mot.

Toujours bloqué

Lancez validate-setup et envoyez-nous sa sortie sur Discord. Il est conçu pour dire ce qui ne va pas plutôt que qu’il y a un problème.

14. Licences

L’archive contient un registre des licences qui nomme l’origine de tout ce qu’elle renferme, y compris les deux polices tierces du resource pack et leurs mentions. Le code, les modèles, les sons et les textures ont été faits pour ce produit.

Ce dont nous ne pouvons pas établir clairement les droits commerciaux n’est pas livré. C’est pourquoi le setup contient une arène et non plusieurs : nous préférons retirer du contenu plutôt que de le vendre sur une base que nous ne pourrions pas défendre, et vous le dire franchement plutôt que de vous laisser le découvrir plus tard.

La revente du setup lui-même, rebrandé ou non, relève du fichier de licence de l’archive. Si votre projet n’y entre pas, demandez — la réponse est souvent oui.