Script de serveur Minecraft (exécutez le serveur minecraft en tant que démon dans Arch) / Multimédia et jeux / Arch Linux Forums – Resoudre les problemes d’un serveur MineCraft
Bonjour à tous, je viens juste de terminer l’édition et la configuration d’un script permettant d’exécuter un serveur Minecraft au démarrage d’Arch. Ceci est basé sur le script original sur le wiki de minecraft ici. Je l'ai modifiée pour pouvoir la placer dans votre dossier /etc/rc.d/ avec le nom "minecraft" (/etc/rc.d/minecraft).
Cela nécessite un utilisateur "minecraft" avec le répertoire personnel / home / minecraft pour fonctionner par défaut.
J'ai décidé de lancer le serveur entièrement en RAM. Je stocke donc tous mes fichiers dans / home / minecraft / backup lorsque le serveur est hors ligne. Quand il démarre, il crée un fichier tmpfs dans / home / minecraft / minecraft et copie tous les fichiers qui s’y trouvent. Il effectue une sauvegarde horaire en utilisant /etc/rc.d/backup stocké dans / home / minecraft / onlinebackup, en effaçant d’abord la sauvegarde actuelle et en en créant une nouvelle. C'est simplement pour économiser de l'espace. En cas de plantage sans arrêt correct du démon, vous aurez une sauvegarde de votre redémarrage précédent (ou de votre serveur Minecraft) dans / home / minecraft / backup et une sauvegarde de l'heure précédente dans / home / minecraft / onlinebackup. Je pense que cela devrait suffire. Vous pouvez sauvegarder manuellement à tout moment en redémarrant le démon.
Tous les chemins peuvent être modifiés. Vous pouvez exécuter ce jeu sous votre utilisateur normal si vous le souhaitez, il suffit de modifier la section Paramètres en haut du fichier. Il peut être nécessaire d’augmenter la quantité de mémoire RAM du serveur et des fichiers tmpfs, en fonction de la taille de vos fichiers (les miens sont minuscules et je n’ai pas entendu parler de plus de 48 Mo pour un monde de jeu, mais on ne sait jamais). Vérifiez simplement df -h de temps en temps pour vous assurer que vos fichiers tmpfs disposent de suffisamment d'espace ou augmentez simplement la taille maximale allouée dès le début. Si vous avez peu de RAM, vous pouvez toujours changer le script pour ne plus utiliser tmpfs.
Si quelqu'un veut, il suffit de demander et je peux mettre en place une version sans tmpfs (devrait être assez facile à supprimer vous-même, mais si vous n'êtes pas sûr que je le ferai pour vous)
Tout ce dont vous avez besoin pour commencer (si vous démarrez votre serveur pour la première fois, en utilisant le script tel quel), c'est l'utilisateur minecraft créé, avec les dossiers backup, onlinebackup et minecraft dans le dossier / home / minecraft, votre fichier minecraft_server.jar. dans / home / minecraft / backup et votre fichier oninebackup dans / home / minecraft / backup.
REMARQUE: le fichier onlinebackup est exécuté à partir de / home / minecraft / minecraft de sorte que, si votre système se bloque, le travail périodique d'exécution des sauvegardes échoue car le lien pointe vers un fichier non existant jusqu'au redémarrage du serveur.
Vous pouvez utiliser ces commandes avec le serveur: /etc/rc.d/minecraft stop
Le système de sauvegarde est conçu pour effacer toutes les sauvegardes des sessions précédentes lors du démarrage du serveur. Par conséquent, ne le configurez pas pour démarrer le serveur au démarrage.
/etc/rc.d/minecraft
#! / bin / bash
# /etc/rc.d/minecraft
. /etc/rc.conf
. /etc/rc.d/functions
Ligne de commentaire ci-dessous si vous utilisez Sun JRE
#. / etc / profile
#Réglages
SERVICE = 'minecraft_server.jar'
USERNAME = "minecraft"
MCPATH = '/ home / minecraft / minecraft'
MCOFFLINEPATH = '/ home / minecraft / backup'
INVOCATION = 'java -Xmx768M -Xms768M -jar minecraft_server.jar nogui'
BACKUPPATH = '/ home / minecraft / onlinebackup'
ME = `whoami`
as_user ()
si [ "$ME" == "$USERNAME" ] ; puis
bash -c "$ 1"
autre
su -c - $ USERNAME "$ 1"
Fi
mc_start () grep -v grep
mc_saveoff () grep $ SERVICE> / dev / null
puis
echo "$ SERVICE est en cours d'exécution ... suspension des sauvegardes."
as_user "screen -p 0 -S minecraft -X eval 'stuff " dit Servers Backup Start. Serveur en lecture seule ... " 015 '"
as_user "screen -p 0 -S minecraft -X eval 'stuff " save-off " 015'"
as_user "écran -p 0 -S minecraft -X eval 'stuff " enregistrer-tout " 015'"
synchroniser
dormir 10
autre
echo "$ SERVICE n'était pas en cours d'exécution. Ne pas suspendre les sauvegardes."
Fi
mc_saveon ()
si ps ax
mc_stop () grep -v grep
mc_update () grep -v -i ECRAN
mc_backup ()
echo "Sauvegarde du monde Minecraft"
si [ -d $BACKUPPATH/world_`date "+%m.%d.%Y"` ]
puis
pour i in 1 2 3 4 5 6
faire
si [ -d $BACKUPPATH/world_`date "+%m.%d.%Y"`-$i ]
puis
continuer
autre
as_user "cd $ MCPATH && cp -r monde $ BACKUPPATH / world_`date" +% m.% d.% Y "` - $ i "
Pause
Fi
terminé
autre
as_user "cd $ MCPATH && cp -r monde $ BACKUPPATH / world_`date" +% m.% d.% Y "` "
echo "Monde sauvegardé"
Fi
echo "Sauvegarde de l'exécutable du serveur minecraft"
si [ -f "$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`.jar" ]
puis
pour i in 1 2 3 4 5 6
faire
si [ -f "$BACKUPPATH/minecraft_server_`date "+%m.%d.%Y"`-$i.jar" ]
puis
continuer
autre
as_user "cd $ MCPATH && cp minecraft_server.jar " $ BACKUPPATH / minecraft_server_`date "+% m.% d.% Y" `- $ i.jar " "
Pause
Fi
terminé
autre
as_user "cd $ MCPATH && cp minecraft_server.jar " $ BACKUPPATH / minecraft_server_`date "+% m.% d.% Y" `.jar " "
Fi
echo "Sauvegarde terminée"
# Start-Stop here
case "$ 1" dans
début)
mc_start
;;
Arrêtez)
mc_stop
;;
redémarrer)
mc_stop
mc_start
;;
mettre à jour)
mc_stop
mc_backup
mc_update
mc_start
;;
sauvegarde)
mc_saveoff
mc_backup
mc_saveon
;;
statut)
si ps ax | grep -v grep | grep -v -i ECRAN | grep $ SERVICE> / dev / null
puis
echo "$ SERVICE est en cours d'exécution."
autre
echo "$ SERVICE n'est pas en cours d'exécution."
Fi
;;
*)
echo "Utilisation: /etc/rc.d/minecraft backup "
sortie 1
;;
esac
sortie 0
/ home / minecraft / sauvegarde / sauvegarde en ligne
#! / bin / bash
# / home / minecraft / backup / onlinebackup
rm -rf / home / minecraft / onlinebackup / *
/etc/rc.d/minecraft backup
METTRE À JOUR:
rationalOgre a créé un autre script avec un système de sauvegarde différent, qui conservera indéfiniment les copies compressées de votre monde, ainsi qu'une fonction de mise à jour fonctionnelle. https://bbs.archlinux.org/viewtopic.php… 97 # p944797
Dernière édition par PIMPinator (2011-06-08 14:00:54)
Commentaires
Laisser un commentaire