Documentation

Guides

De la première invitation aux commandes exécutées sur ton serveur depuis Discord. Chaque section se lit indépendamment — inutile de commencer par le début.

Premiers pas

Ce qui fonctionne immédiatement sans toucher à ton serveur Minecraft — et comment configurer le reste.

Une grande partie du bot n'a besoin de ton serveur pour rien. Statut, graphiques, images, embeds et salons vocaux fonctionnent depuis l'adresse publique — la même que celle utilisée par les joueurs. Seuls le chat, la liste blanche et les commandes nécessitent un vrai lien vers le jeu.

  1. Invite le bot via invite.mc-sync.eu et choisis ton serveur Discord.
  2. Lance /setup. Il demande d'abord ce que tu veux configurer, puis pose exactement une question par étape.
  3. /server add name: Survival address: ton-adresse.net enregistre ton serveur une fois — /status, /embed, /voice-channel et /default-ip peuvent ensuite l'utiliser par son nom.
  4. /language définit la langue dans laquelle le bot te répond.

/help affiche le même aperçu dans Discord, classé dans les mêmes groupes que la référence des commandes sur ce site.

La liste des serveurs

Une entrée par serveur Minecraft — adresse, édition et chat sync réunis.

Avant /server, un serveur Minecraft était plusieurs choses séparées que rien ne reliait : une adresse tapée à la main dans /status, /embed et chaque salon vocal, et un chat sync créé avec /chat-sync add qui ne savait rien de cette adresse. Déménager vers un nouveau domaine voulait dire retrouver chacun de ces endroits.

/server add name: Survival address: play.example.eu
/server settings server: Survival chat-sync: #minecraft - Survival
/server list

Les deux moitiés restent facultatives, et chacune seule est un cas réel : une entrée sans adresse est un serveur qu'on ne peut pas pinguer de l'extérieur, une sans chat sync est un serveur sans plugin ni mod en marche. Le bot fonctionne aussi sans plugin — il affiche alors exactement ce que donne un ping.

settings modifie un champ à la fois ; clear retire une seule entrée (adresse, chat sync ou édition) sans supprimer tout le serveur. remove retire seulement le serveur de cette liste — un chat sync associé continue de tourner sous son propre nom.

Configurer la synchronisation du chat

Le chat Minecraft dans un salon Discord et les messages Discord de retour dans le jeu — via le plugin, sans port ouvert.

Cela demande le plugin MC-Sync sur ton serveur. Il ouvre lui-même la connexion vers l'extérieur : une requête HTTPS sortante ordinaire qui reste ouverte. Aucune redirection de port, aucune adresse à déclarer.

  1. Télécharger le fichier adapté : mc-sync.eu/plugin. Il y en a un par loader et par plage de versions.
  2. Le placer dans plugins (Spigot, Paper) ou mods (Fabric, Quilt, Forge, NeoForge) et redémarrer le serveur une fois. Cela crée le fichier de configuration.
  3. Dans Discord, lancer /chat-sync add channel: #ton-salon name: Survie. Le bot répond avec un token, visible par toi seul.
  4. Reporter le token dans le config.yml du plugin et redémarrer le serveur.
# plugins/MC-Sync/config.yml
token: "ton-token-issu-de-discord"

# Facultatif. poll est le repli pour les réseaux qui coupent
# les connexions longues — inutile autrement.
transport:
  mode: auto   # auto | poll

Ce qui est transmis se règle ensuite, option par option, sur /chat-sync settings :

OptionCe qu'elle active ou désactive
chat-messagesLes messages de chat ordinaires du jeu
join-leave-messagesArrivées et départs
death-messagesMessages de mort
advancementsProgrès (à partir de Minecraft 1.12)
languageLangue des messages que le bot rédige lui-même
activeMet la synchronisation en pause sans la supprimer
channelLa déplace dans un autre salon
/chat-sync settings name: #minecraft - Survie death-messages: False
/chat-sync settings name: #minecraft - Survie channel: #minecraft-nouveau

Il existe un fichier par loader et par plage de versions. Celui dont tu as besoin dépend de ton serveur :

LoaderVersions de Minecraft
Spigot1.8.8 à l'actuelle
Paper1.16.5 à l'actuelle
Forge1.8.8 à l'actuelle (sauf 1.13.2)
Fabric1.19.2 à l'actuelle
Quilt1.19.2 à l'actuelle
NeoForge1.20.2 à l'actuelle

Exécuter des commandes depuis Discord

whitelist add, say ou kick depuis Discord — par la même connexion que le chat sync utilise déjà.

Une fois le chat sync en place, le même canal peut porter des commandes. Ni port ouvert, ni mot de passe supplémentaire nécessaires.

Deux questions sont tranchées séparément, et c'est important. Qui a le droit de demander se règle sur Discord, par rôle, via /server-command permission. Ce que ton serveur accepte se règle dans config.yml. Les deux doivent concorder.

/server-command permission add role: @Modérateur commands: whitelist,say,kick
/server-command permission list
/server-command run command: whitelist add Notch

Côté serveur, commands.mode décide de ce qui passe :

commands.modeCe qui est exécuté
offRien, pas même la liste blanche.
whitelistSeulement whitelist …. Par défaut.
allowLa liste blanche plus tout ce qui figure dans commands.allow.
allToute commande.
# plugins/MC-Sync/config.yml
commands:
  mode: allow
  allow:
    - say
    - kick

La commande se saisit sans le slash initial. Les deux côtés répondent toujours : une commande rejetée revient comme « rejetée » plutôt que par un silence — et, si /alerts audit-channel est réglé, aussi comme une ligne dans le journal. La sortie console n'est pas transmise — ce qui est rapporté, c'est que la commande a bien été exécutée.

Salon de liste blanche

Un salon où les joueurs postent leur nom Minecraft et le bot les ajoute à la liste blanche.

Plutôt que quelqu'un de l'équipe tape chaque nom à la main, c'est le bot qui s'en charge : il lit le nom, le vérifie auprès de Mojang et l'ajoute à la liste blanche via le plugin. Un nom qui n'existe pas n'est jamais transmis.

/whitelist-channel add channel: #whitelist role: @Membre
/whitelist-channel list

mode décide de ce qui arrive à un nom valide :

ModeSignification
Add to the whitelistVia le plugin. Par défaut.
Verify onlyLe nom est vérifié auprès de Mojang mais pas ajouté à la liste blanche — pour les équipes qui préfèrent décider elles-mêmes.

server choisit à quel serveur Minecraft enregistré (/server add) ce salon donne accès — à omettre s'il n'y en a qu'un. Sans role, n'importe qui dans le salon peut soumettre un nom ; jusqu'à trois rôles permettent de restreindre cela — à tous ceux qui ont passé une candidature, par exemple.

Embeds et salons vocaux

Deux façons de garder l'état du serveur visible sans que personne exécute de commande.

Un embed est un message que le bot réécrit toutes les cinq minutes. Il reste à sa place au lieu de remplir le salon de répétitions.

/embed add type: Status ip: play.example.eu channel: #server-info
/embed add type: Diagram ip: play.example.eu
/embed list
/embed remove embed: #server-info — status — play.example.eu
typeContenu
StatusDisponibilité, MOTD, version, édition, nombre de joueurs
WhitelistLes noms autorisés. Nécessite le plugin.
DiagramÉvolution du nombre de joueurs
Player statsTotaux rapportés par le chat sync relié
ConnectionÉtat du chat sync lui-même, et son dernier signe de vie

Un salon vocal fait la même chose dans son nom — visible en haut de la liste sans que personne n'ouvre de salon. Statut, nombre de joueurs et version sont disponibles.

/voice-channel add type: Status ip: play.example.eu
/voice-channel add type: Players ip: play.example.eu

Pour les salons vocaux, le bot a besoin de « Gérer les salons », et pour les embeds, de la permission d'envoyer et modifier des messages dans le salon cible. S'il en manque une, il le signale à la création. Les deux acceptent aussi server: au lieu de ip: pour viser un serveur enregistré avec /server add.

Des rôles qui vont jusque dans le jeu

Un rôle Discord qui déclenche une commande dès qu'il est attribué ou retiré.

/role-sync add role: @VIP on-grant: lp user {player} parent add vip on-revoke: lp user {player} parent remove vip
/role-sync list

{player} est remplacé par le nom Minecraft de la personne qui a reçu ou perdu le rôle. Rien n'est enregistré au sujet d'un plugin de permissions particulier — seulement la commande elle-même, ce qui fonctionne aussi bien avec LuckPerms, PermissionsEx ou le système de rangs propre à un serveur.

Alertes et journal d'audit

Qui est prévenu d'une panne, et où les commandes serveur laissent une trace.

Une brève reconnexion n'est pas une panne — le bot ne s'exprime qu'après 20 minutes de silence, et se rétracte dès que le serveur répond à nouveau. /alerts role décide qui est pingé quand cela arrive.

/alerts role role: @Staff
/alerts audit-channel channel: #journal-serveur
/alerts console-channel channel: #erreurs-serveur
/alerts notifications server-start: False server-stop: False
RéglageCe qu'il fait
rolePingé lors d'une panne réelle — jamais pour une brève reconnexion.
audit-channelChaque /server-command run, y compris les tentatives rejetées.
console-channelAvertissements et erreurs du serveur Minecraft — pas le journal complet.
notificationsQuatre interrupteurs indépendants : service (principal), delivery-warnings, server-start, server-stop.

Laisser role, audit-channel ou console-channel vide désactive à nouveau cette alerte. /alerts show liste tout ce qui est actuellement réglé.

Notifications et historique

Un message dès qu'un serveur change d'état — et ce que le bot enregistre au passage.

/notification add surveille un serveur et t'envoie un message privé dès qu'il passe en ligne ou hors ligne. Cela vaut pour n'importe quel serveur joignable, pas seulement le tien.

/notification add ip: play.example.eu
/notification settings notification: play.example.eu | Java active: False
/notification delete notification: play.example.eu | Java

Au passage, le bot enregistre l'état des serveurs consultés toutes les trente secondes. C'est de là que viennent /diagram et les embeds graphiques. Un serveur consulté pour la première fois aujourd'hui n'a donc pas une semaine d'historique.

Permissions et rôles

Qui voit quelle commande, qui peut l'exécuter, et où chacun de ces réglages se fait.

Discord attribue les permissions par commande, pas par sous-commande. Cela produit trois cas, indiqués par des badges sur chaque commande de la référence.

BadgeSignification
Administrators onlyDiscord masque la commande à tous les autres. Cela peut être changé par rôle ou par personne dans Intégrations, dans les paramètres du serveur.
Granted per roleLa commande est visible de tous, sinon l'attribuer n'aurait jamais d'effet. Qui peut l'utiliser se règle dans /server-command permission add.
Discord servers onlyNécessite un serveur — la commande n'existe pas en message privé.
Works in DMs tooInstallable comme application utilisateur, donc disponible partout, y compris là où le bot n'est pas membre.

Le bot lui-même a besoin de : envoyer et modifier des messages (embeds), gérer les salons (salons vocaux), gérer les webhooks (/news-channel) et lire les messages dans le salon utilisé par le chat sync. S'il manque quelque chose, il le dit pendant la configuration.

Quand quelque chose ne fonctionne pas

Les cas qui reviennent le plus souvent au support — et à quoi ils tiennent généralement.

Ce que tu voisCause habituelle
Une commande n'apparaît pas dans DiscordElle exige des permissions élevées, ou les commandes ne sont pas encore arrivées sur ce serveur. Après l'invitation du bot, cela prend un instant ; redémarrer le client Discord n'aide pas, attendre si.
Le chat arrive dans Discord mais pas dans le jeuGénéralement active est désactivé, ou le bot ne peut pas lire les messages du salon. /chat-sync settings montre l'état actuel.
Aucun chat du tout alors que le plugin tourneToken non saisi, mal copié, ou le serveur n'a pas été redémarré après sa saisie.
L'embed a cessé de se mettre à jourLe bot ne peut peut-être plus modifier le message — généralement parce que les permissions du salon ont changé. /embed list montre ce qui est encore enregistré.
Le salon vocal affiche d'anciens chiffresC'est normal : Discord limite les renommages, et le bot rafraîchit environ toutes les 25 minutes.
/server-command run répond « rejetée »La commande n'est pas couverte par commands.mode, ou n'est pas listée dans commands.allow sur le serveur.
Un changement de rôle ne déclenche pas sa commandeVérifie /link show pour ce membre — /role-sync n'agit que sur un compte relié.
Aucune notification alors que le serveur a redémarréLes messages privés des membres du serveur sont désactivés dans les paramètres Discord.

Si rien de tout cela n'aide, le serveur de support est le moyen le plus rapide. Mentionne le loader et la version de Minecraft, la commande exécutée et ce qu'a répondu le bot — cela règle la plupart des cas en un seul message.