Documentation

Guides

De la première invitation au tableau de bord, jusqu'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.
  5. Si tu préfères cliquer que taper : le tableau de bord fait la même chose, avec aperçus et listes déroulantes au lieu de commandes.

/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.

Le tableau de bord

Tout ce que font les commandes — dans le navigateur, avec des listes déroulantes, un aperçu et sans faute de frappe.

Le tableau de bord, c'est la même configuration que dans Discord, vue de l'autre côté. Ce que tu changes ici vaut là-bas immédiatement, et inversement — il n'y a pas de seconde configuration à tenir à jour. Ce qu'il ajoute, c'est de voir : lire la console en direct, l'évolution du nombre de joueurs en graphique, le journal de chaque modification, un aperçu d'un embed avant qu'il ne soit dans le salon.

  1. Ouvre mc-sync.eu/dashboard et connecte-toi avec Discord.
  2. Choisis le serveur Discord. Chaque serveur où tu as la permission « Gérer le serveur » apparaît — et là où le bot manque, tu peux l'inviter depuis cet écran.
  3. Choisis une section à gauche. Son adresse est /dashboard/<id-du-serveur>/<section> et peut se mettre en favori.

Les sections de la colonne de gauche, regroupées par la question à laquelle elles répondent :

SectionCe qu'on y fait
Vue d'ensembleCombien de serveurs Minecraft sont enregistrés, combien d'entre eux sont connectés, combien de comptes sont reliés — et ce qui manque encore à la configuration.
ServeursLa liste des serveurs : nom, adresse, édition et la connexion associée. C'est aussi d'ici qu'on publie une page d'état publique.
ConsoleExécuter des commandes, lire la console du serveur en direct, créer des boutons et des horaires.
Synchro du chatCréer des connexions, renouveler et limiter les jetons dans le temps, régler le format du chat, lire l'historique.
StatistiquesL'évolution du nombre de joueurs sur 24 heures, 7 ou 30 jours.
Liste blancheAjouter et retirer des noms — un par un ou une liste entière d'un coup.
Comptes liésQui a relié son compte Discord à quel nom Minecraft.
Synchro des rôlesDes règles : un rôle attribué ou retiré, une commande s'exécute.
PermissionsQuel rôle Discord peut déclencher quelles commandes serveur.
AffichagesEmbeds et salons vocaux d'état, avec un aperçu avant publication.
AlertesRôle d'alerte, salon d'audit, salon de console et ce que le service signale de lui-même.
Droits d'accèsQuel rôle Discord peut faire quoi dans le tableau de bord.
JournalQui a changé quoi et quand — avec recherche et en CSV.

Chacune a sa propre section plus bas. Les chemins les plus courts :

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.

Le tableau de bord porte la même liste sous « Serveurs », avec les mêmes quatre champs sous forme de formulaire. C'est là — et seulement là — qu'une entrée se publie aussi en page d'état publique : /s/<nom>, accessible sans connexion, plus un badge SVG pour un README ou une signature de forum. Sont publics l'état, le nombre de joueurs, la version, l'adresse et l'historique — pas la liste des joueurs, pas le serveur Discord derrière, pas la liste blanche.

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, Folia) 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. Mettre le jeton dans la configuration et redémarrer le serveur à nouveau. /mcsync status dans le jeu dit ensuite si la connexion tient.
# plugins/mc-sync/config.yml
api:
  token: "ton-jeton-de-discord"

# Ce qui se passe quand une version plus récente sort :
# install (par défaut) | notify | off
update:
  mode: install

# La console en direct du tableau de bord. Tant que
# personne ne regarde, elle ne coûte rien.
console:
  live: true

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 list
/chat-sync settings server: #minecraft - Survival death-messages: False
/chat-sync settings server: #minecraft - Survival channel: #minecraft-nouveau

Le tableau de bord porte les mêmes interrupteurs sous « Synchro du chat », et y ajoute trois choses qu'aucune commande n'offre : le format du chat — à quoi ressemble une ligne dans Discord (comme le joueur via un webhook, en encadré ou en ligne simple), tes propres modèles pour l'arrivée, le départ, la mort et le progrès, et un filtre de mots dans les deux sens —, la durée de vie du jeton avec délai de transition et date d'expiration, et l'historique du chat, lu directement dans Discord.

Dans le jeu, le plugin apporte /mcsync : status montre si la connexion tient et quelles commandes le serveur accepte, reload relit la configuration sans redémarrage, et toggle coupe le chat Discord pour soi-même. Les deux premières demandent la permission mcsync.admin ; toggle est ouverte à tous — c'est son propre affichage.

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
Folia1.20.1 à l'actuelle (le fichier Paper)
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 — c'est ce qui a pris ici la place de RCON.

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 add, whitelist remove et whitelist list. Par défaut — exactement ce dont le salon de liste blanche a besoin. whitelist off et whitelist reload en sont expressément exclues.
allowLa liste blanche plus tout ce qui figure dans commands.allow.
allToute commande. Cela remet la console de ton serveur à quiconque est autorisé sur Discord.
# plugins/mc-sync/config.yml
commands:
  mode: allow
  allow:
    - say
    - whitelist add
    - lp user * parent add

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. Si le serveur renvoie une sortie console, elle figure dans la réponse ; beaucoup de commandes ne répondent cependant que dans le jeu, ou pas du tout, et elle reste alors vide.

La même chose se fait depuis le tableau de bord, et là avec la sortie : la console montre ce que le serveur renvoie, et qui est connecté.

Console, boutons et horaires

Exécuter des commandes et voir le résultat — dans le navigateur plutôt que dans un salon Discord.

La console du tableau de bord emprunte le même chemin que /server-command run : la même connexion, la même vérification sur le serveur Minecraft, le même journal. Ce qu'elle ajoute, c'est la sortie. En haut, ce que le serveur dit de lui-même — accueil, nombre de joueurs, version —, en dessous qui joue, puis la fenêtre de console avec le champ de commande à l'intérieur, et tout en bas l'historique de ce qui a été lancé.

  1. Ouvre ton serveur Discord dans le tableau de bord et choisis « Console » à gauche.
  2. S'il y en a plusieurs : choisis le serveur Minecraft. Avec un seul, l'étape disparaît.
  3. Saisis la commande — sans le slash initial — et envoie-la. La flèche du haut rappelle la précédente, et un clic sur le nom d'un joueur l'écrit dans le champ.

La console en direct montre ce que le serveur Minecraft écrit, pendant qu'il l'écrit. Elle tient à un interrupteur dans la configuration :

# plugins/mc-sync/config.yml
console:
  live: true

Deux choses n'existent qu'ici et pas en commande :

OutilCe que ça fait
BoutonsUn bouton étiqueté pour une commande dont tu as constamment besoin. Un clic l'écrit dans le champ — elle n'est envoyée qu'ensuite, pour qu'aucun redémarrage n'arrive par accident.
HorairesUne commande à une heure donnée, au choix certains jours de la semaine. Aucun jour sélectionné signifie tous les jours. L'heure vaut dans le fuseau horaire de ton navigateur, et chaque horaire peut être désactivé sans être supprimé.

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.

La section « Liste blanche » du tableau de bord montre qui y figure — avec le nom de celui qui l'a soumis, et y compris les noms saisis directement sur le serveur. L'inverse s'y fait aussi : ajouter ou retirer un nom, et avec « Coller une liste » une liste entière d'un coup, un nom par ligne. Virgules, points-virgules, puces et guillemets sont nettoyés au passage.

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.

Dans le tableau de bord, la zone s’appelle « Affichages » et réunit les deux au même endroit. Elle sait faire deux choses que la commande ne sait pas. D’abord l’aperçu : choisis le type, le salon et le serveur, et en dessous s’affiche à quoi ressemblera l’embed dans le salon — avant la publication, pas après. Ensuite la modification : un affichage en cours peut être changé au lieu d’être arrêté puis recréé. Pour un salon vocal, cela vaut aussi pour son nom : un modèle avec des espaces réservés comme {status} ou {players}, pour qu’il ne reste pas coincé sur une phrase anglaise.

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.

Le tableau de bord l'entoure d'un formulaire, avec un sélecteur de rôle et les deux champs côte à côte, et en dessous la ligne qui s'exécutera réellement sur le serveur — avec le nom mis à la place de {player}. Si le marqueur manque, il le dit : sans lui, la même commande s'exécute pour tout le monde, ce qui peut être voulu mais l'est rarement.

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é.

Le tableau de bord réunit les mêmes cinq réglages sous « Alertes » en un seul formulaire — rôle et salons en listes déroulantes, les quatre signalements en interrupteurs. Qui veut une alerte qui ne passe pas par Discord mais par un e-mail, un webhook ou le téléphone la trouvera dans la surveillance.

Surveillance et page d'état

Être prévenu d'une panne par e-mail, webhook, push ou Discord. Et une page qui montre l'état à tout le monde.

La surveillance t'appartient, elle n'appartient pas à un serveur Discord. Elle n'a besoin ni du bot ni de permissions où que ce soit — seulement que tu te connectes avec Discord. Tu la trouves dans le tableau de bord, sous /dashboard/watch, sous forme de tuile à côté du sélecteur de serveurs. Les liens des e-mails eux-mêmes — confirmer et se désabonner — fonctionnent toujours sans connexion.

Chaque adresse enregistrée est pingée toutes les minutes. Rien n'est signalé tant qu'elle n'est pas restée muette pendant le délai de grâce que tu as réglé — de quoi éviter qu'un hoquet passager de l'hébergeur ne compte comme une panne.

Ce qui est signaléNécessite une connexion
Le serveur ne répond plus / est revenunon
Plus ou moins de joueurs qu'un seuilnon
La version a changénon
Chat sync tombé ou revenuoui
Jeton jamais utilisé ou apparu en publicoui
Commande serveur refuséeoui
Avertissement de la consoleoui
Demande de liste blanche en attenteoui

Les alertes partent par quatre voies, plusieurs à la fois autorisées : e-mail, webhook (Discord, Slack, ntfy, Gotify ou quelque chose à toi — en https uniquement), push dans ce navigateur et, si tu es connecté, en message privé Discord. Chaque voie peut recevoir un délai : elle n'est servie que si l'affaire tient toujours après ce temps-là. Plusieurs voies deviennent ainsi une escalade au lieu de quatre copies du même message.

La page d'état publique répond à l'autre moitié de la question : non pas « préviens-moi », mais « va voir toi-même ». Elle se publie dans le tableau de bord sous « Serveurs », reçoit un nom dans l'adresse et vit ensuite sous /s/<nom> — sans connexion, ouverte à tous. Elle vient avec un badge SVG prêt à intégrer dans un README ou une signature de forum.

Au passage, le bot enregistre l’état de chaque serveur interrogé toutes les trente secondes. C’est de là que viennent /diagram, les embeds de graphique et la zone « Statistiques » du tableau de bord — là sur 24 heures, 7 ou 30 jours, avec le maximum et la part de requêtes joignables. Un serveur interrogé aujourd’hui pour la première fois n’a donc pas encore d’historique sur une semaine.

Permissions et rôles

Qui voit quelle commande, qui peut l'exécuter, qui entre dans le tableau de bord — 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
Administrateurs uniquementDiscord masque la commande à tous les autres. Cela se change par rôle ou par personne, dans Intégrations au sein des paramètres du serveur.
Accordée par rôleLa commande est visible par tous, sans quoi une attribution ne pourrait jamais prendre effet. Qui peut l'utiliser se règle dans /server-command permission add.
Serveurs Discord uniquementNécessite un serveur — la commande n'existe pas en message privé.
Aussi en messages privésInstallable en tant qu'application utilisateur, et donc disponible partout, même 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 le style de chat « comme le joueur ») et lire les messages dans le salon du chat sync. S'il manque quelque chose, il dit quoi pendant la configuration.

Le tableau de bord a sa propre seconde couche. Qui peut gérer le serveur Discord y a de toute façon tous les droits ; sous « Droits d'accès », d'autres rôles s'ouvrent, domaine par domaine. Ce qui y figure ne peut que donner, jamais retirer.

DomaineCe qu'il permet
ConsulterOuvrir le serveur dans le tableau de bord. Cela vient de soi dès que quelqu'un a le droit de faire quoi que ce soit.
ConsoleExécuter des commandes, gérer horaires et boutons. Ce qui passe reste décidé par le serveur Minecraft.
Liste blancheAjouter et retirer des noms.
RéglagesModifier les entrées de serveur, les connexions, le format du chat et les alertes.
AffichagesGérer embeds et salons vocaux.
DroitsRole sync, permissions de commandes et cette liste d'accès elle-même.
JetonsÉmettre, renouveler et limiter des jetons dans le temps — et donc raccorder un serveur Minecraft.

Le journal

Qui a changé quoi et quand — et comment le retrouver.

Le journal retient chaque modification : qui l'a faite, quand, sur quoi — et ce qui a été refusé. Une commande de console exécutée y figure, tout comme un jeton renouvelé, un lien coupé ou un accès tenté sans permission. Il se filtre par action, par période et par nom, et se télécharge en CSV.

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 tourneJeton non saisi sous api.token, mal copié, ou serveur non redémarré après la saisie. /mcsync status dans le jeu dit lequel des trois.
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 dit « rejetée »La commande n'est pas couverte par commands.mode, ou n'est pas listée dans commands.allow sur le serveur. Une entrée de cette liste est comparée mot à mot avec le début de la commande.
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.
Aucun serveur Discord à choisir dans le tableau de bordN'apparaissent que ceux où tu as la permission « Gérer le serveur ». C'est justement la permission que demande le tableau de bord — pour tout le reste, il y a les droits d'accès.
La section « Console » manque dans la colonne de gaucheIl manque la permission « Console » sous « Droits d'accès ». N'est masqué que ce qui est réellement fermé.
La console en direct reste videconsole.live est sur false, ou la version du plugin est antérieure à cette fonction. Les commandes que tu lances et leurs réponses apparaissent malgré tout.

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.