Serveur minecraft

BrandonDusseau / minecraft-scripts: Scripts de démarrage et de sauvegarde pour automatiser l'environnement de votre serveur Minecraft – Monter un serveur MineCraft

Le 24 novembre 2019 - 11 minutes de lecture

Ce package de script contient un script de démarrage et de sauvegarde avancée pour Minecraft.
les serveurs. Ces scripts sont facilement configurables et nécessitent une expérience minimale
avec les systèmes d'exploitation de type Unix à utiliser.

Le script de démarrage démarre le serveur Minecraft dans un écran session,
permettant à la console du serveur de s'exécuter en arrière-plan, même s'il n'y a pas
les sessions de terminal s'ouvrent sur le serveur. Cela permet également au script de sauvegarde de
envoyer des messages et des commandes au serveur Minecraft.

Le script de sauvegarde peut être exécuté à la fois sur une planification et à la demande (voir Usage
section pour plus d'informations). Il peut créer des rapports horaires, quotidiens, hebdomadaires et mensuels.
sauvegardes et peut être configuré pour supprimer automatiquement les fichiers de sauvegarde planifiés
heures supplémentaires. Ce script utilise liens durs pour connecter des fichiers créés au
en même temps, en préservant l’espace disque. Le script détermine aussi intelligemment si
une sauvegarde est nécessaire et ne mettra pas une charge supplémentaire sur le serveur si ce n'est pas le cas.

Configuration requise

Un système d’exploitation de type Unix (GNU / Linux, BSD, OS X, par exemple) avec écran et
frapper installée.

Installer

1. Télécharger des scripts

Cloner / télécharger ce référentiel et placer les scripts n'importe où sur le serveur,
de préférence dans le répertoire de votre serveur Minecraft.

2. Configurer les scripts

Script de démarrage

Ouvrir startmc.sh et changez les options suivantes à votre convenance:

  • MCDIR – Définissez ceci dans le répertoire de votre serveur Minecraft. Il vaut mieux utiliser le
    chemin complet du répertoire de votre serveur (par exemple, "/ home / brandon / minecraft") alors le
    le script peut être facilement déplacé plus tard. NE PAS inclure un / a la fin!
  • JVMARGS – Définissez vos arguments Java ici. Vous pouvez trouver plus d'informations sur
    ces ailleurs.
  • MCJAR – Nom du fichier JAR de votre serveur Minecraft.
  • MCSCREENNAME – Le nom du écran session. Ne pas inclure d'espaces!

Script de sauvegarde

Ouvrir backup.sh et changez les options suivantes à votre convenance:

  • REMARQUE: n’incluez pas de barre oblique finale (a / à la fin) sur tous les chemins de fichiers
    dans ces paramètres.
  • MCDIR – Définissez ceci dans le répertoire de votre serveur Minecraft. Il vaut mieux utiliser le
    chemin complet du répertoire de votre serveur (par exemple, "/ home / brandon / minecraft") alors le
    le script peut être facilement déplacé plus tard.
  • BACKUPDIR – Définissez ceci dans le répertoire où vous souhaitez que vos sauvegardes
    être stocké. Cela peut être n'importe où sur le système.
  • FICHIER JOURNAL – Définissez ceci sur le fichier dans lequel vous voulez enregistrer la sortie du journal. Si tu fais
    ne souhaite pas conserver un journal de sauvegarde, définissez cette option sur faux (sans citations). Désactiver
    La sortie du journal n’est pas recommandée car vous ne serez pas averti des erreurs
    rencontres de script.
  • ONDEMANDDIR, HOURLYDIR, DAILYDIR, WEEKLYDIR, MENSUELDIR – Définissez ces
    aux emplacements où vous souhaitez stocker des sauvegardes à la demande, des sauvegardes horaires,
    sauvegardes quotidiennes, sauvegardes hebdomadaires et sauvegardes mensuelles, respectivement. Ceux-ci ne
    doivent obligatoirement se trouver dans le répertoire de sauvegarde, mais cela est recommandé. Celles-ci
    les emplacements DOIVENT être différents les uns des autres, et ils DOIVENT être situés sur
    le même système de fichiers que le BACKUPDIR, même s'ils ne sont pas à l'intérieur
    BACKUPDIR.
  • HOURLY, DU QUOTIDIEN, HEBDOMADAIRE, MENSUEL – Réglez-les sur vrai à
    activer les sauvegardes programmées aux intervalles respectifs, ou faux pour désactiver.
  • RETOURS, RETAINDAYS, RETAINWEEKS, RETAINMONTHS – Définissez-les sur
    nombre de sauvegardes horaires, quotidiennes, hebdomadaires et mensuelles, respectivement, à conserver.
    Définissez-les sur 0 garder des sauvegardes pour toujours.
  • MCSCREENNAME – Le nom du écran session dans laquelle le Minecraft
    le serveur s'exécute.

Usage

Remarque: dans tous les exemples, $ indique une invite du shell. Vous ne devriez pas taper ceci
lors de l'exécution de vos commandes.

Pour utiliser ces scripts, vous devez d’abord les rendre exécutables. Pour ce faire, lancez le
commande suivante, quel que soit l'utilisateur sur lequel vous allez exécuter votre serveur Minecraft.

$ cd / chemin / vers / votre / scripts
$ chmod + x backup.sh startmc.sh

Script de démarrage

Pour démarrer le serveur Minecraft, lancez simplement

$ /path/to/your/scripts/startmc.sh

Si vous êtes déjà dans le répertoire dans lequel se trouve le script, utilisez ./startmc.sh
au lieu.

Vous pouvez vous connecter au écran session en cours d'exécution Minecraft avec les éléments suivants
commande (remplacer NOM DE L'ÉCRAN avec le nom que vous avez défini dans startmc.sh)

$ screen -rS SCREENNAME

Si vous avez besoin de vérifier si le écran la session est en cours ou ne me souviens pas de la
nom, juste courir

$ screen -ls

Notez que si le serveur Minecraft se bloque ou est arrêté, le écran session
ne se terminera pas par lui-même. Vous devrez vous connecter à la session avec
la commande ci-dessus et exécuter sortie terminer avant de redémarrer la session.
Ce problème peut être résolu dans une version ultérieure du script.

Script de sauvegarde

Le script de sauvegarde a deux modes: à la demande et planifié.

Vous pouvez créer une sauvegarde à la demande à tout moment en exécutant

$ /path/to/your/scripts/backup.sh

Cela créera un fichier de sauvegarde à l’emplacement défini dans ONDEMANDDIR chaque fois
c'est couru. Si le monde Minecraft n’a pas changé depuis la dernière sauvegarde, un
la sauvegarde à la demande ne sera pas créée.

Pour exécuter le script selon un calendrier, utilisez plutôt

$ /path/to/your/scripts/backup.sh -s

Ceci exécutera le script en mode sauvegarde et créera des sauvegardes pour tous les
les intervalles de temps qui n'ont pas eu une sauvegarde assez récente. Si le Minecraft
monde n’a pas changé depuis la dernière sauvegarde, les sauvegardes planifiées ne seront pas
établi.

Quel que soit le mode dans lequel le script est exécuté, un fichier appelé dernier.tar.gz volonté
toujours être créé dans le répertoire de sauvegarde. Ce fichier contiendra le dernier
sauvegarde, peu importe où il a été placé.

Lorsque le script de sauvegarde est exécuté, un backup.md5 le fichier est créé dans Minecraft
répertoire du serveur. Ce fichier contient la somme de contrôle du fichier tar généré
pendant la création de la sauvegarde. Le script utilise ce fichier pour déterminer si
tout a changé dans le monde Minecraft depuis la dernière sauvegarde. Suppression
ce fichier obligera le script à ignorer cette vérification lors de la prochaine exécution.

Automatiser les scripts

Vous pouvez utiliser cron pour planifier l'exécution automatique des scripts sur votre serveur.

Pour ouvrir le cron fichier, exécutez la commande suivante en tant qu'utilisateur qui s'exécutera
le serveur Minecraft.

$ crontab -e

REMARQUE: le script de démarrage est actuellement conçu pour être exécuté à la demande ou à la demande.
redémarrer. Si le script est exécuté à nouveau alors que le serveur est en cours d'exécution, il peut échouer ou
créer un conflit écran session.

Pour démarrer le serveur Minecraft au démarrage, ajoutez la ligne suivante à la crontab:

@reboot /full/path/to/your/scripts/startmc.sh

Il est important d’utiliser le chemin complet ici, car le système peut ne pas reconnaître
un chemin relatif (partiel) au moment de l'exécution de cette commande.

Sur les systèmes Ubuntu (y compris Linux Mint et quelques autres), vous aurez peut-être besoin de
pour changer cette commande en

@reboot sleep 30 && /full/path/to/your/scripts/startmc.sh

En effet, les systèmes basés sur Ubuntu ne configurent pas toujours le logiciel approprié.
environnement qui écran nécessite avant cronde @reboot les commandes sont exécutées,
ce qui peut empêcher le démarrage de Minecraft.

Pour exécuter le script de sauvegarde toutes les heures, ajoutez la ligne suivante:

0 * * * * /full/path/to/your/scripts/backup.sh -s

Si les sauvegardes horaires ne sont pas activées, vous pouvez exécuter le programme à la place.
script quotidien, en utilisant 0 0 * * * pour l'exécuter à minuit.

0 0 1 * * exécutera le script le premier jour de chaque mois à minuit, et
0 0 * * 0 exécutera le script tous les dimanches à minuit.

L'exécution du script à un intervalle réduit (par exemple, toutes les heures) créera également
sauvegardes par intervalles (quotidiens, hebdomadaires, mensuels), il n’est donc pas nécessaire d’en ajouter
d'une ligne à crontab.

Vous pouvez également exécuter le script à d’autres intervalles, mais il est recommandé d’exécuter
pas plus souvent que toutes les heures pour que votre serveur subisse une charge minimale.
Voir https://fr.wikipedia.org/wiki/Cron#Exemples pour plus d'informations sur la configuration
intervalles dans cron.

Une fois que vous avez ajouté le nombre approprié de lignes, enregistrez vos modifications et le
Nouveau crontab sera automatiquement installé.

Dépannage

Si vous avez lu ce document attentivement, vous ne devriez pas rencontrer de problèmes. Si
vous avez toujours des problèmes, essayez les solutions ci-dessous:

Script de démarrage

Minecraft ne commencera pas par le script

Assurez-vous que les options dans startmc.sh sont corrects et que votre système a
écran installée. Voir le Usage section pour savoir comment vérifier si le
écran la session est en cours. Si c'est le cas, le problème peut se situer ailleurs.

Assurez-vous également que le script dispose d'autorisations exécutables et qu'il est en cours d'exécution.
en tant que même utilisateur qui possède les fichiers Minecraft.

Le script fonctionne tout seul mais ne s'exécutera pas au démarrage

Assurez-vous que votre crontab l’entrée est correcte et a le chemin complet de la
scénario. Si vous utilisez un système Ubuntu, utilisez la deuxième version de la ligne.
(avec le sommeil) montré dans le Automatiser les scripts section.

Script de sauvegarde

Le script de sauvegarde ne démarre pas

Assurez-vous que le script dispose d’autorisations exécutables et qu’il s’exécute en tant que
même utilisateur qui possède les fichiers Minecraft. Assurez-vous aussi que écran et
frapper sont installés sur le serveur.

Le script de sauvegarde crée toujours des sauvegardes dans le répertoire à la demande lorsqu’il
devrait être programmé.

Assurez-vous d'avoir ajouté le -s drapeau à la commande pour le faire fonctionner avec le
programme.

Les sauvegardes / purges échouent

Assurez-vous que les options dans backup.sh sont corrects. Consultez le fichier journal pour plus d'informations.
informations sur la raison pour laquelle les sauvegardes échouent. Si la journalisation est désactivée, activez-la.

Les sauvegardes échouent et la sortie du journal indique permission refusée

Assurez-vous que le script est exécuté par l'utilisateur qui possède le Minecraft
répertoire du serveur et répertoire de sauvegarde. Assurez-vous que les deux répertoires (et
tous les répertoires de planification) ont les autorisations appropriées. Tout au moins,
ces répertoires devraient avoir le mode 700 (drwx ------). Par défaut ils devraient
avoir le mode 755 (drwxr-xr-x).

Les sauvegardes échouent et mon fichier journal n'est pas en cours de création.

Assurez-vous que l'utilisateur est autorisé à écrire à l'emplacement du fichier journal.

Problèmes

Si vous rencontrez un problème avec le script, vérifiez d’abord si vous avez le
dernière version. Si vous avez la dernière version et que le problème persiste, veuillez
déposer un problème sur le référentiel GitHub.

Commentaires

Laisser un commentaire

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