Un proxy Velocity place plusieurs serveurs Minecraft derrière une seule adresse de connexion. Les joueurs entrent par le proxy, puis passent d’un serveur à l’autre sans quitter la partie ni retaper une adresse. Ce tutoriel couvre l’installation du proxy, la déclaration des serveurs, l’activation du transfert d’informations joueur et la fermeture des accès directs aux serveurs placés derrière lui.
Versions concernées : Velocity dans sa branche stable, annoncée compatible avec Minecraft Java 1.7.2 à 26.2 sur sa page de compatibilité serveur. La méthode décrite ici, appelée transfert moderne, exige Minecraft 1.13 ou supérieur côté client et Paper 1.13.2 ou supérieur côté serveur. Minecraft Java 26.2 est la version stable au 6 août 2026. Comptez environ une heure si vos deux serveurs fonctionnent déjà.
Ce qu’un proxy change dans un réseau Minecraft
Un proxy est un serveur intermédiaire : il accepte la connexion du joueur, puis relaie le trafic vers un serveur de jeu réel. Ces serveurs de jeu situés derrière le proxy sont appelés serveurs backend. Le proxy n’exécute aucun monde et ne remplace pas un serveur Minecraft : il aiguille les connexions.
Velocity est le proxy développé par le projet PaperMC. Concrètement, il permet de publier une seule adresse pour un réseau composé, par exemple, d’un serveur d’accueil et d’un serveur de survie, et d’autoriser le passage de l’un à l’autre en cours de session. Sans proxy, chaque serveur possède sa propre adresse et chaque changement impose une déconnexion complète.
Un point mérite d’être posé dès maintenant : mettre un proxy en place implique de désactiver l’authentification Mojang sur les serveurs backend. Cette désactivation est sans danger uniquement si ces serveurs deviennent inaccessibles depuis l’extérieur. La section consacrée à la fermeture des accès directs traite ce point, et elle n’est pas facultative.
Préparer Java, les ports et les sauvegardes
Velocity est écrit en Java et sa documentation d’installation indique Java 25 au minimum. Vérifiez la version installée sur la machine qui hébergera le proxy :
java -version
Côté serveurs, il vous faut au moins deux instances Paper en 1.13.2 ou supérieur, déjà fonctionnelles séparément. Si vos serveurs tournent encore en Vanilla, la conversion préalable est décrite dans notre tutoriel sur la migration d’un serveur Minecraft vers Paper.
Prévoyez ensuite l’attribution des ports. Velocity écoute par défaut sur le port TCP 25565, celui qu’utilisent habituellement les serveurs Minecraft Java. Sur une même machine, deux programmes ne peuvent pas écouter sur le même port : le proxy prend 25565, et chaque serveur backend doit être déplacé sur un autre port, par exemple 25566 et 25567, via la ligne server-port de son fichier server.properties. Si vos serveurs fonctionnent chez un hébergeur, les ports sont généralement imposés : reprenez ceux attribués à chaque instance dans un panel d’hébergement.
À copier avant toute modification, sur chaque serveur backend
server.propertiesspigot.ymlconfig/paper-global.yml
Ajoutez une sauvegarde complète des dossiers de mondes. Les trois fichiers ci-dessus sont ceux que la procédure modifie ; leur copie suffit à revenir à l’état initial sans réinstaller quoi que ce soit.
Installer et démarrer le proxy une première fois
Téléchargez Velocity depuis la page de téléchargement officielle de PaperMC en choisissant la dernière version stable, puis placez le fichier JAR dans un dossier vide et dédié au proxy. Ce dossier ne doit contenir aucun serveur de jeu.
Numéro de build : relevez-le sur la page de téléchargement au moment où vous l’installez plutôt que de reprendre un numéro lu ailleurs. Les versions de développement y côtoient les versions stables, et seule la branche stable est adaptée à un réseau en production.
Sous Windows
Créez un fichier start.bat dans le dossier du proxy, avec le contenu fourni par la documentation d’installation :
@echo off
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity.jar
pause
Renommez le fichier téléchargé en velocity.jar, ou remplacez ce nom dans le script par celui du fichier réel. Double-cliquez ensuite sur start.bat.
Sous Linux
Créez un fichier start.sh dans le dossier du proxy :
#!/bin/sh
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity*.jar
Rendez-le exécutable puis lancez-le depuis ce dossier :
chmod u+x start.sh
./start.sh
Dans les deux cas, la console doit afficher le démarrage du proxy et une ligne d’écoute proche de Listening on /0.0.0.0:25565, suivie de Done. Ce premier lancement crée deux éléments indispensables dans le dossier : le fichier de configuration velocity.toml et le fichier forwarding.secret, qui contient la clé partagée entre le proxy et vos serveurs. Tapez ensuite end dans la console pour arrêter proprement le proxy avant de le configurer.
Déclarer vos serveurs dans velocity.toml
Ouvrez velocity.toml dans un éditeur de texte et repérez la section [servers]. Chaque ligne associe un nom court, que vous choisissez, à l’adresse et au port du serveur backend correspondant. La liste try indique dans quel ordre le proxy tente de connecter un joueur qui vient d’arriver ou qui a été renvoyé d’un serveur.
[servers]
lobby = "127.0.0.1:25566"
survie = "127.0.0.1:25567"
try = [
"lobby",
"survie"
]
Utilisez 127.0.0.1 si le proxy et les serveurs sont sur la même machine, et l’adresse privée de chaque serveur sinon. Dans la même section de configuration, réglez le mode de transfert sur modern :
player-info-forwarding-mode = "modern"
Ce mode transmet aux serveurs backend l’identifiant unique, le pseudonyme, l’apparence et l’adresse réelle du joueur, dans un format signé par la clé forwarding.secret. Sans lui, tous les joueurs apparaîtraient comme connectés depuis l’adresse du proxy, sans apparence ni identifiant correct.
Accorder les serveurs Paper au proxy
Trois réglages sont à appliquer sur chaque serveur backend, serveur arrêté. Ils sont décrits sur la page officielle du transfert d’informations joueur.
Dans server.properties, passez online-mode à false. L’authentification auprès des serveurs Mojang est alors assurée par le proxy et non plus par le serveur de jeu.
Avertissement : un serveur en online-mode=false accepte n’importe quel pseudonyme si quelqu’un parvient à s’y connecter directement. Tant que la section suivante n’est pas appliquée, ne laissez pas ces serveurs joignables depuis Internet : n’importe qui pourrait se connecter sous l’identité d’un joueur autorisé, y compris un administrateur.
Dans spigot.yml, vérifiez que settings.bungeecord vaut false. Les deux modes de transfert ne peuvent pas coexister, et un ancien réglage laissé actif empêche le transfert moderne de fonctionner.
Dans config/paper-global.yml, renseignez enfin le bloc du proxy :
proxies:
velocity:
enabled: true
online-mode: true
secret: "collez-ici-le-contenu-de-forwarding.secret"
La valeur secret doit correspondre exactement au contenu du fichier forwarding.secret du proxy, et la valeur online-mode doit correspondre au réglage online-mode de velocity.toml. Redémarrez ensuite le serveur.
Paper 1.18.2 ou antérieur : ces trois options se trouvent dans paper.yml, sous settings.velocity-support.enabled, settings.velocity-support.secret et settings.velocity-support.online-mode.
Fermer les accès directs aux serveurs backend
La documentation officielle consacre une page entière à la sécurisation des serveurs placés derrière un proxy et recommande explicitement l’usage d’un pare-feu. Deux approches y sont détaillées, et le transfert moderne ne les remplace pas.
Si le proxy et les serveurs backend tournent sur la même machine, la méthode la plus simple consiste à restreindre l’écoute des serveurs à l’interface locale. Dans le server.properties de chaque serveur backend, renseignez :
server-ip=127.0.0.1
Les serveurs cessent alors d’accepter des connexions venues de l’extérieur, et seul le proxy, situé sur la même machine, peut les joindre. Vérifiez que les adresses de la section [servers] de velocity.toml pointent bien vers 127.0.0.1, sans quoi le proxy ne trouvera plus ses serveurs.
Si les serveurs sont répartis sur plusieurs machines, cette méthode ne s’applique pas : il faut alors filtrer les ports des serveurs backend au niveau du système, avec le pare-feu Windows ou avec iptables ou nftables sous Linux, de façon à n’autoriser que l’adresse du proxy. La documentation rappelle aussi de faire tourner les serveurs sous un compte non privilégié plutôt qu’en tant que root.
Contrôler le résultat et revenir en arrière
Démarrez d’abord les serveurs backend, puis le proxy. Connectez-vous ensuite avec le client Minecraft à l’adresse du proxy sur le port 25565. Vous devez arriver sur le serveur placé en tête de la liste try. Une fois en jeu, la commande intégrée de changement de serveur permet de vérifier le passage d’une instance à l’autre :
/server survie
Le changement doit être immédiat, sans écran de déconnexion. Vérifiez également que votre apparence et votre pseudonyme s’affichent correctement sur le serveur d’arrivée : c’est le signe que le transfert moderne fonctionne. Si l’un des points échoue, les causes les plus fréquentes sont les suivantes :
- Failed to bind to port dans la console du proxy : le port 25565 est encore occupé, le plus souvent par un serveur backend qui n’a pas été déplacé sur un autre port.
- Connexion refusée avec un message de clé invalide : la valeur
secretdepaper-global.ymlne correspond pas au contenu deforwarding.secret. - Déconnexion immédiate à l’entrée : le réglage
online-modedevelocity.tomlet celui du bloc proxy de Paper ne concordent pas. - Transfert moderne sans effet : le serveur backend est en Paper antérieur à 1.13.2, ou
settings.bungeecordest resté àtruedansspigot.yml. - Le proxy démarre mais aucun serveur n’est joignable : les adresses de
[servers]pointent vers un port ou une adresse que les serveurs n’écoutent plus depuis l’ajout deserver-ip.
Retour arrière : arrêtez le proxy, puis restaurez sur chaque serveur backend les copies de server.properties, spigot.yml et config/paper-global.yml réalisées avant de commencer. Cela remet online-mode à true, supprime la ligne server-ip et désactive le bloc proxy. Après redémarrage, chaque serveur redevient accessible directement sur son adresse d’origine.
Pour aller plus loin
- Téléchargement de Velocity — la page officielle du projet PaperMC, à consulter à chaque mise à jour du proxy.
- Transfert d’informations joueur — les trois modes existants et leur configuration selon la plateforme du serveur backend.
- Sécuriser les serveurs derrière un proxy — le détail des méthodes de filtrage, avec leurs avantages et leurs limites.
- Compatibilité des serveurs — les versions de Minecraft et les plateformes prises en charge, utile avant une mise à jour du réseau.
- Configurer Geyser et Floodgate pour le crossplay — l’étape suivante si vous souhaitez ouvrir votre réseau aux joueurs Bedrock.



