Un serveur Minecraft Java refuse par défaut les joueurs Bedrock (mobile, Windows, consoles). Pour les réunir sans deux serveurs, il suffit d'ajouter deux plugins gratuits à un serveur Paper : Geyser et Floodgate.
En bref
- Java se connecte en TCP (port 25565 par défaut). Depuis Bedrock 26.60, les clients Bedrock ne passent plus par RakNet : ils se connectent en NetherNet, d'abord en TCP pour trouver le serveur, puis en UDP pour jouer. Geyser traduit les paquets de l'un vers l'autre : le joueur Bedrock garde son client habituel.
- Floodgate laisse un joueur Bedrock entrer sans compte Java.
- Le port par défaut de Geyser est 19132, à ouvrir en TCP et en UDP : pare-feu, box ou panel. Sans le TCP, le serveur n'apparaît pas.
- Dans la configuration de Geyser,
bedrock.transportdoit valoirnethernet. - Au 1er novembre 2026, Geyser (2.12.1) prend en charge Bedrock 26.40 à 26.60 et Java 26.3 : un serveur Paper 26.3 suffit, sans ViaVersion.
- Mobile et Windows saisissent l'adresse et le port Bedrock. Xbox, Switch et PlayStation ne le peuvent pas : il faut un contournement (DNS personnalisé ou application simulant un réseau local).
Comment fonctionne le crossplay
Bedrock a été écrit en C++ pour tourner sur des plateformes qui ne peuvent pas exécuter Java. Les deux éditions ne partagent donc pas leur protocole : Java utilise TCP, et Bedrock utilisait RakNet, au-dessus de l'UDP. Depuis Bedrock 26.60, ses clients arrêtent de se connecter en RakNet : tout serveur Bedrock doit parler NetherNet, qui demande du TCP (pour trouver le serveur) et de l'UDP (pour jouer). Un client Bedrock ne peut donc pas parler à un serveur Java.
Geyser est un traducteur de protocole. Il convertit les paquets et émule un client Java : le serveur croit recevoir un joueur Java. La plupart de vos plugins continuent de fonctionner, avec quelques exceptions documentées. Le projet est gratuit et open source sous licence MIT.
Floodgate est son plugin compagnon : il laisse des clients Bedrock rejoindre sans compte Java. Sans lui, auth-type vaut online et chaque joueur Bedrock doit posséder un compte Java authentifié.
Geyser ne traduit que des clients Bedrock vers un serveur Java, jamais l'inverse.
Prérequis
- Un serveur Paper fonctionnel. Sinon, commencez par créer un serveur Minecraft sur son PC. Pour les plugins en général, voyez installer des plugins sur Paper et Spigot.
- Java 21 minimum pour Geyser. En pratique, un Paper actuel tourne sous Java 25, exigé dès Minecraft 26.1.
- Une version de serveur compatible. Au 1er novembre 2026, Minecraft Java 26.3 est la dernière version (15/09/2026), et Paper 26.3 a des builds stables depuis le 11 octobre. Selon la page des versions prises en charge, Geyser gère Minecraft Bedrock 26.40 à 26.60 et Minecraft Java 26.3 : il se présente au serveur comme un client 26.3. Avec un serveur Paper 26.3, ViaVersion n'est donc pas nécessaire. Si votre serveur n'est pas en 26.3, GeyserMC demande d'installer ViaVersion.
- Un accès sortant aux services en ligne de Minecraft, que Geyser interroge au démarrage pour préparer le chiffrement.
Bedrock se met à jour tout seul : mettez Geyser à jour à chaque nouvelle version. Le build 2.12.1 de Geyser, daté du 31 octobre 2026 (UTC), supprime le mode « RakNet seul ».
1. Installer Geyser sur Paper
Faites d'abord une copie du dossier du serveur. Téléchargez ensuite Geyser-Spigot.jar sur la page de téléchargement de GeyserMC : Spigot et Paper partagent le même fichier.
- Déposez
Geyser-Spigot.jardans le dossierplugins. - Tapez
stopdans la console, attendez l'arrêt complet, puis relancez Paper. Geyser génèreplugins/Geyser-Spigot/config.yml.
Dans la console, geyser version affiche la version de Geyser et les versions prises en charge. Avec la version actuelle, la plage attendue est Bedrock 26.40 à 26.60 et Java 26.3 (page des versions prises en charge). Vos joueurs doivent respecter la plage Bedrock. Après chaque redémarrage, lisez la console : selon GeyserMC, Geyser y signale la plupart des problèmes de NetherNet.
2. Le port Bedrock (19132 par défaut)
Ouvrez plugins/Geyser-Spigot/config.yml, section bedrock. Le port d'écoute par défaut est 19132 et la clé transport doit valoir nethernet :
bedrock:
address: 0.0.0.0
port: 19132
transport: nethernet
Geyser utilise ce port sur les deux protocoles : il doit donc accepter le TCP et l'UDP. Gardez 19132 si votre hébergement le permet : c'est le port que Bedrock propose de lui-même.
- Un autre port est possible. Si votre panel n'alloue pas 19132, utilisez le port attribué. GeyserMC indique que les ports inférieurs à 10 000 ont historiquement posé problème.
- Pas de partage de port. Aucun autre programme ne peut utiliser le port de Geyser, ni en UDP (chat vocal, Query), ni en TCP (autre serveur, carte web, site web). Le port de Geyser ne peut pas non plus être celui du serveur Paper.
Pourquoi nethernet : les clients Bedrock 26.60 ne se connectent plus en RakNet. Dans Geyser 2.12.1, nethernet est la valeur par défaut et le mode « RakNet seul » est retiré : une configuration qui l'utilisait est migrée vers NetherNet (voir le détail de ce build). Avec une version plus ancienne de Geyser, réglez la valeur vous-même. Il existe aussi la valeur both, qui accepte NetherNet et RakNet : chacun a alors besoin de son propre port UDP (port et webrtc-port). Le guide de GeyserMC ne la demande pas. La section java ne contient que auth-type : sur Paper, aucune adresse Java à renseigner.
Par défaut, la signalisation intégrée de Geyser utilise du HTTP simple : Minecraft affiche alors à chaque nouveau joueur une invite « Trust on First Use? » lors de sa première connexion. GeyserMC recommande de servir la signalisation en HTTPS pour l'éviter (guide « HTTPS for NetherNet »).
Enregistrez, puis redémarrez le serveur (stop, puis relance) pour appliquer le port.
3. Installer Floodgate et régler auth-type
Pour accepter les joueurs Bedrock sans compte Java, suivez la documentation de Floodgate :
- Téléchargez le fichier Floodgate pour Spigot (
floodgate-spigot.jar) sur la même page de téléchargement et déposez-le dansplugins. - Redémarrez le serveur, puis tapez
pluginsdans la console : Floodgate et Geyser-Spigot doivent figurer dans la liste. - Dans
plugins/Geyser-Spigot/config.yml, sectionjava, ne changez que la valeur deauth-type(YAML veut des espaces, pas de tabulations) :
java:
auth-type: floodgate
- Redémarrez une seconde fois.
N'utilisez pas offline pour « laisser tout le monde entrer », ni online-mode=false sur un Paper autonome : n'importe qui pourrait se connecter sous n'importe quel pseudo. La FAQ de GeyserMC juge « unsupportable and dangerous », et contraire à l'EULA de Mojang, de faire rejoindre un serveur en mode hors ligne, sans authentification.
Au premier démarrage, Floodgate crée plugins/floodgate/key.pem, la clé qui permet aux comptes Bedrock de contourner l'authentification Java. Ne la distribuez à personne (ni Git, ni Discord) et gardez-en une copie privée. Avec les droits par défaut courants, elle est créée lisible par tous les utilisateurs de la machine (droits 644 lors de nos essais). Depuis le dossier du serveur, avec l'utilisateur qui lance Paper (sans sudo) :
chmod 600 plugins/floodgate/key.pem
ls -l plugins/floodgate/key.pem
La seconde commande doit afficher -rw-------.
Derrière un proxy (Velocity, BungeeCord), installez Geyser et Floodgate sur le proxy seulement. Si vos plugins ont besoin de l'API Floodgate, installez aussi Floodgate sur les serveurs situés derrière, copiez-y le key.pem du proxy et réglez send-floodgate-data sur true côté proxy. Par précaution générale, ne les exposez pas directement sur Internet.
4. Whitelist et pseudos préfixés
La whitelist. Quand white-list vaut true, seuls les joueurs inscrits se connectent, Java comme Bedrock. Sur un serveur créé en Paper 26.3, white-list vaut true par défaut (notes de version Mojang) ; sur un serveur plus ancien, vérifiez la valeur dans server.properties. Voir la whitelist Minecraft : /whitelist add inscrit un joueur Java.
Le préfixe. Par défaut, Floodgate ajoute un point devant le pseudo Bedrock (username-prefix: ".") : Alex devient .Alex, pour éviter la confusion avec un pseudo Java identique. GeyserMC recommande de le garder. Les espaces du pseudo deviennent des tirets bas.
Pour inscrire un joueur Bedrock, utilisez la commande de Floodgate, sans le préfixe.
/fwhitelist add <pseudo Bedrock>
Cette commande ne marche que si le joueur a déjà rejoint un serveur Geyser, quel qu'il soit. Sinon, GeyserMC propose : /whitelist off, le joueur se connecte une fois, /whitelist add ".Steve_1234", puis aussitôt /whitelist on. Pendant ce temps, tout le monde peut entrer : choisissez un moment où personne d'autre ne joue, puis contrôlez avec /whitelist list.
Pour les autres commandes, visez le nom complet, par exemple /tp ".Steve_1234".
5. Ouvrir le port en TCP et en UDP
Le port Bedrock doit être ouvert en TCP et en UDP. Selon GeyserMC, avant NetherNet, l'UDP suffisait ; désormais, les joueurs utilisent le TCP pour trouver le serveur et l'UDP pour y jouer : sans le TCP, le serveur n'apparaît pas. Java reste en TCP sur 25565. Dans les commandes ci-dessous, remplacez 19132 par la valeur de bedrock.port si vous l'avez changée.
Pare-feu du serveur
Avec ufw (Debian, Ubuntu), à partir des commandes de la documentation de Geyser :
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw allow 19132/tcp
sudo ufw allow 19132/udp
sudo ufw reload
sudo ufw status
La première garde SSH ouvert, les trois suivantes ouvrent Java (TCP) et Bedrock (TCP et UDP). Si ufw status indique que le pare-feu est inactif, il ne filtre rien : n'exécutez sudo ufw enable qu'après avoir autorisé SSH, sinon vous perdez l'accès au serveur distant. Avec firewalld, repérez d'abord la zone active et remplacez public par son nom si elle diffère :
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --permanent --add-port=25565/tcp --add-port=19132/tcp --add-port=19132/udp
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-ports
Sous Windows, dans PowerShell lancé en administrateur :
New-NetFirewallRule -DisplayName "Geyser Bedrock (TCP)" -Direction Inbound -Protocol TCP -LocalPort 19132 -Action Allow
New-NetFirewallRule -DisplayName "Geyser Bedrock (UDP)" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow
New-NetFirewallRule -DisplayName "Minecraft Java" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow
Get-NetFirewallRule -DisplayName "Geyser Bedrock (TCP)","Geyser Bedrock (UDP)","Minecraft Java"
N'éteignez jamais le pare-feu pour « tester » : n'ouvrez que les ports nécessaires, jamais RCON (25575 par défaut).
Serveur chez vous : la box
La box doit aussi transmettre le trafic entrant. Créez une règle de redirection de ports : protocole TCP et UDP (beaucoup de box proposent une option « TCP/UDP » ou « Both »), port externe 19132, port interne 19132. Visez l'adresse locale de la machine du serveur, et réservez-lui une adresse fixe : sinon la règle cassera au prochain changement. Redirigez aussi le TCP 25565 si des joueurs Java viennent de l'extérieur.
Avec le CGNAT (adresse IP partagée entre clients), ouvrir un port est impossible. GeyserMC propose alors le tunnel playit.gg, un service tiers par lequel passe tout le trafic de jeu.
Serveur chez un hébergeur ou dans un panel
- L'allocation du port. Sur un panel de type Pterodactyl, GeyserMC demande d'allouer le port au serveur (onglet Network). Si le panel ne le permet pas, demandez-le à votre hébergeur ou utilisez une allocation existante.
- Un port à part pour Geyser. Si Geyser utilisait le port du serveur Java (option
clone-remote-port, fréquente chez les hébergeurs), cela ne marche plus avec la signalisation intégrée : le TCP de ce port est déjà pris par Java. Demandez à votre hébergeur un port distinct, ouvert en TCP et en UDP. Vos joueurs devront alors changer le port enregistré dans leur serveur (blog de GeyserMC). - Le pare-feu du fournisseur. OVH, SoYouStart et Oracle Cloud filtrent les ports par défaut. Chez OVH et SoYouStart, les règles « Minecraft Bedrock » du pare-feu GAME ne prennent en charge que RakNet : GeyserMC conseille la règle « Other » pour le port de Geyser. Chez Oracle Cloud, créez deux règles d'entrée pour le port de Geyser, une en TCP et une en UDP.
- Docker. Le port Bedrock doit être publié en TCP et en UDP :
-p 19132:19132 -p 19132:19132/udpavecdocker run, et dans un fichier Compose :
ports:
- "25565:25565"
- "19132:19132"
- "19132:19132/udp"
Sans suffixe, Docker publie le port en TCP ; le suffixe /udp le publie en UDP. Docker contourne ufw pour les ports publiés : un port « fermé » dans ufw peut rester ouvert.
6. Connecter les joueurs selon l'appareil
Les joueurs Bedrock saisissent l'adresse de votre serveur Java et le port de Geyser, par exemple mon-serveur.example et 19132.
Mobile et Windows
Ajoutez un serveur externe en saisissant l'adresse et le port Bedrock. À la première connexion, un joueur qui passe par une adresse IP, ou par un nom de domaine sans HTTPS, voit l'invite « Trust on First Use? » (voir la section 2). Testez en données mobiles, comme le ferait un joueur extérieur. Si vous hébergez et jouez sur le même PC Windows, un correctif de bouclage (loopback fix) est nécessaire.
Xbox, Switch et PlayStation
Sur Xbox, Nintendo Switch et PlayStation, rejoindre un serveur par son IP n'est pas pris en charge, sauf avec un DNS personnalisé. Le jeu n'y propose pas de champ d'adresse. GeyserMC documente des contournements :
- BedrockConnect (programme tiers, non affilié à GeyserMC) pour Xbox One, Switch et PS4 : vous réglez le DNS de la console en manuel, avec un serveur BedrockConnect en primaire et un résolveur public en secondaire. La page de GeyserMC sur les consoles détaille les étapes.
- Un autre serveur BedrockConnect ou le GeyserConnect public si l'adresse principale est bloquée.
- Des applications qui simulent une partie en réseau local, comme MCCompanion.
Ces solutions reposent sur un service tiers. Avec la méthode DNS (BedrockConnect), il voit les noms de domaine résolus par la console. Notez le DNS actuel avant de le changer, et remettez-le en automatique si la console perd Internet.
Vérifier que tout fonctionne
geyser versionaffiche les plages de versions (Bedrock 26.40 à 26.60, Java 26.3), sans erreur au démarrage, ettransportvautnethernet.geyser connectiontest mon-serveur.example 19132(votre adresse publique et votre port, sans chevrons) teste la joignabilité depuis l'extérieur.- Testez vos adresses Java et Bedrock sur mcsrvstat.us (en mode Bedrock pour la seconde).
- Faites rejoindre un joueur Bedrock depuis l'extérieur et vérifiez son pseudo préfixé.
Limites à connaître
- Des différences de jeu subsistent. La page des limitations liste ce que Geyser ne corrige pas : liens cliquables dans le chat, effet de lueur, recettes personnalisées d'enclume et de table de forgeron, enchantements personnalisés, entre autres.
- Les serveurs moddés ne passent pas si le joueur doit installer des mods chez lui.
- Le chat. Bedrock ne gère pas la signature des messages de Java : si le serveur exige des profils sécurisés, les joueurs Bedrock ne peuvent plus écrire. GeyserMC indique comment désactiver ce réglage,
enforce-s






