Avec les informations supplémentaires fournies par les commentaires, je pense pouvoir vous fournir une solution à votre problème.
-
Arrêtez et désactivez votre serveur Minecraft, et nettoyez les fichiers de configuration, s'il est configuré pour démarrer au démarrage. (Je suppose que vous avez suivi le tutoriel jusqu'au bout). Vous pouvez le faire en utilisant les commandes suivantes.
sudo systemctl stop minecraftserver
sudo systemctl disable minecraftserver
sudo rm /lib/systemd/system/minecraftserver.service
sudo systemctl daemon-reload
-
Sauvegardez vos données mondiales, car nous allons purger le serveur non fonctionnel.
Dans votre configuration, les données mondiales se trouvent dans trois dossiers : /home/pi/world
, /home/pi/world_nether
y /home/pi/world_the_end
.
cd /home/pi
mkdir mc_world_backup
cp -r world world_nether world_the_end mc_world_backup/
-
Maintenant que votre sauvegarde est en sécurité, vous devez nettoyer (déplacer ou supprimer) les restes de l'ancien serveur. En fonction de votre capture d'écran c'est la liste des fichiers et des dossiers qui doivent être nettoyés.
-
logs/
-
plugins/
-
world/
-
world_nether/
-
world_the_end/
-
banned-ips.json
-
banned-players.json
-
bukkit.yml
-
commands.yml
-
eula.txt
-
help.yml
-
ops.json
-
permissions.yml
-
server.properties
-
spigot.yml
-
usercache.json
-
whitelist.json
Note : Vous ne devez pas supprimer le minecraft
dossier.
Si vous voulez supprimer ces fichiers, vous pouvez utiliser la commande suivante :
rm -rf logs/ plugins/ world/ world_nether/ world_the_end/ banned-ips.json banned-players.json bukkit.yml commands.yml eula.txt help.yml ops.json permissions.yml server.properties spigot.yml usercache.json whitelist.json
-
Créez un nouveau répertoire et placez l'exécutable du serveur et un fichier eula.txt dans ce dossier. Ce sera le répertoire du serveur à partir de maintenant.
mkdir mcserver
cd mcserver
cp /home/pi/minecraft/spigot-1.15.2.jar .
echo "eula=true" > eula.txt
-
Créez un script d'exécution et démarrez votre serveur depuis le terminal.
echo "java -Xms512M -Xmx1008M -jar spigot-1.15.2.jar nogui" > run.sh
chmod 755 run.sh
./run.sh
Note : Ce n'est pas la commande la plus optimisée pour démarrer votre serveur, mais cela fonctionnera. Si vous voulez faire fonctionner votre serveur de la manière la plus optimale, vous devriez copier et coller cette commande dans votre fichier run.sh
fichier
java -Xms512M -Xmx1008M -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35 -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -Dusing.aikars.flags=mcflags.emc.gs -jar spigot-1.15.2.jar nogui
-
Testez votre serveur. Connectez-vous-y, et voyez s'il se charge correctement. Si tout fonctionne bien, arrêtez votre serveur en saisissant stop
et passez à l'étape suivante.
-
Importez vos sauvegardes du monde. Supprimez les dossiers fraîchement générés world
, world_nether
y world_the_end
et remplacez-les par vos dossiers, que nous avons sauvegardés à l'étape 2.
rm world world_nether world_the_end
cp -r ../mc_world_backup/* .
-
Modifiez le fichier server.properties comme vous le souhaitez.
-
Testez à nouveau vos résultats. Si vous avez tout fait correctement, à ce stade, vous devriez avoir un serveur Minecraft parfaitement fonctionnel avec vos anciennes cartes.
Maintenant, si vous voulez démarrer votre serveur, vous devez vous connecter dans le répertoire mcserver
et démarrez votre serveur avec le fichier ./run.sh
commandement.
cd /home/pi/mcserver
./run.sh
En option, vous pouvez configurer Linux pour qu'il démarre automatiquement le serveur pour vous au démarrage. (Basé sur le tutoriel que vous avez lié, avec des changements mineurs)
Créer et ouvrir /lib/systemd/system/minecraftserver.service
avec un éditeur de texte. Vous pouvez utiliser nano pour cela, car il est préinstallé.
sudo nano /lib/systemd/system/minecraftserver.service
Saisissez le texte suivant dans l'éditeur.
[Unit]
Description=Minecraft Spigot Server
[Service]
User=pi
Group=pi
Restart=on-abort
WorkingDirectory=/home/pi/mcserver/
ExecStart=/usr/bin/env bash run.sh
[Install]
WantedBy=multi-user.target
Enregistrez ce fichier en utilisant le raccourci clavier Ctrl + X, puis appuyez sur les touches y et Enter lorsque vous y êtes invité.
Maintenant vous devez activer et démarrer votre serveur.
sudo systemctl enable minecraftserver
sudo systemctl start minecraftserver
Et voilà ! Votre serveur Minecraft devrait démarrer avec votre Raspberry Pi.
Dépannage
Vous pouvez vérifier l'état de votre serveur à l'aide de la commande suivante, pour voir s'il est en cours d'exécution et pour consulter les dernières lignes du journal.
sudo systemctl status minecraftserver
Le Raspberry Pi n'étant pas très puissant, votre serveur peut mettre un certain temps à démarrer. Si vous ne pouvez pas vous y connecter après un redémarrage, vérifiez l'état et laissez-lui jusqu'à 15 minutes pour démarrer complètement.
Les journaux de votre serveur seront enregistrés dans /home/pi/mcserver/logs
dossier. Vous y trouverez tous les messages d'erreur émis par votre serveur, et vous pourrez poser une question distincte à leur sujet.
Si vous êtes sur un réseau local, entre les redémarrages, l'IP de votre appareil peut avoir changé, si vous ne pouvez pas vous connecter avec des messages d'erreur "inaccessible", vous pouvez vérifier l'IP de votre Pi avec :
sudo hostname -I
0 votes
J'ai créé une image docker, suivi le guide, et obtenu les résultats attendus. Le guide est bien. Le répertoire de travail de votre serveur Minecraft est mal configuré, car les fichiers qu'un serveur normal devrait générer ne sont pas là. Cela peut également être dû au fait que votre serveur Minecraft n'a pas la permission d'écrire dans ce dossier.
0 votes
J'ai pensé que cela pouvait être le problème, car les fichiers semblent placés de façon étrange. Cela n'avait pas de sens pour moi que le fichier server.properties soit dans le dossier général de Minecraft, et non dans un dossier pour le serveur. Mais connaissez-vous un moyen de résoudre ce problème ? Devrais-je réorganiser les fichiers pour qu'ils soient corrects ? Ou y a-t-il un moyen pour que je puisse copier toutes les données de ce monde et refaire le tutoriel, et apporter les données de l'ancien serveur dans le nouveau ? Je ne pense pas que mes amis voudront recommencer...
0 votes
Avez-vous réussi à trouver le répertoire de travail actuel du serveur ? Si c'est le cas, vous devez déplacer les fichiers (dossiers monde, fichiers de configuration, exécutable du serveur) dans un seul dossier, et faire de ce dossier le répertoire de travail, et cela devrait fonctionner correctement. Si vous n'avez pas trouvé vos dossiers de sauvegarde du monde, vous pouvez essayer d'utiliser la commande find. Par exemple :
find / -name world* -type d
devrait lister tous les dossiers dont le nom commence par "world".0 votes
Pour mémoire, ces fichiers ont été générés après avoir suivi le tutoriel et fait fonctionner le serveur pendant une minute : imgur.com/sfM0jau
0 votes
Ok, j'ai fait quelques recherches, et d'une manière ou d'une autre, un tas de fichiers sont dans mon répertoire /home/pi. (Je ne sais pas comment ils sont arrivés là ou comment j'ai cherché). Devrais-je les déplacer dans le dossier /home/pi/Minecraft ? drive.google.com/file/d/1wuFvVeE9XHhnZMDjQ6ETr3BUm_PQj2oY Je ne suis toujours pas sûr du dossier "monde" qui stocke les données, car 5 options différentes s'affichent... Je pense que c'est celui-ci... drive.google.com/file/d/1qI94XaiJ5X_y92YxRhB6WWmJ25cIbEJT/ Merci de m'avoir aidé.
0 votes
Je ne me suis jamais connecté au serveur sur ma capture d'écran, mais les dossiers du monde ne sont générés qu'après l'arrivée d'un joueur. Voici donc une capture d'écran mise à jour : imgur.com/a/eAm0ab8 Bukkit, Spigot, Paper (et leurs dérivés) stockent les trois dimensions dans trois dossiers distincts, contrairement au serveur vanille. Vous avez besoin des trois dossiers de monde. Le problème, qui fait que les fichiers de votre serveur sont au mauvais endroit, peut se trouver dans votre fichier de service. À la fin du tutoriel, vous devez configurer un fichier
minecraftserver.service
fichier. Là, vous devez vérifier l'option WorkingDirectory et sa valeur.0 votes
Si vous déplacez ces fichiers, mais que vous ne changez pas le répertoire de travail, les fichiers se régénéreront dans votre répertoire d'origine, et le problème sera encore plus complexe. Vérifiez d'abord l'option que j'ai mentionnée ci-dessus, afin qu'elle pointe vers votre dossier /home/pi/Minecraft, rechargez puis redémarrez votre serveur, et vérifiez si les fichiers ont été générés dans le bon dossier. Après cela, vous pouvez remplacer les fichiers fraîchement générés avec ceux qui existent déjà, et vous devriez avoir terminé. Si ce n'est pas le cas, faites-le moi savoir, et nous trouverons une solution.
0 votes
Merci, mais comment faire pour changer l'endroit où il génère les fichiers ? J'ai regardé dans /home/pi/Minecraft/BuildTools.log.txt , et il y avait une ligne qui disait "Current Path : /home/pi/Minecraft/." (J'ai changé ce chemin en /home/pi/Minecraft , mais je ne pense pas que c'était la bonne décision, car maintenant, lorsque je démarre mon serveur, je ne peux même pas m'y connecter. Je l'ai changé à nouveau, mais je ne peux toujours pas me connecter. Le pi ne semble pas avoir d'erreur au démarrage du serveur. Je suis vraiment désolé, je ne suis pas le plus intelligent avec ce genre de choses.
0 votes
Cependant, le dossier du monde que j'ai trouvé est-il le bon dossier où toutes les données du monde sont stockées ? Je veux être en mesure de le sauvegarder au cas où j'aurais vraiment tout gâché. J'ai découvert qu'un dossier "monde" provenait de l'édition pi de Minecraft. Trois des dossiers ont des fichiers très similaires, tous étiquetés avec "event" à la fin, donc je pense que ces dossiers de monde ne sauvegardent pas les données du monde en eux. Cependant, le dossier qui, je crois, a sauvegardé les données ne dit rien au sujet des morceaux ou d'autres dimensions... Merci beaucoup pour votre aide, désolé d'avoir très peu de connaissances sur ce sujet.