DiscordLink Wiki

⛓️‍💥 DiscordLink

Connectez votre serveur Minecraft à Discord avec un système avancé de liaison de comptes et de gestion des rôles

DiscordLink est un plugin Minecraft puissant qui crée un pont entre votre serveur Minecraft et votre communauté Discord. Il permet aux joueurs de lier leurs comptes, automatise la gestion des rôles et fournit une journalisation détaillée des événements.

Aperçu de DiscordLink

Fonctionnalités principales

Système de liaison sécurisé

Génération automatique de codes uniques à 6 caractères avec expiration après 5 minutes. Les joueurs peuvent facilement lier leurs comptes via une commande slash Discord.

Gestion automatique des rôles

Attribution automatique des rôles Discord lors de la liaison. Rôles dynamiques pour les joueurs en ligne et système de contournement pour les administrateurs.

Journalisation complète

Suivez toutes les connexions, déconnexions, liaisons et déliaisons avec des embeds Discord personnalisables. Gardez un historique complet de l'activité de votre serveur.

Base de données SQLite

Stockage fiable et persistant sans configuration supplémentaire. Toutes les données sont automatiquement sauvegardées dans une base de données locale.

Cas d'utilisation

Serveurs communautaires

Vérifiez que les joueurs font partie de votre communauté Discord. Facilitez l'identification des joueurs entre les plateformes et améliorez vos capacités de modération.

Serveurs avec whitelist

Remplacez la whitelist traditionnelle par la liaison Discord. Contrôle d'accès automatique et gestion simplifiée des membres.

Réseaux de serveurs

Système de comptes unifié sur plusieurs serveurs. Gestion centralisée des joueurs et partage des comptes liés (fonctionnalité future).

Serveurs d'événements

Exigez la liaison Discord pour les événements spéciaux. Suivez la participation via les rôles Discord et améliorez la communication avec les participants.

Compatibilité

Minecraft

1.21+

Paper / Purpur

Java

21+

Requis

Dépendances

Aucune

JDA inclus

Prêt à commencer ?

Consultez la section Démarrage pour installer et configurer DiscordLink sur votre serveur.

Prérequis

Avant d'installer DiscordLink, assurez-vous d'avoir tous les éléments nécessaires.

Information importante

DiscordLink nécessite un bot Discord configuré avec les bonnes permissions et intentions. Suivez attentivement chaque étape pour éviter les problèmes de configuration.

Serveur Minecraft

Version Minecraft 1.21 ou supérieure

Le plugin est compatible avec Paper et Purpur

Java 21 ou supérieur

Requis pour exécuter le serveur et le plugin

Accès au dossier plugins

Pour installer et configurer DiscordLink

Bot Discord

Créer un bot Discord

1. Accéder au portail développeur

Rendez-vous sur le Discord Developer Portal

Discord Developer Portal

2. Créer une nouvelle application

Cliquez sur "New Application" et donnez un nom à votre bot (ex: "MonServeur Link Bot")

Créer application Discord

3. Activer les intentions privilégiées

Dans l'onglet "Bot", activez ces deux intentions (Privileged Gateway Intents) :

Server Members Intent
Message Content Intent
Intentions privilégiées Discord

4. Récupérer le token du bot

Toujours dans l'onglet "Bot", cliquez sur "Reset Token" pour générer un nouveau token

⚠️ Important

Ne partagez JAMAIS votre token ! Gardez-le secret et ne le publiez jamais publiquement.

5. Inviter le bot sur votre serveur

Dans l'onglet "OAuth2" → "URL Generator", sélectionnez :

Scopes:

botapplications.commands

Bot Permissions:

Manage RolesSend MessagesEmbed Links

Copiez l'URL générée et ouvrez-la dans votre navigateur pour inviter le bot.

Informations Discord requises

Vous aurez besoin de récupérer plusieurs IDs depuis Discord. Pour cela, activez d'abord le mode développeur :

Activer le mode développeur Discord

Paramètres utilisateur → Paramètres de l'application → Avancés → Mode développeur

Guild ID (ID du serveur)

Clic droit sur votre serveur → Copier l'identifiant du serveur

Role IDs (IDs des rôles)

Paramètres du serveur → Rôles → Clic droit sur un rôle → Copier l'identifiant

Vous aurez besoin de 2 rôles : un pour les comptes liés et un pour les joueurs en ligne

Channel ID (ID du salon)

Clic droit sur un salon → Copier l'identifiant du salon

Pour recevoir les logs du serveur

Récupérer les IDs Discord

[Image à remplacer : Démonstration de la récupération des IDs Discord]

✓ Prérequis complets

Une fois que vous avez tout préparé, passez à la section Installation pour configurer DiscordLink.

Installation

Guide étape par étape pour installer DiscordLink sur votre serveur Minecraft.

⚠️ Avant de commencer

Assurez-vous d'avoir complété tous les prérequis avant de continuer. Vous devez avoir votre token de bot, les IDs de votre serveur Discord, des rôles et du salon de logs.

Étape 1 : Télécharger le plugin

Téléchargez la dernière version de DiscordLink depuis la page des releases GitHub ou votre source de téléchargement préférée.

Fichier téléchargé :

DiscordLink-X.X.X.jar
Téléchargement du plugin

[Image à remplacer : Page de téléchargement du plugin]

Étape 2 : Placer le fichier JAR

Placez le fichier DiscordLink-X.X.X.jar dans le dossier plugins/ de votre serveur Minecraft.

Structure des dossiers :

📁 mon-serveur-minecraft/
├── 📁 plugins/
│   ├── DiscordLink-X.X.X.jar  ← Placez le fichier ici
│   └── ... (autres plugins)
├── 📁 world/
├── server.jar
└── server.properties

Étape 3 : Premier démarrage

Démarrez votre serveur Minecraft. Le plugin va se charger et créer automatiquement les fichiers de configuration.

Dans la console du serveur :

[DiscordLink] Plugin enabled successfully!

Fichiers créés :

📁 plugins/DiscordLink/
├── config.yml       ← Configuration principale
└── links.db         ← Base de données SQLite
Console du serveur

[Image à remplacer : Console montrant le chargement du plugin]

Étape 4 : Arrêter et configurer

Arrêtez votre serveur pour configurer le plugin. Vous devez maintenant éditer le fichier config.yml.

⚠️ Important

Le bot Discord ne fonctionnera PAS tant que vous n'aurez pas configuré correctement le fichier config.ymlavec votre token et vos IDs Discord.

Configuration rapide

Ouvrez le fichier plugins/DiscordLink/config.yml et renseignez au minimum ces informations :

1
bot-token:

Votre token de bot Discord

2
guild-id:

L'ID de votre serveur Discord

3
linked-role-id:

L'ID du rôle pour les comptes liés

4
online-role-id:

L'ID du rôle pour les joueurs en ligne

5
log-channel-id:

L'ID du salon pour les logs

Pour plus de détails sur toutes les options de configuration, consultez la section Configuration.

✓ Installation terminée

Une fois le fichier config.yml configuré, redémarrez votre serveur. Le bot Discord devrait se connecter automatiquement et les commandes slash seront disponibles.

Passez maintenant à la section Configuration pour personnaliser davantage le plugin.

Configuration de base

Configurez DiscordLink selon les besoins de votre serveur avec le fichier config.yml.

Fichier de configuration

[Image à remplacer : Aperçu du fichier config.yml ouvert dans un éditeur]

Emplacement du fichier

plugins/DiscordLink/config.yml

Configuration Discord

Section Discord

bot-token

Le token de votre bot Discord (récupéré depuis le Developer Portal).

bot-token: "VOTRE_TOKEN_ICI"

⚠️ Ne partagez JAMAIS votre token publiquement

guild-id

L'ID de votre serveur Discord (clic droit → Copier l'identifiant du serveur).

guild-id: "123456789012345678"

bot-enabled

Active ou désactive le bot Discord. Utile pour désactiver temporairement le bot sans retirer le plugin.

bot-enabled: true

Valeurs : true ou false

Gestion des rôles

Section Roles

linked-role-id

L'ID du rôle Discord attribué aux joueurs qui ont lié leur compte. Ce rôle est permanent.

linked-role-id: "123456789012345678"

online-role-id

L'ID du rôle Discord attribué aux joueurs actuellement connectés sur le serveur. Ce rôle est temporaire.

online-role-id: "987654321098765432"

assign-roles

Active ou désactive l'attribution automatique des rôles lors de la liaison.

assign-roles: true

remove-online-role-on-disconnect

Active ou désactive le retrait automatique du rôle "en ligne" lorsque le joueur se déconnecte.

remove-online-role-on-disconnect: true

Liaison obligatoire

Section Link Requirement

require-link

Si activé, les joueurs non liés seront expulsés du serveur avec un message contenant leur code de liaison.

require-link: false

💡 Activez cette option pour créer un serveur avec whitelist Discord

kick-message

Message affiché aux joueurs non liés lorsqu'ils sont expulsés. {code} sera remplacé par leur code unique.

kick-message: "§cVous devez lier votre compte Discord!\n§eLiez votre compte avec /link {code} sur Discord"

bypass-players

Liste des joueurs (pseudo ou UUID) qui peuvent rejoindre sans liaison. Utile pour les administrateurs.

bypass-players:
  - "Admin123"
  - "550e8400-e29b-41d4-a716-446655440000"

bypass-permission

Permission permettant de contourner l'obligation de liaison.

bypass-permission: "discordlink.bypass"

Messages personnalisés

Section Messages

Tous les messages du plugin sont personnalisables. Vous pouvez utiliser les codes couleur Minecraft (&c, &a, etc.) et les variables comme {code}, {player}, etc.

Exemple de personnalisation :

messages:
  prefix: "&8[&bDiscordLink&8]&r "
  code-generated: "&aVotre code de liaison: &e{code}"
  already-linked: "&cVous avez déjà lié votre compte!"
  link-success: "&aCompte lié avec succès à Discord!"
  unlink-success: "&aCompte délié avec succès!"
  not-linked: "&cVous n'avez pas lié votre compte Discord!"

💡 Codes couleur Minecraft

&0 - Noir
&1 - Bleu foncé
&2 - Vert foncé
&3 - Cyan foncé
&4 - Rouge foncé
&5 - Violet
&6 - Or
&7 - Gris
&8 - Gris foncé
&9 - Bleu
&a - Vert
&b - Cyan
&c - Rouge
&d - Rose
&e - Jaune
&f - Blanc

Recharger la configuration

Après avoir modifié le fichier config.yml, utilisez cette commande pour recharger la configuration :

/discordlink reload

Permission requise : discordlink.admin

Pour une référence complète de toutes les options, consultez la section Configuration de référence.

Système de liaison de comptes

Découvrez comment fonctionne le système de liaison entre Minecraft et Discord.

Processus de liaison

[Image à remplacer : Diagramme du processus de liaison complet]

Comment ça marche ?

1

Génération du code

Lorsqu'un joueur non lié tente de se connecter (avec require-link: true) ou utilise la commande/link en jeu, un code unique à 6 caractères est généré automatiquement.

Code généré : ABC123
2

Affichage du code

Le code est affiché au joueur de deux manières :

  • Dans le message de kick (si liaison obligatoire)
  • Dans le chat en jeu (avec la commande /link)
3

Liaison sur Discord

Le joueur rejoint votre serveur Discord et utilise la commande slash :

/link code:ABC123
Commande Discord

[Image à remplacer : Capture de la commande /link sur Discord]

4

Vérification et liaison

Le bot vérifie la validité du code (existant et non expiré). Si tout est correct, le compte Discord est lié au compte Minecraft et les rôles configurés sont attribués automatiquement.

5

Connexion autorisée

Le joueur peut maintenant se connecter normalement au serveur Minecraft. Sa liaison est permanente jusqu'à ce qu'il la supprime avec /unlink.

Sécurité des codes

Codes uniques

  • 6 caractères alphanumériques aléatoires
  • Un code par joueur à la fois
  • Impossible de deviner ou bruteforce

Expiration automatique

  • Codes valides pendant 5 minutes par défaut
  • Nettoyage automatique des codes expirés
  • Durée configurable dans config.yml

Scénarios d'utilisation

Serveur avec liaison optionnelle

Configuration : require-link: false

Les joueurs peuvent rejoindre sans lier leur compte. Ils peuvent utiliser /link en jeu pour obtenir leur code et profiter des avantages (rôles Discord, accès à certaines zones, etc.).

Cas d'usage :

  • • Serveurs publics avec communauté Discord
  • • Avantages pour les membres Discord
  • • Système de récompenses

Serveur avec liaison obligatoire

Configuration : require-link: true

Les joueurs non liés sont immédiatement expulsés avec leur code de liaison. Ils doivent obligatoirement lier leur compte Discord pour accéder au serveur.

Cas d'usage :

  • • Serveurs privés / Whitelist Discord
  • • Communautés fermées
  • • Meilleur contrôle de modération
  • • Éviter les alts et bans evaders

💡 Astuce

Pour voir les informations de liaison d'un joueur, utilisez la commande /linkinfo [joueur]en jeu. Consultez la section Commandes pour plus d'informations.

Gestion automatique des rôles

DiscordLink gère automatiquement les rôles Discord en fonction de l'état de liaison et de connexion des joueurs.

Gestion des rôles Discord

[Image à remplacer : Capture des rôles Discord avec les icônes "Lié" et "En ligne"]

Les deux types de rôles

Rôle "Lié"

Quand est-il attribué ?

Dès qu'un joueur lie son compte avec succès

Durée

Permanent (jusqu'à déliaison)

Configuration

linked-role-id

Utilité

  • • Identifier les membres vérifiés
  • • Accès à des salons privés
  • • Badge de membre vérifié

Rôle "En ligne"

Quand est-il attribué ?

Quand un joueur lié se connecte au serveur

Durée

Temporaire (retiré à la déconnexion)

Configuration

online-role-id

Utilité

  • • Voir qui joue actuellement
  • • Ping uniquement les joueurs en ligne
  • • Statistiques en temps réel

Cycle de vie des rôles

Timeline d'un joueur

1

Joueur non lié

Le joueur n'a aucun rôle DiscordLink

Rôles Discord : Aucun
2

Liaison du compte

Le joueur utilise /link code:ABC123 sur Discord

✓ Rôle "Lié" attribué
3

Connexion au serveur

Le joueur se connecte sur le serveur Minecraft

✓ Rôle "En ligne" attribué
Rôles Discord : Lié + En ligne
4

Déconnexion du serveur

Le joueur quitte le serveur Minecraft

✗ Rôle "En ligne" retiré
Rôles Discord : Lié
5

Déliaison (optionnel)

Le joueur utilise /unlink en jeu

✗ Tous les rôles retirés
Rôles Discord : Aucun

Configuration des rôles

Options disponibles

Personnalisez le comportement des rôles dans votre config.yml

assign-rolesboolean

Active ou désactive l'attribution automatique des rôles lors de la liaison

assign-roles: true

💡 Désactivez si vous voulez gérer les rôles manuellement

remove-online-role-on-disconnectboolean

Retire automatiquement le rôle "En ligne" quand le joueur se déconnecte

remove-online-role-on-disconnect: true

💡 Recommandé pour garder une liste précise des joueurs en ligne

Créer les rôles Discord

Guide de création des rôles

1. Accédez aux paramètres du serveur

Paramètres du serveur → Rôles → Créer un rôle

2. Créez le rôle "Lié"

  • • Nom : "Compte Lié" ou "Vérifié"
  • • Couleur : Verte (pour indiquer la vérification)
  • • Permissions : Selon vos besoins
  • • Afficher séparément : Optionnel

3. Créez le rôle "En ligne"

  • • Nom : "En jeu" ou "Connecté"
  • • Couleur : Bleue (pour le status en ligne)
  • • Permissions : Mentionnable peut être utile
  • • Afficher séparément : Recommandé

4. Positionnez le bot correctement

Le rôle de votre bot DiscordLink doit être au-dessus des rôles "Lié" et "En ligne" pour pouvoir les gérer.

⚠️ Si le bot ne peut pas attribuer les rôles, vérifiez la hiérarchie des rôles !

5. Récupérez les IDs

Clic droit sur chaque rôle → Copier l'identifiant → Collez dans config.yml

Hiérarchie des rôles Discord

[Image à remplacer : Hiérarchie correcte des rôles sur Discord]

✓ Cas d'usage avancés

Salon privé pour les joueurs en ligne

Créez un salon visible uniquement par les membres avec le rôle "En ligne"

Ping @EnJeu pour rejoindre

Rendez le rôle "En ligne" mentionnable pour faciliter le rassemblement

Statistiques en temps réel

Utilisez les API Discord pour compter les membres avec le rôle "En ligne"

Système de journalisation

DiscordLink enregistre tous les événements importants dans un salon Discord avec des embeds personnalisables.

Logs Discord

[Image à remplacer : Exemples de logs Discord avec différents types d'événements]

Types d'événements enregistrés

Connexions

Enregistre chaque connexion de joueur au serveur avec :

  • • Pseudo du joueur
  • • UUID du compte
  • • Adresse IP
  • • Horodatage précis
  • • Statut de liaison Discord
log-player-join: true

Déconnexions

Enregistre chaque déconnexion de joueur avec :

  • • Pseudo du joueur
  • • UUID du compte
  • • Horodatage de départ
  • • Durée de session
  • • Raison de déconnexion
log-player-quit: true

Liaisons

Enregistre chaque liaison de compte avec :

  • • Pseudo Minecraft
  • • UUID du compte
  • • Nom Discord (tag complet)
  • • ID Discord
  • • Horodatage de liaison
log-account-link: true

Déliaisons

Enregistre chaque déliaison de compte avec :

  • • Pseudo Minecraft
  • • UUID du compte
  • • Nom Discord précédent
  • • Horodatage de déliaison
  • • Initié par (joueur ou admin)
log-account-unlink: true

Embeds personnalisables

Chaque type d'événement peut avoir sa propre couleur d'embed pour une identification visuelle rapide :

Connexion

embed-color-join: "#00FF00"

Vert - Événement positif

Déconnexion

embed-color-quit: "#FFA500"

Orange - Événement neutre

Liaison

embed-color-link: "#00BFFF"

Bleu - Événement important

Déliaison

embed-color-unlink: "#FF0000"

Rouge - Événement d'attention

💡 Astuce : Utilisez des couleurs cohérentes avec votre branding Discord pour une meilleure intégration visuelle

Configuration des logs

Section Logging dans config.yml

logging:
  enabled: true
  channel-id: "123456789012345678"

  # Activer/désactiver chaque type de log
  log-player-join: true
  log-player-quit: true
  log-account-link: true
  log-account-unlink: true

  # Couleurs des embeds (format hexadécimal)
  embed-color-join: "#00FF00"
  embed-color-quit: "#FFA500"
  embed-color-link: "#00BFFF"
  embed-color-unlink: "#FF0000"

Exemples de logs

Log de connexion

Joueur connecté

Joueur : Steve123

UUID : 550e8400-e29b-41d4-a716-446655440000

IP : 192.168.1.100

Discord : ✓ Lié (Steve#1234)

24/10/2025 à 14:32:15

Log de liaison

Compte lié

Joueur Minecraft : Alex456

UUID : 650e8400-e29b-41d4-a716-446655440001

Utilisateur Discord : Alex#5678

Discord ID : 987654321098765432

24/10/2025 à 14:35:42

Exemple de logs Discord

[Image à remplacer : Capture réelle des logs dans un salon Discord]

Bonnes pratiques

À faire

  • Créez un salon privé dédié aux logs
  • Limitez l'accès aux administrateurs uniquement
  • Utilisez des couleurs cohérentes et distinctes
  • Désactivez les logs non pertinents pour votre serveur
  • Configurez la rétention des messages Discord

À éviter

  • Rendre le salon de logs public
  • Logger les IPs dans un salon visible par tous
  • Utiliser la même couleur pour tous les événements
  • Laisser le channel-id vide si logging est activé
  • Spammer les logs dans un salon de discussion

Protection des données

Les logs contiennent des informations sensibles comme les adresses IP. Assurez-vous de :

  • • Restreindre l'accès au salon de logs
  • • Respecter les réglementations sur la protection des données (RGPD, etc.)
  • • Ne pas partager les logs publiquement
  • • Configurer une période de rétention appropriée

Désactiver les logs

Si vous ne souhaitez pas utiliser la fonctionnalité de journalisation, vous pouvez la désactiver :

logging:
  enabled: false

Commandes joueur

Les commandes disponibles pour les joueurs sur le serveur Minecraft.

Commandes en jeu

[Image à remplacer : Capture d'écran montrant les commandes en jeu]

Liste des commandes

/link

Générer un code de liaison Discord

Description

Cette commande génère un code unique à 6 caractères que le joueur peut utiliser sur Discord pour lier son compte Minecraft à son compte Discord.

Utilisation

/link

Permission

Par défaut (tous les joueurs)

Exemple d'utilisation

Le joueur tape :

/link

Le serveur répond :

[DiscordLink] Votre code de liaison : ABC123
Utilisez /link code:ABC123 sur Discord pour lier votre compte
Le code expire dans 5 minutes

Cas particuliers

Compte déjà lié

Si le joueur a déjà lié son compte, il recevra un message indiquant qu'il est déjà lié et à quel compte Discord.

Code déjà généré

Si un code valide existe déjà pour le joueur, le même code sera affiché à nouveau.

/unlink

Délier votre compte Discord

Description

Cette commande supprime la liaison entre le compte Minecraft du joueur et son compte Discord. Tous les rôles Discord associés seront retirés automatiquement.

Utilisation

/unlink

Permission

discordlink.unlink

Exemple d'utilisation

Le joueur tape :

/unlink

Le serveur répond :

[DiscordLink] Votre compte a été délié avec succès !
Les rôles Discord ont été retirés.

Cas particuliers

Compte non lié

Si le joueur n'a pas de compte lié, il recevra un message indiquant qu'aucune liaison n'existe.

⚠️ Attention : Si le serveur a activé require-link: true, le joueur sera expulsé après avoir délié son compte et devra se lier à nouveau pour rejoindre.

/linkinfo [joueur]

Voir les informations de liaison

Description

Cette commande affiche les informations de liaison d'un joueur, incluant son compte Discord lié et la date de liaison.

Utilisation

/linkinfo

Affiche vos propres informations

/linkinfo <pseudo>

Affiche les informations d'un autre joueur

Permission

discordlink.info- Voir ses propres infos
discordlink.info.others- Voir les infos des autres

Exemple d'utilisation

Le joueur tape :

/linkinfo

Le serveur répond (compte lié) :

[DiscordLink] Informations de liaison pour Steve123
Discord : Steve#1234 (ID: 123456789012345678)
Lié depuis : 24/10/2025 à 14:32

Le serveur répond (compte non lié) :

[DiscordLink] Le joueur Alex456 n'a pas lié son compte Discord

Commande Discord

/link (Discord)

Lier son compte Minecraft via Discord

Description

Commande slash Discord permettant aux joueurs de lier leur compte Minecraft en entrant le code généré depuis le serveur.

Utilisation

/link code:<CODE>

Paramètres

code

Le code à 6 caractères obtenu en jeu

Requis • String • Exemple: ABC123

Exemple d'utilisation

Commande Discord link

[Image à remplacer : Capture de la commande /link sur Discord avec l'autocomplétion]

Réponses possibles

✓ Succès

Compte lié avec succès ! Vous êtes maintenant lié à Steve123

✗ Code invalide

Code invalide ou expiré. Veuillez en générer un nouveau avec /link en jeu.

⚠ Déjà lié

Vous avez déjà lié votre compte à Steve123. Utilisez /unlink en jeu pour délier.

💡 Conseils d'utilisation

  • Les codes expirent après 5 minutes, générez-en un nouveau si nécessaire
  • Un compte Minecraft ne peut être lié qu'à un seul compte Discord
  • Un compte Discord ne peut être lié qu'à un seul compte Minecraft
  • Utilisez /linkinfo régulièrement pour vérifier l'état de votre liaison

Commandes administrateur

Commandes réservées aux administrateurs pour gérer les liaisons et la configuration du plugin.

Permission requise

Toutes les commandes de cette page nécessitent la permission discordlink.admin

Liste des commandes

/forceunlink

Forcer la déliaison d'un compte

Description

Cette commande permet aux administrateurs de forcer la déliaison d'un compte joueur sans que celui-ci n'utilise la commande /unlink. Utile en cas de problème ou pour des raisons de modération.

Utilisation

/forceunlink <joueur>

Paramètres

joueur

Le pseudo du joueur à délier

Requis • String • Peut être en ligne ou hors ligne

Permission

discordlink.admin

Exemple d'utilisation

L'admin tape :

/forceunlink Steve123

Le serveur répond (succès) :

[DiscordLink] Le compte de Steve123 a été délié avec succès !
Compte Discord : Steve#1234 (123456789012345678)
Tous les rôles ont été retirés.

Le serveur répond (échec) :

[DiscordLink] Le joueur Alex456 n'a pas de compte lié.

Conséquences

  • La liaison est supprimée de la base de données
  • Tous les rôles Discord sont retirés (Lié + En ligne)
  • Un log est créé dans le salon de logs Discord
  • Si require-link: true, le joueur sera expulsé s'il est en ligne

Cas d'utilisation

Changement de compte Discord

Un joueur souhaite lier un nouveau compte Discord mais a perdu l'accès à l'ancien

Compte Discord compromis

Le compte Discord d'un joueur a été piraté, délier pour des raisons de sécurité

Sanction

Retirer l'accès d'un joueur en le forçant à se lier à nouveau

/discordlink reload

Recharger la configuration

Description

Cette commande recharge le fichier de configuration config.yml sans avoir à redémarrer le serveur. Les modifications de configuration seront appliquées immédiatement.

Utilisation

/discordlink reload

Alias disponible :

/dl reload

Permission

discordlink.admin

Exemple d'utilisation

L'admin tape :

/discordlink reload

Le serveur répond :

[DiscordLink] Configuration rechargée avec succès !
Bot Discord reconnecté avec les nouveaux paramètres.

Éléments rechargés

  • Tous les paramètres du fichier config.yml
  • Configuration Discord (bot, rôles, salon de logs)
  • Paramètres de liaison obligatoire
  • Messages personnalisés
  • Configuration des logs

Éléments NON rechargés

  • Connexions à la base de données (nécessite un redémarrage)
  • Liaisons existantes en mémoire (sont conservées)

Quand utiliser cette commande

Modification des messages

Après avoir changé les messages personnalisés dans config.yml

Changement de configuration Discord

Après avoir modifié les IDs de rôles ou de salon

Activation/désactivation de fonctionnalités

Pour activer/désactiver la liaison obligatoire ou les logs

💡 Conseil : Avant de recharger, assurez-vous que votre fichier config.yml est correctement formaté (YAML valide). Une erreur de syntaxe empêchera le rechargement.

Autres commandes disponibles

Commandes joueur accessibles aux admins

Les administrateurs ont également accès à toutes les commandes joueur :

/link

Générer un code de liaison pour soi-même

/unlink

Délier son propre compte

/linkinfo [joueur]

Voir les informations de n'importe quel joueur

Bonnes pratiques

Recommandations

  • Loggez les actions de /forceunlink pour l'audit
  • Prévenez les joueurs avant de forcer une déliaison
  • Testez les modifications de config sur un serveur de test
  • Faites une sauvegarde de config.yml avant les modifications
  • Utilisez /linkinfo avant /forceunlink pour vérifier

À éviter

  • Forcer une déliaison sans raison valable
  • Recharger la config pendant un événement important
  • Modifier config.yml sans le tester d'abord
  • Donner la permission admin à trop de personnes
  • Oublier de sauvegarder avant les modifications

💡 Astuce pour les grands serveurs

Si vous gérez un grand serveur avec beaucoup de joueurs, considérez :

  • • Créer une équipe dédiée à la gestion des liaisons
  • • Documenter les raisons des déliaisons forcées
  • • Établir des procédures claires pour les changements de compte
  • • Créer des formulaires Discord pour les demandes de modification
  • • Utiliser un système de tickets pour tracer les opérations

Référence complète de configuration

Documentation détaillée de toutes les options disponibles dans config.yml.

Fichier de configuration

plugins/DiscordLink/config.yml

Configuration complète annotée

config.yml

# ╔══════════════════════════════════════════════════════════╗
# ║              DiscordLink Configuration                   ║
# ║  Connectez votre serveur Minecraft à Discord            ║
# ╚══════════════════════════════════════════════════════════╝

# ═══════════════════════════════════════════════════════════
# Configuration Discord
# ═══════════════════════════════════════════════════════════
discord:
  # Token du bot Discord (OBLIGATOIRE)
  # Obtenez-le depuis: https://discord.com/developers/applications
  # ⚠️ Ne partagez JAMAIS ce token publiquement !
  bot-token: "VOTRE_TOKEN_ICI"

  # ID de votre serveur Discord (OBLIGATOIRE)
  # Comment obtenir: Clic droit sur votre serveur → Copier l'identifiant
  # Mode développeur requis dans les paramètres Discord
  guild-id: "123456789012345678"

  # Active/désactive le bot Discord
  # Mettez sur false pour désactiver temporairement le bot
  # Valeurs: true | false
  bot-enabled: true

# ═══════════════════════════════════════════════════════════
# Gestion des rôles Discord
# ═══════════════════════════════════════════════════════════
roles:
  # ID du rôle attribué aux comptes liés (PERMANENT)
  # Ce rôle reste tant que le compte est lié
  # Comment obtenir: Clic droit sur le rôle → Copier l'identifiant
  linked-role-id: "123456789012345678"

  # ID du rôle attribué aux joueurs en ligne (TEMPORAIRE)
  # Ce rôle est retiré quand le joueur se déconnecte
  online-role-id: "987654321098765432"

  # Active/désactive l'attribution automatique des rôles
  # Si false, les rôles devront être gérés manuellement
  # Valeurs: true | false
  assign-roles: true

  # Retire le rôle "en ligne" à la déconnexion
  # Recommandé: true pour garder une liste précise
  # Valeurs: true | false
  remove-online-role-on-disconnect: true

# ═══════════════════════════════════════════════════════════
# Liaison obligatoire
# ═══════════════════════════════════════════════════════════
link-requirement:
  # Rend la liaison obligatoire pour rejoindre le serveur
  # Si true: les joueurs non liés sont expulsés avec un code
  # Si false: les joueurs peuvent rejoindre sans lier
  # Valeurs: true | false
  require-link: false

  # Message affiché aux joueurs non liés (si require-link = true)
  # Variables disponibles: {code} = code de liaison unique
  # Codes couleur Minecraft supportés (&a, &c, &e, etc.)
  kick-message: |
    &cVous devez lier votre compte Discord!

    &eLiez votre compte avec la commande:
    &f/link code:{code}

    &7Code valide pendant 5 minutes

  # Liste des joueurs autorisés sans liaison
  # Format: pseudo ou UUID
  # Utile pour les administrateurs
  bypass-players:
    - "Admin"
    - "550e8400-e29b-41d4-a716-446655440000"

  # Permission pour contourner la liaison obligatoire
  # Les joueurs avec cette permission peuvent rejoindre sans lier
  bypass-permission: "discordlink.bypass"

# ═══════════════════════════════════════════════════════════
# Configuration de liaison
# ═══════════════════════════════════════════════════════════
linking:
  # Durée de validité des codes (en minutes)
  # Recommandé: 5 minutes pour la sécurité
  # Min: 1 | Max: 60
  code-expiration-minutes: 5

  # Longueur des codes de liaison
  # Recommandé: 6 caractères (bon équilibre sécurité/facilité)
  # Min: 4 | Max: 12
  code-length: 6

# ═══════════════════════════════════════════════════════════
# Système de journalisation
# ═══════════════════════════════════════════════════════════
logging:
  # Active/désactive tous les logs Discord
  # Si false, aucun log ne sera envoyé
  # Valeurs: true | false
  enabled: true

  # ID du salon Discord pour les logs (OBLIGATOIRE si enabled = true)
  # Comment obtenir: Clic droit sur le salon → Copier l'identifiant
  # Recommandé: salon privé, accessible aux admins uniquement
  channel-id: "123456789012345678"

  # Logs individuels (tous nécessitent enabled = true)
  # Active/désactive chaque type de log
  log-player-join: true        # Connexions des joueurs
  log-player-quit: true         # Déconnexions des joueurs
  log-account-link: true        # Liaisons de comptes
  log-account-unlink: true      # Déliaisons de comptes

  # Couleurs des embeds Discord (format hexadécimal)
  # Personnalisez pour correspondre à votre branding
  embed-color-join: "#00FF00"      # Vert pour connexions
  embed-color-quit: "#FFA500"      # Orange pour déconnexions
  embed-color-link: "#00BFFF"      # Bleu pour liaisons
  embed-color-unlink: "#FF0000"    # Rouge pour déliaisons

# ═══════════════════════════════════════════════════════════
# Messages personnalisés
# ═══════════════════════════════════════════════════════════
messages:
  # Préfixe affiché devant tous les messages
  # Codes couleur supportés: &0-9, &a-f, &l, &m, &n, &o, &r
  prefix: "&8[&bDiscordLink&8]&r "

  # Messages de liaison
  code-generated: "&aVotre code de liaison: &e{code}"
  code-info: "&7Utilisez /link code:{code} sur Discord"
  code-expires: "&7Le code expire dans {minutes} minutes"
  already-linked: "&cVous avez déjà lié votre compte Discord!"
  link-success: "&aCompte lié avec succès!"
  link-success-discord: "&aVous êtes maintenant lié à {player}"

  # Messages de déliaison
  unlink-success: "&aCompte délié avec succès!"
  not-linked: "&cVous n'avez pas lié votre compte Discord!"

  # Messages d'information
  link-info-header: "&eInformations de liaison pour &b{player}"
  link-info-discord: "&7Discord: &f{discord}"
  link-info-linked-since: "&7Lié depuis: &f{date}"
  link-info-not-linked: "&c{player} n'a pas lié son compte"

  # Messages admin
  force-unlink-success: "&aLe compte de &e{player} &aa été délié"
  force-unlink-not-linked: "&c{player} n'a pas de compte lié"
  reload-success: "&aConfiguration rechargée avec succès!"
  reload-error: "&cErreur lors du rechargement: {error}"

  # Messages d'erreur
  invalid-code: "&cCode invalide ou expiré!"
  player-not-found: "&cJoueur introuvable!"
  no-permission: "&cVous n'avez pas la permission!"
  command-usage: "&cUtilisation: {usage}"

  # Messages Discord (embeds)
  discord-embed-footer: "DiscordLink • {server}"
  discord-join-title: "Joueur connecté"
  discord-quit-title: "Joueur déconnecté"
  discord-link-title: "Compte lié"
  discord-unlink-title: "Compte délié"

# ═══════════════════════════════════════════════════════════
# Options avancées
# ═══════════════════════════════════════════════════════════
advanced:
  # Délai de reconnexion du bot (en secondes)
  # Si le bot se déconnecte, il tentera de se reconnecter
  # Min: 5 | Max: 300
  bot-reconnect-delay: 30

  # Activer le mode debug
  # Affiche des informations détaillées dans la console
  # Recommandé: false en production
  # Valeurs: true | false
  debug-mode: false

  # Format de la date pour les logs et affichages
  # Java SimpleDateFormat
  # Défaut: dd/MM/yyyy HH:mm:ss
  date-format: "dd/MM/yyyy HH:mm:ss"

  # Langue du plugin
  # Valeurs: en | fr | es | de
  # Note: Toutes les langues ne sont pas encore supportées
  language: "fr"

# ═══════════════════════════════════════════════════════════
# Base de données
# ═══════════════════════════════════════════════════════════
database:
  # Type de base de données
  # Actuellement seul SQLite est supporté
  # Valeurs: sqlite
  type: "sqlite"

  # Nom du fichier de base de données
  # Stocké dans plugins/DiscordLink/
  filename: "links.db"

  # Nettoyage automatique des codes expirés (en minutes)
  # Fréquence de nettoyage de la base de données
  # Min: 5 | Max: 1440 (24h)
  cleanup-interval: 30

# ═══════════════════════════════════════════════════════════
# Configuration version
# NE PAS MODIFIER - Utilisé pour les migrations automatiques
# ═══════════════════════════════════════════════════════════
config-version: 1

Variables disponibles

Certaines options acceptent des variables qui seront remplacées dynamiquement :

Variables de liaison

{code}Code de liaison unique
{minutes}Durée d'expiration en minutes

Variables de joueur

{player}Pseudo Minecraft
{uuid}UUID du compte Minecraft
{ip}Adresse IP du joueur

Variables Discord

{discord}Nom Discord complet (User#1234)
{discord-id}ID Discord numérique

Variables de date et serveur

{date}Date formatée (selon date-format)
{server}Nom du serveur Minecraft

Codes couleur Minecraft

Utilisez ces codes dans les messages pour ajouter des couleurs :

&0Noir
&1Bleu foncé
&2Vert foncé
&3Cyan foncé
&4Rouge foncé
&5Violet
&6Or
&7Gris
&8Gris foncé
&9Bleu
&aVert
&bCyan
&cRouge
&dRose
&eJaune
&fBlanc

Codes de formatage :

&l Gras
&m Barré
&n Souligné
&o Italique
&r Réinitialiser

⚠️ Important

  • Respectez l'indentation YAML (2 espaces par niveau)
  • Les chaînes avec des caractères spéciaux doivent être entre guillemets
  • Ne supprimez pas config-version, il est utilisé pour les migrations
  • Utilisez /discordlink reload après chaque modification

Base de données

DiscordLink utilise SQLite pour stocker toutes les informations de liaison de manière fiable et sécurisée.

SQLite - Simple et efficace

SQLite est une base de données embarquée qui ne nécessite aucune configuration supplémentaire. Tout est stocké dans un seul fichier local, ce qui facilite les sauvegardes et la maintenance.

Avantages de SQLite

Configuration zéro

Aucun serveur de base de données externe à installer ou configurer. Tout fonctionne automatiquement dès l'installation du plugin.

Fiable et rapide

SQLite est extrêmement fiable et offre d'excellentes performances pour les opérations de lecture et d'écriture.

Sauvegardes faciles

Un seul fichier à sauvegarder. Copiez simplement le fichier .db pour créer une sauvegarde complète de toutes les liaisons.

Portable

Le fichier de base de données peut être facilement transféré entre serveurs ou utilisé comme sauvegarde.

Emplacement et structure

Fichier de base de données

Emplacement du fichier :

plugins/DiscordLink/links.db

Structure des dossiers :

📁 plugins/
└── 📁 DiscordLink/
    ├── 📄 config.yml
    └── 📄 links.db  ← Base de données SQLite

Tables et données stockées

Table: linked_accounts

Stocke toutes les liaisons entre comptes Minecraft et Discord.

ColonneTypeDescription
uuidTEXTUUID du compte Minecraft (clé primaire)
usernameTEXTPseudo Minecraft
discord_idTEXTID Discord numérique (unique)
discord_nameTEXTNom Discord complet (User#1234)
linked_atINTEGERTimestamp de la liaison (Unix epoch)

Table: pending_codes

Stocke temporairement les codes de liaison en attente de vérification.

ColonneTypeDescription
codeTEXTCode unique à 6 caractères (clé primaire)
uuidTEXTUUID du compte Minecraft
usernameTEXTPseudo Minecraft
created_atINTEGERTimestamp de création (Unix epoch)
expires_atINTEGERTimestamp d'expiration (Unix epoch)

💡 Les codes expirés sont automatiquement supprimés toutes les 30 minutes par défaut.

Maintenance de la base de données

Sauvegardes

Sauvegarde manuelle

Pour créer une sauvegarde de votre base de données :

  1. 1. Arrêtez votre serveur Minecraft
  2. 2. Copiez le fichier plugins/DiscordLink/links.db
  3. 3. Collez-le dans un dossier de sauvegarde avec la date
  4. 4. Redémarrez votre serveur

💡 Conseil

Créez des sauvegardes régulières (quotidiennes ou hebdomadaires) pour éviter toute perte de données. Vous pouvez automatiser ce processus avec des scripts de sauvegarde.

Restauration

Pour restaurer une sauvegarde :

  1. 1. Arrêtez votre serveur Minecraft
  2. 2. Remplacez plugins/DiscordLink/links.db par votre fichier de sauvegarde
  3. 3. Redémarrez votre serveur
  4. 4. Vérifiez que les liaisons sont correctement restaurées avec /linkinfo

⚠️ Attention

La restauration écrasera toutes les liaisons actuelles. Assurez-vous d'avoir une sauvegarde de la base de données actuelle avant de restaurer.

Nettoyage automatique

DiscordLink nettoie automatiquement les codes expirés pour maintenir la base de données propre et performante.

Configuration dans config.yml :

database:
  # Nettoyage automatique toutes les 30 minutes
  cleanup-interval: 30

✓ Le nettoyage automatique supprime uniquement les codes expirés, jamais les liaisons actives.

Migration et transfert

Transférer vers un nouveau serveur

Pour transférer toutes vos liaisons vers un nouveau serveur :

  1. 1

    Arrêter l'ancien serveur

    Assurez-vous que le serveur est complètement arrêté

  2. 2

    Copier le fichier de base de données

    Copiez plugins/DiscordLink/links.db

  3. 3

    Installer DiscordLink sur le nouveau serveur

    Suivez les instructions d'installation normales

  4. 4

    Remplacer le fichier de base de données

    Remplacez le nouveau links.db par votre copie

  5. 5

    Démarrer le nouveau serveur

    Toutes les liaisons seront automatiquement disponibles

Dépannage

Base de données corrompue

Si le fichier de base de données est corrompu, vous verrez des erreurs dans la console.

Solution : Restaurez une sauvegarde récente ou supprimez le fichier pour le recréer (toutes les liaisons seront perdues).

Liaisons manquantes après redémarrage

Les liaisons ne sont pas visibles après un redémarrage du serveur.

Solution : Vérifiez que le fichier links.db existe et n'est pas vide. Vérifiez les permissions du fichier.

Erreurs de verrouillage de base de données

Erreur "database is locked" dans la console.

Solution : Fermez tous les programmes qui pourraient accéder au fichier (éditeurs de base de données). Redémarrez le serveur si nécessaire.

✓ Bonnes pratiques

  • Créez des sauvegardes régulières de votre base de données
  • Ne modifiez jamais manuellement le fichier pendant que le serveur est en cours d'exécution
  • Conservez plusieurs sauvegardes à différentes dates
  • Testez vos sauvegardes régulièrement pour vous assurer qu'elles fonctionnent

Permissions

Système complet de permissions pour contrôler l'accès aux fonctionnalités de DiscordLink.

Compatible avec tous les plugins de permissions

DiscordLink fonctionne avec LuckPerms, PermissionsEx, GroupManager et tous les autres plugins de gestion de permissions standards.

Liste complète des permissions

Permissions joueur

discordlink.linkPar défaut

Permet d'utiliser la commande /link pour générer un code de liaison.

Commandes :

/link
discordlink.unlinkRecommandé

Permet d'utiliser la commande /unlink pour délier son compte Discord.

Commandes :

/unlink

💡 Recommandé d'accorder cette permission à tous les joueurs pour qu'ils puissent gérer leur liaison eux-mêmes.

discordlink.infoRecommandé

Permet d'utiliser /linkinfo pour voir ses propres informations de liaison.

Commandes :

/linkinfo
discordlink.info.othersModérateurs

Permet d'utiliser /linkinfo <joueur> pour voir les informations de liaison d'autres joueurs.

Commandes :

/linkinfo <joueur>

💡 Utile pour les modérateurs qui ont besoin de vérifier les liaisons des joueurs.

Permissions administrateur

discordlink.adminAdmin seul

Permission principale d'administration. Donne accès à toutes les commandes administratives.

Commandes :

/forceunlink <joueur>/discordlink reload

⚠️ Sécurité

Cette permission donne un contrôle total sur le plugin. N'accordez qu'aux administrateurs de confiance.

discordlink.bypassOptionnel

Permet de contourner l'obligation de liaison (si require-link: true). Le joueur peut rejoindre sans avoir lié son compte.

💡 Utile pour les administrateurs qui ont besoin d'accéder au serveur sans liaison, ou pour des comptes de test.

Configuration avec LuckPerms

LuckPerms est le plugin de permissions le plus populaire. Voici comment configurer les permissions :

Permissions par défaut (tous les joueurs)

/lp group default permission set discordlink.link true
/lp group default permission set discordlink.unlink true
/lp group default permission set discordlink.info true

Permissions modérateurs

/lp group mod permission set discordlink.info.others true

Permissions administrateurs

/lp group admin permission set discordlink.admin true
/lp group admin permission set discordlink.bypass true

Permission pour un joueur spécifique

/lp user <pseudo> permission set discordlink.bypass true

Configuration recommandée par type de serveur

Serveur communautaire public

Groupe "default" (joueurs)

  • discordlink.link
  • discordlink.unlink
  • discordlink.info

Groupe "mod" (modérateurs)

  • ✓ Hérite de "default"
  • discordlink.info.others

Groupe "admin" (administrateurs)

  • ✓ Hérite de "mod"
  • discordlink.admin
  • discordlink.bypass

Serveur privé / Whitelist Discord

Configuration: require-link: true

Groupe "default" (joueurs)

  • discordlink.link (nécessaire pour se connecter)
  • discordlink.info
  • discordlink.unlink (optionnel - peut être restreint)

Groupe "admin" (administrateurs)

  • ✓ Toutes les permissions
  • discordlink.bypass (important pour accès d'urgence)

Réseau de serveurs

Configurez les permissions une seule fois avec LuckPerms et elles seront synchronisées automatiquement sur tous vos serveurs.

💡 Utilisez les groupes globaux de LuckPerms pour une configuration centralisée.

Hiérarchie des permissions

Pour simplifier la gestion, créez une hiérarchie de groupes :

👤

default → Joueurs

Permissions de base : link, unlink, info

🛡️

mod → Modérateurs

Hérite de default + info.others

admin → Administrateurs

Hérite de mod + admin, bypass

Vérification des permissions

Tester les permissions d'un joueur

Avec LuckPerms :

/lp user <pseudo> permission check discordlink.admin

Liste toutes les permissions d'un joueur :

/lp user <pseudo> permission info

Voir les permissions d'un groupe :

/lp group <groupe> permission info

💡 Conseils

  • Accordez toujours les permissions de base (link, unlink, info) à tous les joueurs
  • Limitez discordlink.admin aux administrateurs de confiance uniquement
  • Utilisez discordlink.bypass avec précaution sur les serveurs à liaison obligatoire
  • Testez vos configurations de permissions avant de les déployer en production
  • Documentez votre configuration de permissions pour votre équipe

Foire aux questions (FAQ)

Réponses aux questions les plus fréquemment posées sur DiscordLink.

Vous ne trouvez pas votre réponse ?

Si votre question n'est pas listée ici, consultez la documentation complète ou rejoignez notre serveur Discord de support pour obtenir de l'aide.

Installation et configuration

Le bot ne se connecte pas à Discord, que faire ?

Vérifiez les points suivants :

  • ✓ Le token du bot est correct et entre guillemets dans config.yml
  • ✓ Le bot-enabled est sur true
  • ✓ Les intentions privilégiées sont activées (Server Members Intent et Message Content Intent)
  • ✓ Le bot a été invité sur votre serveur Discord
  • ✓ Aucune erreur n'apparaît dans la console du serveur

💡 Regardez les logs du serveur pour des messages d'erreur détaillés.

La commande /link n'apparaît pas sur Discord

Les commandes slash prennent parfois du temps à apparaître :

  • 1. Attendez jusqu'à 1 heure (temps de propagation Discord)
  • 2. Redémarrez votre client Discord
  • 3. Vérifiez que le bot a la permission "applications.commands"
  • 4. Utilisez /discordlink reload pour réenregistrer les commandes
Comment obtenir les IDs Discord (serveur, rôle, salon) ?
  1. 1. Activez le mode développeur : Paramètres → Avancés → Mode développeur
  2. 2. Pour l'ID du serveur : Clic droit sur le serveur → Copier l'identifiant du serveur
  3. 3. Pour l'ID d'un rôle : Paramètres du serveur → Rôles → Clic droit → Copier l'identifiant
  4. 4. Pour l'ID d'un salon : Clic droit sur le salon → Copier l'identifiant du salon
Le plugin ne charge pas, erreur au démarrage

Vérifications à effectuer :

  • ✓ Vous utilisez Paper ou Purpur 1.21
  • ✓ Vous avez Java 21 ou supérieur
  • ✓ Le fichier config.yml est valide (pas d'erreur de syntaxe YAML)
  • ✓ Vous avez bien placé le fichier .jar dans le dossier plugins/

Liaison de comptes

Mon code a expiré, que faire ?

Les codes expirent après 5 minutes par défaut pour des raisons de sécurité.

Solutions :

  • • Utilisez /link en jeu pour générer un nouveau code
  • • Augmentez la durée dans config.yml : code-expiration-minutes: 10
Puis-je lier plusieurs comptes Minecraft à un Discord ?

❌ Non

Un compte Discord ne peut être lié qu'à un seul compte Minecraft. Cette limitation existe pour maintenir l'intégrité du système de vérification.

Si vous avez besoin de lier un autre compte, vous devez d'abord délier le compte actuel avec /unlink.

Puis-je lier plusieurs comptes Discord à un Minecraft ?

❌ Non

Un compte Minecraft ne peut être lié qu'à un seul compte Discord. C'est une liaison 1:1.

Un joueur a perdu l'accès à son compte Discord, comment le délier ?

Les administrateurs peuvent forcer la déliaison avec :

/forceunlink <pseudo>

Le joueur pourra ensuite lier son nouveau compte Discord normalement.

Le message "Code invalide ou expiré" apparaît avec un code valide

Causes possibles :

  • • Le code a déjà été utilisé par quelqu'un d'autre
  • • Vous avez tapé le code avec des espaces ou caractères supplémentaires
  • • Le serveur Minecraft a redémarré (les codes ne survivent pas au redémarrage)
  • • Le compte Discord est déjà lié à un autre compte Minecraft

Générez un nouveau code avec /link et réessayez.

Rôles Discord

Le bot n'attribue pas les rôles Discord

Vérifiez ces points :

  • assign-roles: true dans config.yml
  • ✓ Le rôle du bot est au-dessus des rôles à attribuer dans la hiérarchie
  • ✓ Le bot a la permission "Manage Roles" sur le serveur
  • ✓ Les IDs de rôles sont corrects dans config.yml
  • ✓ Les rôles existent toujours (pas supprimés)

⚠️ La hiérarchie des rôles est LA cause la plus fréquente. Le bot ne peut gérer que les rôles situés en dessous du sien.

Le rôle "En ligne" ne se retire pas à la déconnexion

Vérifiez :

  • remove-online-role-on-disconnect: true dans config.yml
  • ✓ Le serveur n'a pas crash (déconnexion propre nécessaire)
  • ✓ Le bot est en ligne au moment de la déconnexion

Si le serveur crash, les rôles peuvent rester. Ils seront mis à jour à la prochaine connexion.

Puis-je utiliser le même rôle pour "Lié" et "En ligne" ?

⚠️ Non recommandé

Techniquement possible, mais cela supprimera le rôle à chaque déconnexion. Il est préférable d'utiliser deux rôles distincts pour bien différencier les statuts.

Performance et optimisation

Le plugin ralentit-il mon serveur ?

✓ Impact minimal

DiscordLink est conçu pour être léger et performant. L'impact sur les performances est négligeable, même sur des serveurs à haute population.

  • • Opérations asynchrones pour ne pas bloquer le serveur
  • • Base de données SQLite ultra rapide
  • • Connexion Discord dans un thread séparé
Combien de joueurs le plugin peut-il gérer ?

DiscordLink peut gérer sans problème :

  • ✓ Des milliers de comptes liés
  • ✓ Des centaines de joueurs en ligne simultanément
  • ✓ Des réseaux avec plusieurs serveurs

La seule limitation est celle de votre serveur Minecraft et Discord.

Sécurité

Les codes de liaison sont-ils sécurisés ?

✓ Oui, très sécurisés

  • • Codes aléatoires de 6 caractères (plus de 2 milliards de combinaisons)
  • • Expiration automatique après 5 minutes
  • • Usage unique (le code est supprimé après utilisation)
  • • Impossible de bruteforce grâce à l'expiration rapide
Mes données sont-elles en sécurité ?

Données stockées :

  • • UUID Minecraft (non modifiable)
  • • Pseudo Minecraft (mis à jour automatiquement)
  • • ID Discord (numérique unique)
  • • Date de liaison (timestamp)

Toutes les données sont stockées localement dans votre base de données SQLite. Aucune donnée n'est envoyée à des serveurs tiers.

Mon token de bot est-il sécurisé dans config.yml ?

⚠️ Précautions à prendre

  • • Ne partagez JAMAIS votre config.yml publiquement
  • • Ne publiez pas de captures d'écran contenant votre token
  • • Limitez l'accès FTP/SFTP à votre serveur
  • • Utilisez des permissions de fichiers appropriées (600 ou 640)
  • • Si le token est compromis, régénérez-le immédiatement sur Discord

Dépannage avancé

Erreur "Failed to login" dans la console

Cette erreur indique un problème avec le token du bot :

  • 1. Vérifiez que le token est correct (sans espaces)
  • 2. Régénérez le token sur le Discord Developer Portal
  • 3. Remplacez-le dans config.yml (entre guillemets)
  • 4. Utilisez /discordlink reload
Erreur "Missing Permissions" pour les rôles

Le bot n'a pas les permissions nécessaires :

  • 1. Vérifiez que le bot a "Manage Roles" dans les permissions du serveur
  • 2. Placez le rôle du bot au-dessus des rôles à gérer
  • 3. Réinvitez le bot avec l'URL générateur OAuth2 si nécessaire
Base de données corrompue ou verrouillée

Solutions :

  1. 1. Arrêtez complètement le serveur
  2. 2. Fermez tous les programmes accédant à links.db
  3. 3. Faites une copie de sauvegarde de links.db
  4. 4. Redémarrez le serveur
  5. 5. Si le problème persiste, restaurez une sauvegarde ou supprimez le fichier

Besoin d'aide supplémentaire ?

Si votre problème persiste après avoir consulté cette FAQ :

  • Consultez les logs du serveur pour des messages d'erreur détaillés
  • Activez debug-mode: true dans config.yml pour plus d'informations
  • Rejoignez notre serveur Discord de support
  • Ouvrez une issue sur GitHub avec les détails de votre problème