From 6489a11307a967e9e263cdbca4ed97f095459670 Mon Sep 17 00:00:00 2001 From: Hippolyte Chauvin Date: Mon, 3 Jul 2023 19:50:13 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20:=20script=20de=20contr=C3=B4le=20de=20?= =?UTF-8?q?serveurs=20Minecraft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/mcserv | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 bin/mcserv diff --git a/bin/mcserv b/bin/mcserv new file mode 100755 index 0000000..d96baae --- /dev/null +++ b/bin/mcserv @@ -0,0 +1,62 @@ +#!/bin/bash + +shopt -s expand_aliases +alias mcscreen='sudo -u minecraft screen' + +print_error() { + >&2 printf '\033[31;1m%s\033[0m \033[1m%s\033[0m\n' ERROR: "$*" +} + +public_usage() { + local name + name="$(basename "$0")" + cat << EOF +${name}: utilisation + ${name} start|status|stop|watch NOM_SERVEUR + ${name} list +EOF +} + +error_usage() { + print_error "Utilisation invalide." + >&2 public_usage + return 1 +} + +public_start() { + mcscreen -d -m -S "$1" \ + "/srv/minecraft/bin/${1}" +} + +public_status() { + printf '\033[1m%s\033[0m : ' "$1" + if mcscreen -ls "$1" > /dev/null 2>&1; then + echo "en cours d'exécution" + else + echo "non en cours d'exécution" + fi +} + +public_stop() { + mcscreen -S "$1" -X stuff '^E^Ustop^M' +} + +public_watch() { + mcscreen -dr "$1" +} + +public_list() { + mcscreen -ls +} + +verb="$1" +shift +case "$verb" in + start) + "public_${verb}" "$@" + ;; + *) + error_usage + ;; +esac +