L'histoire de la création d'une version Java du serveur Minecraft avec GCP (et également de la création d'une liste blanche)

introduction

Ceci est un mémo lorsque j'ai construit la version Java du serveur Minecraft telle qu'elle est sur le serveur ubuntu que j'ai construit la dernière fois. Je n'écrirai pas sur le réglage Java, veuillez donc le vérifier séparément ┏ (<:)

La taille de la mémoire de AlwaysFree "f1-micro" est trop petite, je l'ai donc étendue à "n1-standard-1" à l'avance.

1. Créez une version Java du serveur Minecraft

1.1. Installation de Java

SSH dans le serveur et basculer vers l'utilisateur root.

su

Après vous être connecté en tant qu'utilisateur root, utilisez la commande mkdir pour créer un répertoire pour installer le serveur. Une fois créé, déplacez-le avec la commande cd.

mkdir /mcjava
cd /mcjava

Je pensais installer le serveur Minecraft, mais il ne semble pas avoir de Java, alors installons d'abord Java.

apt install default-jre

Lorsqu'on vous demande quelle est la capacité du disque, tapez y (oui). Ceci termine l'installation de Java.

1.2. Installation du serveur Minecraft

Vient ensuite l'installation du serveur Minecraft. Découvrez l'URL de téléchargement à l'avance. [MINECRAFT]https://www.minecraft.net/ja-jp/download/server/

javadl.png

Copiez le lien et téléchargez-le.

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

Après le téléchargement, démarrez le serveur une fois. Cela devrait se terminer par une erreur. root@mcapsv01_ _mcjava - Google Chrome 2020_03_24 1_06_51_2.png Il devrait y avoir un fichier texte appelé eula.txt dans le répertoire où vous avez téléchargé le serveur, alors ouvrez-le et modifiez le contenu. C'est un fichier qui vous demande si vous êtes d'accord ou non avec le CLUF (Termes de la Licence Utilisateur Final), donc si vous êtes d'accord, remplacez eula = false par eula = true. root@mcapsv01_ _mcjava - Google Chrome 2020_03_24 1_06_27_2.png

eula=true

Ceci termine l'installation. J'ai oublié. La version Java du serveur Minecraft utilise le port tcp / 25565 par défaut, alors ouvrez le port dans les paramètres de règle de pare-feu GCP. port2.png

1.3. Démarrage du serveur Minecraft

Accédez au répertoire créé et entrez la commande pour démarrer le serveur. Vous pouvez créer un utilisateur dédié pour démarrer le serveur, mais cette fois nous le démarrerons en tant qu'utilisateur root. Si le nom du fichier téléchargé est "server.jar", démarrez-le avec la commande suivante.

cd /mcjava
java -Xmx1024M -Xms1024M -jar server.jar nogui

Il va démarrer.

En passant, la version Java du serveur Minecraft démarre sur la machine virtuelle Java JVM, jusqu'à une quantité de mémoire prédéfinie. Par conséquent, le simple fait de regarder la charge sur le serveur ubuntu ne dit pas si Minecraft fonctionne bien. Si vous pensez que le nombre de personnes augmente et que vous manquez de mémoire, essayez d'augmenter le nombre de -Xmx et -Xms dans la commande de démarrage du serveur. Le réglage n'est pas abordé ici.

1.4. Connexion au serveur Minecraft

Puisqu'il s'agit de la même version que la version intégrée, l'explication est omise.

1.5. Arrêt du serveur Minecraft

Puisqu'il s'agit de la même version que la version intégrée, l'explication est omise.

1.6. Paramètres de la liste blanche

J'ai essayé de définir la liste blanche ensemble, mais les spécifications sont un peu différentes de la version intégrée, alors prenez-en note. Les noms de joueurs qui n'existent pas dans la version intégrée peuvent être librement ajoutés à la liste blanche, mais la version Java ne semble pas pouvoir le faire. Johniki Joestar2 n'a pas pu être inscrit comme ci-dessous. root@mcapsv01_ _mcjava - Google Chrome 2020_03_24 1_24_05_2.png J'ai donc décidé de modifier directement whitelist.json. root@mcapsv01_ _mcjava - Google Chrome 2020_03_24 2_02_04_2.png Il y a aussi d'autres pièges ici. Vous pouvez enregistrer whitelist.json dans la liste blanche intégrée si vous ne connaissez que le nom de l'utilisateur, mais uuid semble être un élément obligatoire dans la version Java. J'avais l'intention d'être une version intégrée, donc j'y ai été accro pendant environ 10 minutes. Vous pouvez voir uuid en regardant le journal côté serveur, mais il n'y a pas de journal des nouveaux utilisateurs qui se connecteront à partir de maintenant. Cependant, Mojang fournit une API Mojang pour rechercher des uuids.

[Mojang API] https://api.mojang.com/users/profiles/minecraft/JohnikiJoestar

{"id":"1f843a4609ae4715a3b062a522193fa0","name":"JohnikiJoestar"}

Maintenant que vous connaissez l'uuid de Joniki Joe Star, ajoutons-le à la liste blanche. Le format de whitelist.json est xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, modifiez donc un peu l'identifiant et modifiez le fichier.

[
  {
    "uuid": "1f843a46-09ae-4715-a3b0-62a522193fa0",
    "name": "JohnikiJoestar"
  }
]

Si vous avez modifié le fichier directement, rechargez la liste blanche.

whitelist reload

c'est tout. Droite? C'était facile, non? (J'en étais accro) start2.png

Recommended Posts

L'histoire de la création d'une version Java du serveur Minecraft avec GCP (et également de la création d'une liste blanche)
[Édition Java] Histoire de la sérialisation
Une histoire sur l'utilisation de l'API League Of Legends avec JAVA
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
L'histoire de la création d'un proxy inverse avec ProxyServlet
L'histoire de la création de DTO, semblable à Dao avec Java, SQLite
[Java] Découpez une partie de la chaîne de caractères avec Matcher et des expressions régulières
Histoire de créer une application de gestion de tâches avec Swing, Java
L'histoire du transfert d'un conteneur Docker vers le registre de packages GitHub et Docker Hub avec des actions GitHub
Une histoire remplie des bases de Spring Boot (résolu)
Représentez graphiquement les informations du capteur de Raspberry Pi en Java et vérifiez-les avec un navigateur Web
Créez un serveur Web simple avec la bibliothèque standard Java com.sun.net.httpserver
L'histoire du refactoring avec un assistant personnel pour la première fois dans une application Rails
Une histoire sur la connexion à un serveur CentOS 8 avec un ancien Ansible
Une histoire qui a eu du mal avec l'introduction de Web Apple Pay
La version d'Elasticsearch que vous utilisez est-elle compatible avec Java 11?
Je voulais écrire un processus équivalent à une instruction while avec l'API Java 8 Stream
Une collection de phrases qui impressionne le "sentiment différent" de Java et de JavaScript
Exprimons le résultat de l'analyse du code d'octet Java dans un diagramme de classes
[Java] Créez un fichier jar compressé et non compressé avec la commande jar
Comment savoir quelle version Java d'un fichier de classe a été compilée
<java> Fractionner l'adresse avant et après l'adresse avec une expression régulière
(Mémo) Obtenez un ensemble de jars de bibliothèque dépendants à l'aide de Gradle
L'histoire de l'écriture de Java dans Emacs
Envoyez des notifications à Slack avec la version gratuite de sentry (en utilisant lambda)
Une histoire confirmant l'implémentation de la bibliothèque Java SendGrid lorsque la livraison du courrier échoue
Valider le jeton d'ID d'un utilisateur authentifié par AWS Cognito en Java
Comment créer un serveur Jenkins avec un conteneur Docker sur CentOS 7 de VirtualBox et accéder au serveur Jenkins à partir d'un PC local
Vérifiez la version de JDK installée et la version de JDK activée
L'histoire de la comparaison de chaînes de bas niveau en Java
L'histoire de la fabrication d'un Othello ordinaire à Java
Une histoire sur le JDK à l'ère de Java 11
[Java] Réglez l'heure depuis le navigateur avec jsoup
[Java] Accéder à l'URL signée de s3 (version signée 2)
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
[Java] La partie déroutante de String et StringBuilder
Définir l'heure de LocalDateTime à une heure spécifique
J'ai comparé les caractéristiques de Java et .NET
Gérez la version de Ruby elle-même avec rbenv
Calculer le score de similarité des chaînes de caractères avec JAVA
Essayez Progate Free Edition [Java II]
Préparer un environnement de scraping avec Docker et Java
Configurer un serveur virtuel Cent OS avec Vagrant
Essayez Progate Free Edition [Java I]
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
[Jackson] Une histoire sur la conversion de la valeur de retour du type BigDecimal avec un sérialiseur personnalisé.
Ecrire un test en mettant en œuvre l'histoire de M. Nabeats dans le monde avec du rubis
Apprenez la signification de «transmettre le PATH» en créant un environnement de développement Java sur Mac
Comment définir une limite de relance pour sidekiq et notifier les files d'attente mortes avec Slack
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
Une histoire qui a résolu le problème que la version Java (jdk) était trop élevée pour utiliser la bibliothèque h2o dans R and R Studio.