Created
December 28, 2017 20:43
-
-
Save jdkeke142/04f312e01e76a6621685363b27d78639 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: minecraft1 | |
# Required-Start: $remote_fs $local_fs | |
# Required-Stop: $remote_fs $local_fs | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: minecraft1 script | |
# Description: For manage minecraft1 | |
### END INIT INFO | |
#Chemin du serveur | |
MCPATH=/root/minecraft_servers/minecraft1/ | |
TOBACKUPPATH=/root/minecraft_servers/minecraft1/world_storage | |
#Chemin des sauvegardes | |
BACKUPPATH="/root/minecraft_servers/minecraft_backups/minecraft1" | |
#Mondes à backup | |
BACKUPWORLDS="world" | |
SERVICE="minecraft1.jar"; | |
#Ram MAX (en pourcentage) | |
#RAM="50" | |
#RAM_Xmn="22" | |
#RAM_Xss="1024" | |
RAM_XMX="15000" | |
RAM_XMS="8000" | |
WHOLEBACKUP="${BACKUPPATH}/server/" | |
WORLBACKUPPATH="${BACKUPPATH}/worlds/" | |
DATE=`date +%Y-%m-%d:%H:%M:%S` | |
#tmux session name (`basename \"$MCPATH\"` -> basedir's name) | |
session="`basename \"$MCPATH\"`" | |
#Declaration des couleurs | |
VERT="\\033[1;32m" | |
NORMAL="\\033[0;39m" | |
ROUGE="\\033[1;31m" | |
ROSE="\\033[1;35m" | |
BLEU="\\033[1;34m" | |
BLANC="\\033[0;02m" | |
BLANCLAIR="\\033[1;08m" | |
JAUNE="\\033[1;33m" | |
CYAN="\\033[1;36m" | |
#MAX_MEMORY=`free -m -t | grep "^Mem:" | awk '{print $2}'`; | |
#XMX=$(($MAX_MEMORY / 100 * $RAM )) | |
JAVA_COMMAND="java -Dfile.encoding=UTF8 "; | |
#JAVA_COMMAND=$JAVA_COMMAND"-Xmx"$XMX"m "; | |
#JAVA_COMMAND=$JAVA_COMMAND"-Xms"$XMX"m "; | |
JAVA_COMMAND=$JAVA_COMMAND"-Xmx"$RAM_XMX"M "; | |
JAVA_COMMAND=$JAVA_COMMAND"-Xms"$RAM_XMS"M "; | |
JAVA_COMMAND=$JAVA_COMMAND"-jar $SERVICE "; | |
INVOCATION=`echo $JAVA_COMMAND` | |
echo $MAX_MEMORY; | |
mc_world_backup() { | |
set -- $BACKUPWORLDS | |
while [ -n "$1" ]; do | |
if [ -d "$TOBACKUPPATH/$1" ]; then | |
echo "$VERT Sauvegarde de $1 dans $WORLBACKUPPATH $NORMAL" | |
mkdir -p $WORLBACKUPPATH/$1/ | |
cd $TOBACKUPPATH/$1 | |
tar -hcjf $1.tar * | |
mv $1.tar $WORLBACKUPPATH/$1/$DATE.tar | |
echo "$VERT Sauvegarde de $1 terminé $NORMAL" | |
else | |
echo "$ROUGE Il n'y aura pas de backup pour le monde: $1 car il n'existe pas... $NORMAL"; | |
fi | |
shift | |
done | |
} | |
mc_whole_backup() { | |
echo -e "$VERT Sauvegarde entière du serveur dans $WHOLEBACKUP $NORMAL"; | |
cd $MCPATH | |
tar cvf tempbackup.tar * | |
mkdir -p $WHOLEBACKUP/ | |
mv tempbackup.tar $WHOLEBACKUP/$DATE.tar | |
} | |
status() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo "$ROUGE Le serveur n'est pas démarré. $NORMAL" | |
else | |
echo "$VERT Le serveur est démarré! $NORMAL" | |
fi | |
} | |
command() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo "$ROUGE Le serveur n'est pas démarré. $NORMAL" | |
else | |
command="$1"; | |
echo "$command" | |
tmux send-keys -t $session:0 "$command" C-m | |
echo "$VERT Commande envoyée avec succés! $NORMAL" | |
fi | |
} | |
start() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
tmux new-session -d -s $session | |
echo "Démarrage du serveur...." | |
tmux send-keys -t $session:0 "cd $MCPATH" C-m | |
tmux send-keys -t $session:0 "$INVOCATION" C-m | |
echo "$VERT Le serveur est démarré, envoie vers la console $NORMAL" | |
sleep 0.5 | |
tmux attach-session -t $session:0 | |
else | |
echo "$ROUGE Le serveur est déjà démarré! $NORMAL" | |
fi | |
} | |
attach() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo "$ROUGE Le serveur n'est pas démarré. $NORMAL" | |
else | |
tmux attach -t $session | |
fi | |
} | |
mc_saveoff() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo -e "$VERT Le serveur n'est pas démarré. Pas de désactivation de sauvegardes automatiques. $NORMAL" | |
sync | |
sleep 10 | |
else | |
echo -e "$VERT Le serveur est démarré. Désactivation des sauvegardes automatiques. $NORMAL" | |
tmux send-keys -t $session:0 "save-off" C-m | |
tmux send-keys -t $session:0 "save-all" C-m | |
fi | |
} | |
mc_saveon() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo -e "$ROUGE Le serveur n'est pas démarré. Pas de ré-activation des sauvegardes automatiques. $NORMAL" | |
else | |
echo -e "$VERT Le serveur est démarré. Ré-activation des sauvegardes automatiques. $NORMAL" | |
tmux send-keys -t $session:0 "save-on" C-m | |
fi | |
} | |
mc_command() { | |
command="$1"; | |
if [ "$?" -eq 1 ] ; then | |
echo "$ROUGE Le serveur n'est pas démarré. $NORMAL" | |
else | |
tmux send-keys -t $session:0 "$command" C-m | |
echo "$VERT Commande envoyé avec succés. $NORMAL" | |
fi | |
} | |
stop() { | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
echo "$ROUGE Le serveur n'est pas démarré. $NORMAL" | |
else | |
tmux send-keys -t $session:0 "stop" C-m | |
echo "$VERT Arrêt du serveur... $NORMAL" | |
for i in {5..1..-1} | |
do | |
echo -ne "\r$JAUNE Attente de l'arrêt... $NORMAL $i" | |
sleep 1 | |
done | |
tmux kill-session -t $session | |
echo "$VERT Serveur arrêté. $NORMAL" | |
fi | |
} | |
case "$1" in | |
hstart) | |
start | |
;; | |
hbackup) | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
mc_world_backup | |
else | |
tmux send-keys -t $session:0 "say Backup du serveur! Sauvegarde automatique OFF." C-m | |
mc_saveoff | |
mc_world_backup | |
mc_saveon | |
tmux send-keys -t $session:0 "say Backup du serveur terminé! Sauvegarde automatique ON." C-m | |
fi | |
;; | |
hstatus) | |
status | |
;; | |
hstop) | |
stop | |
;; | |
hwhole-backup) | |
tmux has-session -t $session | |
if [ "$?" -eq 1 ] ; then | |
mc_whole_backup | |
else | |
tmux send-keys -t $session:0 "say Une sauvegarde entière du serveur va avoir lieu, revenez dans 5 minutes!" C-m | |
sleep 10 | |
stop | |
mc_whole_backup | |
start | |
fi | |
;; | |
hconsole) | |
attach | |
;; | |
hcommand) | |
if [ $# -gt 1 ] ; then | |
shift | |
mc_command "$*" | |
else | |
echo "$ROUGE Vous devez entrer une commande... $NORMAL" | |
fi | |
;; | |
hrestart) | |
stop | |
sleep 0.8 | |
echo "$VERT Redémarrage du serveur... $NORMAL" | |
sleep 0.8 | |
start | |
;; | |
*) | |
echo "$ROSE [Script du serveur HyperCraft]" | |
echo | |
echo "$ROSE Commandes:" | |
echo "$VERT hstart $CYAN == $JAUNE Démarrer le serveur." | |
echo "$VERT hstop $CYAN == $JAUNE Arrêter le serveur." | |
echo "$VERT hrestart $CYAN == $JAUNE Redémarrer le serveur." | |
echo "$VERT hconsole $CYAN == $JAUNE Afficher la console du serveur." | |
echo "$VERT hbackup $CYAN == $JAUNE Faire une sauvegarde des mondes spécifiés en config." | |
echo "$VERT hwhole-backup $CYAN == $JAUNE Faire une sauvegarde entière du serveur." | |
echo "$VERT hcommand $CYAN == $JAUNE Lancer une commande dans sur le serveur." | |
echo "$VERT hstatus $CYAN == $JAUNE Afficher le status du serveur. $NORMAL" | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment