# Comment autoriser les versions non-premium sur votre serveur Minecraft ## Avertissement important Autoriser les versions non-premium sur votre serveur présente des risques : - **Sécurité réduite** : N'importe qui peut usurper l'identité d'un joueur - **Pas d'authentification Mojang** : Les comptes ne sont pas vérifiés - **Risque de pseudos dupliqués** : Plusieurs joueurs peuvent avoir le même nom - **Violations possibles** : Peut violer les conditions d'utilisation de Mojang **Recommandation** : Utilisez cette configuration uniquement pour des serveurs privés entre amis ou pour des tests. ## Prérequis - Accès administrateur à votre panel de gestion - Un serveur Minecraft (Spigot, Paper, ou vanilla) - Compréhension des risques de sécurité ## Méthode 1 : Configuration basique (Serveur unique) Cette méthode fonctionne pour un serveur Minecraft standard sans BungeeCord. ### Étape 1 : Désactiver l'authentification en ligne 1. Connectez-vous à votre panel de gestion 2. Accédez à la section **Fichiers** ou **Gestionnaire de fichiers** 3. Ouvrez le fichier `server.properties` 4. Trouvez la ligne suivante : ```properties online-mode=true ``` 5. Changez-la en : ```properties online-mode=false ``` 6. Sauvegardez le fichier ### Étape 2 : Redémarrer le serveur 1. Retournez à l'accueil du panel 2. Redémarrez votre serveur Minecraft 3. Attendez que le serveur démarre complètement ### Étape 3 : Tester la connexion Les joueurs avec des versions non-premium peuvent maintenant se connecter avec n'importe quel pseudo. ## Méthode 2 : Avec plugin d'authentification (Recommandé) Pour améliorer la sécurité, utilisez un plugin d'authentification comme **AuthMe**. ### Étape 1 : Installer AuthMe 1. Téléchargez AuthMe depuis [https://www.spigotmc.org/resources/authmereloaded.6269/](https://www.spigotmc.org/resources/authmereloaded.6269/) 2. Placez le fichier JAR dans le dossier `plugins` 3. Redémarrez le serveur ### Étape 2 : Désactiver online-mode Comme dans la Méthode 1, changez dans `server.properties` : ```properties online-mode=false ``` ### Étape 3 : Configurer AuthMe Ouvrez `plugins/AuthMe/config.yml` et vérifiez ces paramètres : ```yaml settings: # Forcer l'enregistrement force: forceRegister: true forceLogin: true # Protection du spawn isTeleportToSpawnEnabled: true # Sessions sessions: enabled: true timeout: 10 # Messages en français (optionnel) messages: language: 'fr' ``` ### Étape 4 : Commandes pour les joueurs Les joueurs devront s'enregistrer et se connecter : **Première connexion** : ``` /register ``` **Connexions suivantes** : ``` /login ``` **Changer de mot de passe** : ``` /changepassword ``` ## Méthode 3 : Configuration avec BungeeCord Si vous utilisez un réseau BungeeCord, la configuration est différente. ### Configuration BungeeCord #### Étape 1 : Modifier config.yml du proxy Ouvrez `config.yml` sur le serveur BungeeCord : ```yaml online_mode: false ``` **ATTENTION** : Sur BungeeCord, c'est `online_mode` avec un underscore, pas un tiret. #### Étape 2 : Configurer les serveurs backend Sur **tous les serveurs backend**, dans `server.properties` : ```properties online-mode=false ``` Dans `spigot.yml` : ```yaml settings: bungeecord: true ``` ### Installer un plugin d'authentification Pour BungeeCord, utilisez **JPremium** ou **AuthMe** en mode BungeeCord. #### Option A : JPremium (Recommandé pour BungeeCord) 1. Téléchargez JPremium 2. Installez-le sur le **proxy BungeeCord** ET sur **tous les serveurs backend** 3. Configurez-le pour permettre les connexions non-premium Configuration JPremium (`config.yml`) : ```yaml # Mode mixte : premium et non-premium online-mode: auto # Autoriser les connexions non-premium allow-premium-users: true allow-offline-users: true ``` #### Option B : AuthMe avec BungeeCord 1. Installez **AuthMeBungee** sur le proxy 2. Installez **AuthMe** sur tous les serveurs backend 3. Configurez la synchronisation entre eux ## Sécurité et protection ### Protection contre l'usurpation d'identité Avec `online-mode=false`, n'importe qui peut prendre le pseudo d'un administrateur. Voici comment vous protéger : #### 1. Plugin d'authentification obligatoire Utilisez **AuthMe** ou **JPremium** pour forcer les joueurs à s'enregistrer. #### 2. Protection des comptes administrateurs Dans AuthMe (`config.yml`) : ```yaml settings: security: # Bloquer les pseudos importants unregisteredGroup: 'unregistered' protection: # Liste des pseudos protégés enableProtection: true countries: [] # Noms d'utilisateurs interdits UnrestrictedNames: - 'Admin' - 'Moderator' - 'Owner' ``` #### 3. Whitelist pour les admins Activez la whitelist et ajoutez manuellement les administrateurs : ```properties white-list=true ``` Puis dans le jeu : ``` /whitelist add NomAdmin /whitelist on ``` ### Plugins de sécurité recommandés **AuthMe Reloaded** : - Système de connexion/inscription - Protection contre le spam - Captcha anti-bot **LoginSecurity** : - Alternative à AuthMe - Plus léger - Facile à configurer **nLogin** : - Moderne et performant - Support des bases de données - Interface intuitive ## Configuration avancée d'AuthMe ### Base de données MySQL Pour un serveur avec beaucoup de joueurs, utilisez MySQL : Dans `config.yml` d'AuthMe : ```yaml DataSource: # Type de base de données backend: 'MYSQL' # Informations de connexion mySQLHost: 'localhost' mySQLPort: '3306' mySQLDatabase: 'authme' mySQLUsername: 'root' mySQLPassword: 'votre_mot_de_passe' mySQLTablename: 'authme' ``` ### Limiter les tentatives de connexion ```yaml security: captcha: # Activer le captcha après X tentatives useCaptcha: true maxLoginTries: 5 captchaLength: 5 ``` ### Sessions automatiques Pour ne pas redemander le mot de passe à chaque connexion : ```yaml settings: sessions: enabled: true # Durée en minutes timeout: 10 ``` ### Protection IP Lier les comptes à une adresse IP : ```yaml settings: restrictions: # Un compte = une IP maxRegPerIp: 1 # Nombre maximum de comptes par IP maxLoginPerIp: 1 ``` ## Commandes administrateur AuthMe ### Gestion des joueurs ``` /authme register ``` Enregistrer un joueur manuellement ``` /authme unregister ``` Supprimer le compte d'un joueur ``` /authme forcelogin ``` Forcer la connexion d'un joueur ``` /authme changepassword ``` Changer le mot de passe d'un joueur ### Informations ``` /authme version ``` Afficher la version d'AuthMe ``` /authme reload ``` Recharger la configuration ``` /authme debug ``` Activer le mode debug ## Problèmes courants et solutions ### Les joueurs premium ne peuvent plus se connecter Si vous avez des joueurs avec des comptes officiels Mojang : **Solution 1** : Utilisez JPremium en mode mixte (supporte premium ET non-premium) **Solution 2** : Gardez `online-mode=true` et installez un plugin comme **FlexibleLogin** ### Erreur "Failed to verify username" - Vérifiez que `online-mode=false` dans `server.properties` - Redémarrez complètement le serveur - Videz le cache du launcher Minecraft ### AuthMe ne fonctionne pas - Vérifiez que le plugin est dans le dossier `plugins` - Vérifiez les logs pour les erreurs - Assurez-vous que `online-mode=false` - Vérifiez la version d'AuthMe compatible avec votre serveur ### Les joueurs contournent l'authentification - Vérifiez que `forceRegister: true` dans la config - Installez **ProtocolLib** (dépendance d'AuthMe) - Activez la protection du spawn dans AuthMe ### Pseudos dupliqués Avec `online-mode=false`, deux joueurs peuvent avoir le même pseudo s'ils se connectent en même temps. **Solution** : AuthMe empêche automatiquement les connexions simultanées avec le même pseudo. ## Alternatives modernes ### 1. FastLogin Plugin moderne qui permet les connexions automatiques pour les comptes premium : - Détecte automatiquement les comptes premium - Pas besoin de s'authentifier pour les comptes officiels - Supporte BungeeCord et Velocity ### 2. nLogin Alternative moderne à AuthMe : - Interface plus intuitive - Support natif de BungeeCord - Base de données optimisée ### 3. JPremium Idéal pour les réseaux BungeeCord : - Mode mixte premium/non-premium - Authentification transparente - Support complet de BungeeCord ## Recommandations finales ### Pour un serveur entre amis Configuration simple : 1. `online-mode=false` 2. Whitelist activée 3. Ajout manuel des pseudos autorisés ### Pour un serveur public Configuration sécurisée : 1. `online-mode=false` 2. AuthMe avec MySQL 3. Protection des pseudos importants 4. Limitation des tentatives de connexion 5. Captcha anti-bot ### Pour un réseau BungeeCord Configuration complète : 1. BungeeCord avec `online_mode: false` 2. JPremium en mode mixte 3. Base de données partagée 4. Sécurité renforcée sur le proxy ## Conclusion Autoriser les versions non-premium nécessite de désactiver `online-mode` et d'installer un système d'authentification alternatif comme AuthMe pour maintenir un minimum de sécurité. Cette configuration est acceptable pour des serveurs privés mais nécessite une vigilance accrue sur les serveurs publics. Pensez toujours à protéger les comptes administrateurs et à surveiller les connexions suspectes.