Cross-play Minecraft Java / Bedrock avec GeyserMC + Floodgate

Cross-play Minecraft Java / Bedrock avec GeyserMC + Floodgate

Permettez aux joueurs Minecraft Bedrock (Windows 10, Xbox, PS4/5, Switch, mobile) de rejoindre votre serveur Java avec GeyserMC. Floodgate ajoute l'authentification sans compte Java pour les utilisateurs Bedrock.

Introduction

Le problème : Minecraft existe en deux versions parallèles qui ne peuvent pas se connecter entre elles nativement.

  • Java Edition : PC (Windows, Mac, Linux), version historique, gros écosystème de plugins/mods
  • Bedrock Edition : Windows 10/11, mobile, Xbox, PlayStation, Switch

GeyserMC est un proxy qui traduit en temps réel les paquets Bedrock vers Java et inversement. Floodgate complète Geyser en permettant aux joueurs Bedrock de se connecter à votre serveur Java sans avoir besoin de licence Java.

Prérequis

  • Un serveur Minecraft Java fonctionnel (Paper/Spigot recommandé)
  • Version Java 1.17+
  • Accès au dossier plugins/
  • Port 19132/UDP ouvert (port Bedrock par défaut)
  • Tuto recommandé en amont : Migration Minecraft VeryCloud

Étape 1 : Choisir la méthode d'installation

GeyserMC peut tourner en 3 modes :

A. Plugin (recommandé)

Installé directement dans plugins/ du serveur Java. C'est le mode le plus simple et le plus utilisé. Choisissez celui-ci sauf raison particulière.

B. Standalone

GeyserMC tourne dans son propre process. Utile si vous avez plusieurs serveurs Java derrière un proxy (Velocity).

C. Proxy plugin

Pour BungeeCord ou Velocity en frontal.

Ce tuto couvre le mode Plugin.

Étape 2 : Télécharger Geyser et Floodgate

Sur le serveur Java, allez dans le dossier plugins/ :

cd /home/minecraft/server/plugins

Téléchargez les versions les plus récentes :

wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot -O Geyser-Spigot.jar
wget https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot -O floodgate-spigot.jar

Si vous êtes sur Paper, les mêmes JAR fonctionnent (Spigot = compatible Paper).

Étape 3 : Démarrer le serveur

Démarrez le serveur Java pour que Geyser génère sa config :

cd ~/server
./start.sh

Dans les logs vous verrez :

[Geyser-Spigot] Loading Geyser
[Geyser-Spigot] ******************************************
[Geyser-Spigot] Loading Geyser version 2.x.x
[Geyser-Spigot] Started Geyser on 0.0.0.0:19132

Et :

[floodgate] Floodgate has finished loading!

Arrêtez le serveur (stop) pour configurer.

Étape 4 : Configurer Geyser

nano ~/server/plugins/Geyser-Spigot/config.yml

Paramètres clés :

bedrock:
  address: 0.0.0.0
  port: 19132
  clone-remote-port: false
  motd1: "VeryCloud Cross-play"
  motd2: "Java + Bedrock"
  server-name: "VeryCloud"
  compression-level: 6
  enable-proxy-protocol: false

remote:
  address: auto
  port: 25565
  auth-type: floodgate  # IMPORTANT : passe par Floodgate

# Joueurs Bedrock connectables sans compte Java
floodgate-key-file: key.pem

# Optimisations
command-suggestions: true
passthrough-motd: false
passthrough-player-counts: true

Important : auth-type: floodgate est ce qui active la connexion sans licence Java. Sans Floodgate, mettez auth-type: online (les joueurs doivent avoir un compte Microsoft/Java).

Étape 5 : Configurer Floodgate

nano ~/server/plugins/floodgate/config.yml

Paramètres importants :

# Préfixe des noms de joueurs Bedrock (pour les distinguer)
username-prefix: "."  # Un joueur Bedrock "Steve" apparaîtra ".Steve"

# Remplacer les espaces dans les noms (Bedrock autorise les espaces, pas Java)
replace-spaces: true

# Désactiver si vous voulez les vrais noms Bedrock sans préfixe
# (mais conflit possible avec les joueurs Java de même nom)

Étape 6 : Ouvrir le port 19132

sudo ufw allow 19132/udp

Côté Netrix (VeryCloud), ouvrez aussi le port 19132 UDP dans l'espace client.

Étape 7 : Démarrer et tester

cd ~/server
./start.sh

Test depuis Java

Connectez-vous comme d'habitude : IP:25565. Tout doit fonctionner sans changement.

Test depuis Bedrock

Sur Minecraft Bedrock (PC Windows 10, console, mobile) :

  1. JouerServeursAjouter un serveur
  2. Nom du serveur : VeryCloud
  3. Adresse du serveur : votre IP ou domaine
  4. Port : 19132 (par défaut)
  5. Enregistrer et Rejoindre

Vous arrivez en jeu en .VotrePseudo (avec le préfixe .).

Étape 8 : Linking entre comptes Java et Bedrock

Si un joueur possède les deux versions, il peut lier ses comptes pour avoir le même inventaire/skin.

Sur le serveur, après avoir démarré (en tant qu'admin Java) :

/linkaccount BedrockPlayer

Le joueur Bedrock doit alors taper la commande affichée dans son chat pour confirmer.

Étape 9 : Skins et UI

Geyser télécharge automatiquement les skins Bedrock et les affiche correctement aux joueurs Java. Pour permettre l'inverse :

nano ~/server/plugins/Geyser-Spigot/config.yml
allow-third-party-capes: true
allow-third-party-ears: true
show-cooldown: title

Étape 10 : Optimiser pour serveurs publics

Plugins compatibles Bedrock

Tous les plugins Java ne sont pas équivalents Bedrock. Privilégiez :

  • PlaceholderAPI : pour afficher des infos custom
  • ProtocolLib : utilisé par Geyser
  • LuckPerms : permissions identiques Java/Bedrock
  • EssentialsX : commandes de base

Évitez les plugins qui dépendent de blocs/items uniquement Java (carte custom, blocs personnalisés, certaines GUI).

Custom items Bedrock

Pour des items custom visibles côté Bedrock, utilisez Geyser CustomItems via les resource packs. Documentation : https://wiki.geysermc.org/geyser/custom-items

Dépannage

Bedrock ne se connecte pas

Vérifiez :

sudo netstat -ulnp | grep 19132

Doit afficher Geyser écoutant sur 19132. Si non :

  • Vérifiez les logs Geyser
  • Vérifiez UFW (sudo ufw status)
  • Vérifiez Netrix VeryCloud

"Outdated client" côté Bedrock

Geyser supporte une version Bedrock spécifique. Si votre Minecraft Bedrock est plus récent que Geyser, mettez Geyser à jour :

cd ~/server/plugins
wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot -O Geyser-Spigot.jar
# Puis redémarrez le serveur

"Authentication failed" sans Floodgate

Si vous utilisez auth-type: online, les joueurs Bedrock doivent lier leur compte Microsoft Bedrock à un compte Microsoft Java. Trop compliqué pour la plupart des joueurs.

→ Utilisez auth-type: floodgate (recommandé).

Lag ou téléportations Bedrock

Bedrock envoie plus de mises à jour de position que Java. Augmentez la view-distance Bedrock :

bedrock:
  view-distance: 10

Commandes utiles

# Recharger Geyser à chaud
/geyser reload

# Forcer la sauvegarde des skins
/geyser dumpcache

# Linker un compte Bedrock à Java
/linkaccount BedrockUsername

# Délier
/unlinkaccount

# Voir tous les joueurs Bedrock connectés
/geyser players

# Tester si un nom de joueur est Bedrock
/floodgate isFloodgateUser <nom>

# Mise à jour Geyser et Floodgate
cd ~/server/plugins
wget -O Geyser-Spigot.jar https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
wget -O floodgate-spigot.jar https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot

Conclusion

Votre serveur Minecraft est désormais cross-play. Vous touchez potentiellement le double d'audience : joueurs PC Java + joueurs console/mobile Bedrock. C'est un game-changer pour les serveurs publics et les communautés mixtes.

Pour aller plus loin :

  • Créez des resource packs spécifiques Bedrock pour reproduire vos items custom
  • Utilisez ViaVersion pour aussi supporter des clients Java de versions différentes
  • Mettez en place un lobby avec des sous-serveurs (survival, créatif, mini-jeux) via Velocity

Ressources

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members