Serveur minecraft

mcontrol.sh – Contrôle de serveur Minecraft, sauvegarde et plus encore … [Natenoms Wiki] – Resoudre les problemes d’un serveur MineCraft

Par Titanfall , le 4 mai 2019 - 7 minutes de lecture


Ce script de shell vous permet de contrôler, démarrer, arrêter, redémarrer, créer des sauvegardes (incrémentielles), envoyer des commandes au serveur, etc., à un ou plusieurs serveurs Minecraft.

Il est également possible d'exécuter plusieurs serveurs indépendants sous le même compte d'utilisateur, car les paramètres et les sessions d'écran sont basés sur le serveur Minecraft et non sur l'utilisateur.

Nous utilisons ce script pour nos serveurs Minecraft.

La version de test actuelle (maître) prend en charge tmux 🙂 Cependant, il n’existe toujours pas de moyen approprié d’obtenir le PID du serveur – tmux n’aide pas ici, car il ne semble y avoir qu’un seul processus dans la liste de la première session. … (?) De plus, le traitement de tmux et de la liste de processus est légèrement différent de celui affiché à l’écran. La prochaine fois, je ferai aussi ma propre branche pour cela 🙂

Vous devez donc utiliser tmux au plus une fois par utilisateur, sinon il y a des problèmes. Avec l'écran, tout se passe comme d'habitude.

Ce script est basé sur Server_startup_script version 0.3.2 2011-01-27; mais a maintenant pas beaucoup en commun.
Je l'ai beaucoup révisé, rationalisé et adapté à mes propres besoins. Par exemple, l'original était incapable de gérer plusieurs serveurs et était plutôt effrayant; au lieu de z. Par exemple, pour utiliser des fonctions, le même code a été écrit plusieurs fois.

Licence
Comme l'original, ce script dérivé est sous la licence "CC Attribution-NonCommercial-ShareAlike 3.0 Unported".

Commandes de mcontrol.sh

commencer | arrêter | redémarrer

Si le serveur Minecraft cesse de répondre au redémarrage / à l’arrêt, kill garantit toujours qu’il sera arrêté.

Exemple:

mcontrol.sh / etc / minecraft-server / mcuser1 / server2 restart
craftbukkit-1.1-R4-SNAPSHOT.jar est en cours d'exécution ... en cours d'arrêt.
craftbukkit-1.1-R4-SNAPSHOT.jar n'est pas en cours d'exécution ... à partir.
craftbukkit-1.1-R4-SNAPSHOT.jar est maintenant en cours d'exécution.

Chaque serveur est démarré dans une session d'écran distincte appartenant à l'utilisateur respectif. Néanmoins, le script peut également être exécuté en tant que root.

restartandsync

Utile si le serveur tourne sur un disque virtuel. afin que vous puissiez le synchroniser avec le redémarrage quotidien directement depuis le disque Ramdisk sur le disque dur du serveur.

Exemple:

mcontrol.sh / etc / minecraft-server / mcuser1 / server2 restartandsync
craftbukkit.jar est en cours d'exécution ... en cours d'arrêt.
Le serveur est toujours en cours d'exécution, ce qui donne 20 secondes pour arrêter. Attendre ...
Le serveur a réussi à s'arrêter proprement.
Votre serveur utilise un disque mémoire, n'oubliez pas de faire un ramd-to -s avant la fermeture complète du serveur ...
Démarrer rsync, du disque virtuel au disque ...
rsync -a --delete "/ home / minecraft / mcuser1 / server2 /" "/ home / minecraft / mcuser1 / server2_prerun"
craftbukkit.jar n'est pas en cours d'exécution ... à partir.
craftbukkit.jar est maintenant en cours d'exécution.

statut

Indique si le serveur est en cours d'exécution ou non.

Exemple:

statut mcontrol.sh / etc / minecraft-server / mcuser1 / server2
craftbukkit-1.1-R4-SNAPSHOT.jar est en cours d'exécution.

sendCommand | sc | c

Envoyer des commandes à un serveur, par exemple. Par exemple, ou des choses administratives

Exemple:

mcontrol.sh / etc / minecraft-server / mcuser1 / server2 sc "dites bonjour"

sauvegarde

Pour plus d'informations, voir Sauvegardes incrémentielles dans mcontrol.

L'utilisation de BACKUPSYSTEM = rdiff garantit également le respect du quota; cela peut être stocké dans la configuration de chaque serveur (BACKUP_QUOTA_MiB).

Voici la sortie sur la console lorsque vous appelez la sauvegarde à l'aide de rdiff-backup:

mcuser @ server: ~ $ sauvegarde mcontrol.sh / etc / minecraft-server / mcuser1 / server2
craftbukkit-1.1-R4-SNAPSHOT.jar est en cours d'exécution ... suspension des sauvegardes
Sauvegarde de mc-server-mcuser1-server2.
La taille totale de la sauvegarde (2051 Mio) correspond à un quota inférieur ou égal (5 000 Mio).
craftbukkit-1.1-R4-SNAPSHOT.jar est en cours d'exécution ... réactiver les sauvegardes

s-to-RAMD

Disque Sync-to-RAM. Synchronise le contenu de SERVERDIR_PRERUN sur SERVERDIR.

Ne fonctionne que si le serveur est éteint.

s-from-RAMD

Disque de synchronisation à partir de la RAM. Synchronise le contenu de SERVERDIR sur SERVERDIR_PRERUN.

Ne fonctionne que si le serveur est éteint.

lister les sauvegardes

Fonctionne uniquement avec BACKUPSYSTEM = rdiff.

Affiche une liste des sauvegardes incrémentielles du serveur.

Exemple:

mcuser @ server: ~ $ sauvegarde mcontrol.sh / etc / minecraft-server / mcuser1 / server2
Sauvegardes pour le serveur "server2"
230 incréments trouvés:
increments.2012-02-18T23: 00: 12 + 01: 00.dir sam. fév. 18 23:00:12 2012
increments.2012-02-18T23: 30: 13 + 01: 00.dir sam. févr. 18 23:30:13 2012
increments.2012-02-19T00: 00: 12 + 01: 00.dir dim. févr. 19 00:00:12 2012
increments.2012-02-19T00: 30: 15 + 01: 00.dir dim. févr. 19 00:30:15 2012
increments.2012-02-19T01: 00: 15 + 01: 00.dir Dim Février 19 01:00:15 2012
...

Miroir actuel: jeu. 23 févr. 16:30:11 2012
Heure Taille Taille cumulée
-------------------------------------------------- ---------------------------
Jeu. Févr 23 16:30:11 2012 379 Mo 379 Mo (miroir actuel)
Jeu. Févr 23 16:00:12 2012 16.5 MB 396 MB
Jeu. 23 févr. 15:39:46 2012 4.29 MB 400 MB
Jeu. 23 févr. 15:30:12 2012 2.37 MB 402 MB
...

loterie

Un plugin propre à ce type de loterie est disponible sous MinecraftLottery.

L'utilisateur obtient un nombre aléatoire x d'un objet y.

Les listes d’identités nécessaires sont déjà incluses dans le téléchargement:

Exemple:

mcontrol.sh / etc / minecraft-server / mcuser1 / server2 lottery votrenom
Nom: votrenom
Nombre: 6
Nom (ID): GRAINES (295)
Terminé.

pid

Vous obtenez le PID (ID de processus) du serveur.

Exemple:

statut mcontrol.sh / etc / minecraft-server / mcuser1 / server2
96821

-déboguer

Ce doit toujours être le dernier argument. il active le traçage du shell (set -x).

Exemple:

mcontrol.sh / etc / minecraft-server / mcuser / server2 status -debug
+ ps aux
+ grep & mc-server-mcuser1-server2 & # 39;
+ ecran grep
+ grep -v grep
+ retour 0
+ echo & craftbukkit.jar est en cours d'exécution. & # 39;
craftbukkit.jar est en cours d'exécution.
+ sortie 0

Paramètres de mcontrol.sh

Fichier de configuration par serveur

Où se trouve ce fichier importe peu au début; cependant, l'utilisateur ne devrait pas y avoir accès en écriture, il ne peut donc pas construire de la merde, par exemple. Par exemple, ajoutez davantage de répertoires de sauvegarde pour charger le disque, augmentez BackupQuota, etc.

Par exemple, pour ce qui précède mcuser1 et son serveur2 le fichier / etc / minecraft-server / mcuser1 / server2:

Voir https://github.com/Natenom/mcontrol/blob/master/server2.cfg.

Sauvegarde et restauration (système de sauvegarde incrémentielle)

Exécuter le serveur dans Ramdisk (tmpfs)

Tant qu'un certain fichier existe, le serveur ne démarre pas

Le nom du fichier est réglable dans la configuration par serveur.

La variable est DONT_START.

L'existence du fichier est vérifiée uniquement avec la fonction mc_start ().

Aidez-moi

Lorsque vous appelez sans plus d'informations:

Utilisation: mcontrol.sh SETTINGS_FILE COMMAND [ARGUMENT]

COMMANDES
démarrez le serveur.
Arrête le serveur.
redémarrer Redémarrez le serveur.
restartandsync Redémarrez le serveur et effectuez une synchronisation d'un disque à l'autre après l'arrêt et avant le démarrage du serveur.
sauvegarde sauvegarde le serveur.
s-to-ramd Synchroniser le contenu du serveur de SERVERDIR_PRERUN ("") vers SERVERDIR ("")
s-from-ramd Synchroniser le contenu du serveur de SERVERDIR ("") vers SERVERDIR_PRERUN ("")
listbackups Répertorie les sauvegardes incrémentielles actuelles (disponible uniquement pour BACKUPSYSTEM = "rdiff").
status Affiche l'état actuel du serveur (en ligne / hors ligne).
sendcommand | sc | c Envoyer la commande au serveur sous la forme [ARGUMENT]
    loterie   Donne à un joueur un nombre aléatoire d'un élément aléatoire. (Le joueur doit avoir un emplacement d'inventaire gratuit.)
pid Obtenir un processus serveur.
-debug Doit être le dernier argument. Active la sortie de trace du shell (set -x)

EXEMPLES
Envoyer un message à tous les joueurs sur le serveur:
mcontrol.sh SETTINGS_FILE sendcommand "say nous vous surveillons: P"

Donne-moi des pommes d'or:
mcontrol.sh / etc / minecraft-server / userx / serverx sendcommand "donnez votre nom 322 100"

Faire

structures de répertoire

répertoires de serveur

Par exemple, une structure de répertoire du serveur / utilisateur Minecraft:

/ Accueil / serveur-minecraft /
utilisateur1 /
serveur1 / ...
serveur2 / ...
utilisateur2 /
serveur1 / ...
serveur2 / ...

minecraft / mcontrol.txt · Dernière modification: 2018/04/02 12:36 (Modification externe)

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.