Beaucoup d’hébergeurs proposent une solution de sauvegarde des maps de votre serveur, mais trop souvent limitée : il n’y a qu’un seul monde de sauvegardé à des intervalles parfois trop élevés. Il peut être intéressant d’avoir une solution de sauvegarde plus poussée en complément de plugins anti-griefs : Backup est là pour ça.

Présentation

Backup est un plugin créé par gamerx93 et qui vous permet, comme son nom l’indique, de réaliser des sauvegardes de vos maps et/ou de vos plugins, à intervalles programmés ou manuellement. Il peut également programmer des save-all forcés pour que vous ne perdiez pas votre travail en cas de crash.

Attention : les sauvegardes sont stockées directement sur le FTP de votre serveur. Par conséquent, son utilisation prend énormément de place, selon le nombre de mondes que vous possédez et leur taille. Veillez à bien le configurer pour ne pas dépasser le quota mis en place par votre hébergeur.

Configuration

Ce plugin possède deux fichiers de configuration, config.yml et strings.yml. Vous vous en doutez, le premier est le fichier de configuration du plugin et le second contient la liste des textes affichés sur le serveur ou dans la console (comme ça, vous pouvez personnaliser les messages prévenant d’une sauvegarde).

Configuration des sauvegardes (config.yml)

Ouvrez config.yml avec votre éditeur de texte préféré (Notepad++ est conseillé) pour commencer à configurer le comportement du plugin ; je vais expliquer chaque entrée du fichier une par une. Lors de la configuration du plugin, gardez en tête que vous ne disposez peut-être pas d’un espace disque suffisant pour vous permettre de conserver dix sauvegardes en même temps pour vos quatre mondes.

  • backupinterval : il s’agit du temps à attendre entre chaque sauvegarde. Vous devez spécifier un nombre entier ainsi qu’une lettre pour indiquer l’unité de temps (en anglais). Exemples : 6H pour une sauvegarde toutes les six heures, 10M pour une sauvegarde toutes les dix minutes, 5D pour une sauvegarde tous les cinq jours…
  • norepeat : indiquez ici si vous souhaitez si le programmation des sauvegardes s’arrête après la première sauvegarde.
  • alwayssaveall : mettez true pour que la commande save-all soit exécutée lorsqu’une sauvegarde est demandée.
  • saveallinterval : il s’agit du temps à attendre entre chaque save-all ; il est conseillé de mettre un temps avoisinant les dix minutes pour que le système soit efficace. Le format est le même que pour backupinterval, à savoir un chiffre suivi de son unité.
  • maxbackups : indiquez ici le nombre de sauvegardes à stocker dans le FTP de votre serveur ; ne mettez pas un nombre trop élevé, trois ou quatre sauvegardes suffisent.
  • backupemptyserveur : mettez true si vous voulez que des sauvegardes soient exécutés lorsque personne n’est sur le serveur ; mettez false pour qu’une sauvegarde soit exécutée lorsque la dernière personne se déconnecte, la programmation normale reprendra lorsque quelqu’un se connectera.
  • onlyops : si vous ne voulez pas utiliser le système de permissions de votre serveur, mettez true pour que seulement les OPs aient accès aux commandes du plugin.
  • ignorebypass : mettez true pour que le plugin ignore le node backup.bypass (liste et explications des nodes plus bas)
  • enableautosave : indiquez ici si vous souhaitez que le plugin réactive la sauvegarde normale des maps (save-all) après une sauvegarde. Il est très conseillé d’activer cette fonctionnalité, sinon en cas de crash tout le travail fait jusqu’à la dernière sauvegarde sera perdu.
  • backupeverything : mettez true pour que tout le dossier du serveur soit sauvegardé. Attention, cette option prend énormément de place, de temps et ce n’est pas forcément utile.
  • backuppath : entrez ici le nom du dossier dans lequel les sauvegardes sont stockées ; ce dossier se trouve dans le même emplacement que votre JAR de Bukkit.
  • usetemp : mettez true pour qu’un dossier temporaire soit utilisé lors des sauvegardes ; utilisez cette fonctionnalité si vous possédez de gros mondes.
  • tempfoldertame : le nom du dossier temporaire précédemment cité ; lui aussi se trouve près de votre JAR de Bukkit.
  • zipbackup : indiquez ici si vous souhaitez que vos sauvegardes soient compressées dans un fichier ZIP.
  • splitbackup : mettez true pour que chaque monde possède son propre dossier.
  • dateformat : les dossiers ou fichiers ZIP créés porteront un nom respectant cette entrée ; sa configuration est compliquée, aussi je vous conseille de remplacer la valeur par défaut par %1$td %1$tm %1$ty-%1$tH:%1$tM:%1$tS pour plus de lisibilité dans le dossier contenant vos sauvegardes.
  • backupworlds : mettez true pour que le plugin sauvegarde vos mondes.
  • backupplugins : mettez true pour que le plugin sauvegarde le dossier plugins.
  • skipworlds : si vous souhaitez que le plugin ne sauvegarde pas certains mondes, listez-les ici en les séparant par un point-virgule (exemple : world_the_end;world_nether;flatgrass).
  • pluginlistmode : détermine si la liste des plugins de l’entrée pluginlist doit dire au plugin d’ignorer (true) les plugins de cette liste ou au contraire n’inclure que cette liste (false).
  • pluginlist : la fameuse liste des plugins, dont les éléments doivent être séparés de la même manière que la liste des mondes à ignorer. Vous devez y mettre les noms des dossiers des plugins concernés.
  • displaylog : mettez true pour que le plugin inscrive ses logs dans le fichier log du serveur (communément server.log ou console.log).
  • logtofile : mettez true pour que le plugin inscrive ses logs dans un fichier externe.
  • backuplogname : le nom du fichier log externe, situé dans le dossier plugins.
  • notifyallplayers : détermine si tous les joueurs sont avertis d’une sauvegarde (true) ou si seulement ceux avec le node backup.notify le sont (false) (liste et explications des nodes plus bas).
  • enableversioncheck : souhaitez-vous que le plugin vous avertisse si une nouvelle version est disponible ? Cette option ne fonctionne que si le serveur possède un accès à internet.

Ne touchez pas aux autres entrées, elles sont nécessaires au bon fonctionnement du plugin.

Personnalisation des messages (strings.yml)

Tout au long de son fonctionnement, le plugin envoie plusieurs messages dans le chat et dans la console du serveur, que vous pouvez tous personnaliser via le fichier strings.yml. Je ne vais pas expliquer chaque entrée une par une car la plupart possède un nom relativement explicite sur sa fonction. Faites toutefois attention à ne pas y inclure d’accents ou de caractères spéciaux si le fichier n’est pas encodé en UTF-8 et/ou si votre serveur n’est pas compatible avec cet encodage (vérifiez auprès de votre hébergeur).

Commandes et permissions

Commandes

Ce plugin n’ajoute pour l’instant qu’une seule commande :

  • /backup [reload/help/ver/list/toggle] – démarre une sauvegarde manuelle ; les prochaines sauvegardes planifiées seront décalées en conséquence. Si l’argument reload est ajouté, le plugin rechargera la configuration au lieu d’effectuer une sauvegarde ; si l’argument help est ajouté, le plugin affichera une aide ; si l’argument ver est ajouté le plugin affichera sa version ; si l’argument toggle est ajouté le plugin activera ou désactivera les sauvegardes automatiques et si l’argument list est ajouté il affichera une liste des sauvegardes actuellement stockées.

Permissions

Voici la liste des nodes utilisés pour le plugin :

  • backup.* – donne accès à toutes les fonctionnalités du plugin
  • backup.backup – donne accès à la commande /backup
  • backup.notify – si spécifié dans la configuration, seulement ceux qui possèdent ce node seront avertis d’une sauvegarde
  • backup.reload – donne accès à l’argument reload de la commande /backup
  • backup.ver – donne accès à l’argument ver de la commande /backup
  • backup.help – donne accès à l’argument help de la commande /backup
  • backup.list – donne accès à l’argument list de la commande /backup
  • backup.list – donne accès à l’argument toggle de la commande /backup
  • backup.bypass – les joueurs ayant ce node ne sont pas considérés comme étant en ligne par le plugin