Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Un serveur Minecraft PaperMC hébergé chez Clever Cloud
Pancasat profile imageFrederic Alix
Frederic Alix forPancasat

Posted on

     

Un serveur Minecraft PaperMC hébergé chez Clever Cloud

Présentation

Clever Cloud vous permet d'héberger vos applications web (nodejs, java, php, et plus) ainsi que vos bases de données (PostgreSQL, MySQL, Mongo, ...). Votre application doit obligatoirement écouter sur le port 8080 pour que Clever Cloud redirige son équilibreur de charge dessus et surveille l'état de votre application. Cela nous pose donc un problème, car un serveur Minecraft n'est pas un serveur HTTP. Nous allons voir comment contourner ce problème en utilisant un port TCP supplémentaire proposé par Clever Cloud et faire tourner un serveur HTTP dans notre application pour servir de relais sur la console d'une instance Minecraft.

Prérequis

Créer un répertoire pour préparer les fichiers à envoyer sur la plateforme Clever Cloud

cd /var/tmp/mkdir papermcexport PAPERMCDIR=/var/tmp/papermc
Enter fullscreen modeExit fullscreen mode

Télécharger PaperMC

wget https://api.papermc.io/v2/projects/paper/versions/1.19.3/builds/386/downloads/paper-1.19.3-386.jar -O paper.jar
Enter fullscreen modeExit fullscreen mode

Préparation de PaperMC avant le déploiement sur Clever Cloud

Lancement de PaperMC pour générer les répertoires du serveur

java -Xms2G -Xmx2G -jar paper.jar --nogui
Enter fullscreen modeExit fullscreen mode

Acceptation de la licence de Minecraft

Éditer le fichier eula.txt et modifier le paramètreeula=false eneula=true

Lancement de PaperMC pour générer le reste des répertoires et des fichiers du serveur

java -Xms2G -Xmx2G -jar paper.jar --nogui
Enter fullscreen modeExit fullscreen mode

Pour quitter la console du serveur, tapez la commandestop

Configuration du serveur

Éditer le fichierserver.properties et modifer les paramètres suivants:

...query.port=4040...server-port=4040
Enter fullscreen modeExit fullscreen mode

Maintenant, votre serveur Minecraft écoutera sur le port TCP 4040, qui est nécessaire pour utiliser la fonction TCP Transport proposée par Clever Cloud (lien)

Installation de la console web

Il est important de pouvoir administrer son instance Minecraft avec la console. Nous allons pouvoir utiliser ce plugin fantastique pour répondre à nos besoins :
WebConsole

Le plugin serveur

Allez dans le répertoire plugins de votre installation PaperMC et lancez la commande suivante :

cd pluginswget https://github.com/mesacarlos/WebConsole/releases/download/v2.5/WebConsole-2.5.jar
Enter fullscreen modeExit fullscreen mode

Lancez le serveur pour pouvoir générer le fichier de configuration et le modifier ensuite.

cd $PAPERMCDIRjava -Xms2G -Xmx2G -jar paper.jar --nogui
Enter fullscreen modeExit fullscreen mode

Une fois le serveur démarré, arrêtez-le avec la commandestop
Allez dans le répertoire d'installation du plugin

cd plugins/WebConsole
Enter fullscreen modeExit fullscreen mode

Editez le fichierconfig.yml et remplacez l'intégralité de son contenu par celui-ci:

useSSL: falseStoreType: JKSKeyStore: plugins/WebConsole/keystore.jksStorePassword: pasbesoinKeyPassword: pasbesoinhost: 127.0.0.1port: 8181language: frpasswords:  admin:    administrateur:      password: myserverpassword      commandWhitelist:        enabled: false        commandWhitelistActsAsBlacklist: false        whitelist:        - whisper        - gamemode survival  viewer: {}
Enter fullscreen modeExit fullscreen mode

Serveur web

Nous avons besoin d'un serveur HTTP pour distribuer l'interface web de la console web et qui doit également faire office de reverse-proxy sur le serveur websocket du plugin. Le plus simple est d'utiliser Caddy. Il est très simple à configurer et ne consomme pas beaucoup de mémoire. Commençons déjà par télécharger le front-end web.

cd $PAPERMCDIRmkdir htmlcd htmlwget https://github.com/mesacarlos/WebConsole/releases/download/v2.4/client-2.4.zipunzip client-2.4.ziprm client-2.4.zipcd ..
Enter fullscreen modeExit fullscreen mode

Nous allons ensuite télecharger le binaire du serveur http,Caddy

mkdir bincd binwget "https://caddyserver.com/api/download?os=linux&arch=amd64&idempotency=74870526505028" -O caddychmod a+x caddycd ..
Enter fullscreen modeExit fullscreen mode

À la racine de votre projet, créez le fichier Caddyfile et insérez-y les lignes suivantes:

{        http_port 8080}:8080 {        root * ./html/client        file_server        @websockets {                header Connection *Upgrade*                header Upgrade websocket        }        reverse_proxy @websockets localhost:8181}
Enter fullscreen modeExit fullscreen mode

Déploiement sur Clever Cloud

Création de l'application sur Clever Cloud

Nous allons utiliser clever-tools pour les prochaines opérations. Si ce programme n'est pas encore installé et configuré sur votre ordinateur, veuillez consulter la documentation officielle pour le faire :
clever tools

Toujours dans le répertoire où vous avez configuré PaperMC, lancez les commandes suivantes pour créer et configurer l'application sur Clever Cloud :

cd $PAPERMCDIRclever loginclever create MineCraft --type jar --org <ID_DE_VOTRE_ORGA> --region parclever config update --enable-force-httpsclever scale --alias MineCraft --flavor Mclever addon create fs-bucket Minecraft-Data --link MineCraft --plan s --yesclever tcp-redirs add --namespace cleverapps --alias MineCraftclever env set CC_JAVA_VERSION 17clever env set CC_JAR_PATH "./"clever env set CC_RUN_COMMAND "java -Xms3G -Xmx3G -jar paper.jar --nogui --world-dir ./worlds-data"clever env set CC_PRE_RUN_HOOK "nohup ./bin/caddy run --config Caddyfile &"clever env set CC_FS_BUCKET "/worlds-data:`clever env | awk -F = '/BUCKET_HOST/ { print $2}'|sed 's/"//g'`"
Enter fullscreen modeExit fullscreen mode

Note: après avoir validé la commande "clever tcp-redirs add --namespace Cleverapps --alias MineCraft", clever-tools affichera un message "Successfully added tcp redirection on port : xxxxx". Notez bien ce port, car vous en aurez besoin pour vous connecter au serveur Minecraft depuis votre client.

Déploiement

Pour déployer l'application Minecraft Server, nous allons utiliser git. Cependant, il est hors de question d'utiliser cette technique pour envoyer les fichiers de vos mondes. Comme une application sur Clever Cloud est immutable, nous devrons envoyer les données des mondes sur le FS Bucket afin de retrouver l'état d'avancement du jeu au prochain lancement du serveur. Nous allons nous connecter au FS Bucket via FTP afin d'y envoyer nos fichiers mondes. Pour trouver les informations de connexion au serveur FTP de votre FS Bucket, allez sur la console web de Clever Cloud:

Image description

J'utilise FileZilla pour envoyer mes fichiers via FTP sur le FS Bucket:

Image description

Une fois le transfert terminé, tapez les commandes suivantes pour déployer l'application sur Clever Cloud:

cd $PAPERMCDIRrm -rf world*git initgit add *git commit -m "Premier deploiement"clever deploy
Enter fullscreen modeExit fullscreen mode

Quelques minutes plus tard, votre serveur sera fin prêt.

Jouons un peu !

Accéder à la WebConsole

Il suffit de se connecter directement à l'URL de votre application Clever Cloud.
Pour trouver l'URL, allez sur la console de Clever Cloud et cliquez sur le lien suivant:

Image description

Vous voilà sur l'interface client de la WebConsole.
Créez une nouvelle connection:

Image description

Le serveur vous demandera un mot de passe que nous avons renseigné dans le fichier de configuration du plugin. Dans notre cas, c'estmyserverpassword

Image description

Vous voilà maintenant connecté à la console de votre instance.

Image description

Se connecter avec le jeu Minecraft

Vous aurez besoin du port TCP fourni par clever-tools. Si vous ne l'avez pas noté, vous pouvez le retrouver dans la console de Clever Cloud.:

Image description

Lancez le programme Minecraft sur votre machine et sélectionnez l'option de Multiplayers / Direct Connection

Image description

Entrez le nom de votre serveur Clever Cloud ainsi que le port TCP.
Exemple:

Image description

Après quelques secondes, il ne vous reste plus qu'a jouer !

Image description

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Trending onDEV CommunityHot

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp