26 févr. 2020, 07:52

useful-saves-logo-256.png

Useful Saves

Planifiez vos sauvegardes pour ne plus jamais rien perdre !

Useful Saves, est un simple mod, exclusivement en commandes, qui vous permettra de faire une sauvegarde de votre monde, et ou avec des fichiers supplémentaires.

Basé sur les crontab, il est facile à prendre en main.

L’idée d’un tel mod, qui existe déjà par ailleurs, mais j’aime bien les “challenges”.
M’est venue en jouant avec un pote, et où un beau matin grâce à un hébergeur lambda, qui ne propose pas les backups gratuitement, nous avons perdus nos inventaires, et une partie du monde avait rollback.

Useful Saves venait de naître.


Ajouts

  • Sauvegardes planifées
  • Sauvegarde instantanée
  • Suppression de sauvegardes
  • Commande d’aide crontab

Config

[common]
	#Print Useful Saves messages in chat ?
	printMessage = true
	#Define a TimeZone if server clock mismatch players clock
	#Automaticly generated by default
	timeZone = "Europe/Paris"
	#Define a json formatted cron task to save/load
	#If "enableTaskOnServerStart" is enabled task will be loaded.
	cronTaskObject = "{}"
	#Define maximum created backups
	#"-1" = unlimited saves
	#Range: > -1
	maximumSavedBackups = -1
	#Enable the previous saved scheduled task on server start ?
	#Ensure "cronTask" is not empty or null
	enableTaskOnServerStart = true
	#Define a backup folder
	backupsFolder = "./backups"
	#Process save task if no player connected ?
	saveIfServerEmpty = true
	#Define a list of files or folder to save on saving process
	#Use absolute path !
	savedFileWhitelist = ["./logs", "./config"]
	#Defined to delete oldest backups if maximum saves are reach
	#Used if "maximumSavedBackups" are defined
	deleteOldOnMaximumReach = false

Commandes

Le préfixe des commandes est toujours /useful-saves

Commandes de suppressions

/useful-saves clear-backups-folder
Vide le dossier des backups.

/useful-saves delete
Supprime une backup spécifique.

/useful-saves confirm [yes/no]
Confirme la précédente opération.


Commandes de planification

/useful-saves schedule stop/pause/resume
Pour stopper, mettre en pause or reprendre la tâche en cours d’exécution.

/useful-saves schedule cron [<expression>]
Pour planifier une tâche basée sur les expressions crontab.

Paramètres optionnels

/useful-saves schedule cron [<expression>] [<TimeZone>]
Pour planifier une tâche basée sur les expressions crontab, mais en définissant une time zone si le fuseau horaire du serveur n’est pas le même que les joueurs.

/useful-saves schedule cron [<expression>] [flush]
flush une sauvegarde (forcer l’écriture des données).


Commandes utilitaires

/useful-saves schedule restart
Pour redémarrer le Scheduler, si il a crash ou si il est éteint.

/useful-saves save-now
Pour créer instantanément une sauvegarde.

/useful-saves info
Information sur l’état du “planificateur”.


Commandes de configurations

/useful-saves config backupFolder
Définir le nom du dossier des sauvegardes.

/useful-saves config deleteOldOnMaximumReach
Suppression des sauvegardes les plus vieilles, si la limite de sauvegardes est atteinte.

/useful-saves config enableTaskOnServerStart
Démarrer la tâche de sauvegarde, au lancement du serveur.

/useful-saves config maximum-backups
Définir le nombre de sauvegardes maximum que peut effectuer la tâche

/useful-saves config printChatMessage
Afficher les messages d’informations aux joueurs

/useful-saves config saveIfServerEmpty
Sauvegarder même si le serveur est vide ? Si aucuns joueurs ne sont connectés ?

/useful-saves config timeZone
Définir un fuseau horaire, si celui du serveur est différent des joueurs.

Commande d’aide “Cron”

Useful Saves est livré avec une commande, permettant de traduire les expressions crontab pour les humains.
Merci à cronexpressiondescriptor.azurewebsites.net

/cron [<expression>]
Récupère la traduction humaine de l’expression cron

/cron [<expression>] [<locale>]
Récupère la traduction humaine de l’expression cron mais en définissant une langue

Example: /cron "*** * * ? * ***" fr-FR
Sortie: Toutes les secondes

Créateur de Resources packs ou de Modpacks ?

Le mod n’étant pas obligatoire pour les clients, il est préférable d’ajouter les fichiers de traductions (assets/lang) à vos resources packs ou quelque part dans un modpack.

Permettant ainsi aux joueurs d’avoir les messages d’informations de Useful Saves côté client, même si le mod n’est pas installé ! 🙂

Liens utiles

Si vous n’êtes pas familier avec les expression cron allez check: Cron Expression Generator for Quartz !

Technologies utilisées

Infos/Téléchargements