pms-cli/pms-cli
2024-01-06 14:36:47 +01:00

97 lines
1.8 KiB
Bash
Executable file

#!/usr/bin/env bash
# CONSTANTS
readonly PKGVER="0.0.4"
readonly LICENSE="GNU AGPLv3"
readonly ROOTPATH="$(dirname $(readlink -f $(which $0)))"
readonly TEMPLATEDIR="${ROOTPATH}/.template"
readonly BUILDDIR="$(mktemp -d /tmp/pms-cli.XXXXXX)"
readonly CONFIG="/usr/local/noveria/etc/pms-cli/pms-cli.json"
for util in ${ROOTPATH}/utils/*; do
source $util
done
# VARIABLES
declare debuglevel=3
function usage() {
echo -e "usage: $(basename ${0}) <operation> [...]
operations:
$(basename ${0}) {-h --help}
$(basename ${0}) {-V --version}
$(basename ${0}) {-v --verbose}
$(basename ${0}) {--init} [servername]
$(basename ${0}) {--start} [servername] [port]
$(basename ${0}) {--stop} [servername]
$(basename ${0}) {--restart} [servername] [port]"
}
function version() {
echo -e "Minecraft Podman Server v${PKGVER}
Copyright (C) 2023 Noveria Network
This program may be freely redistributed under
the terms of the ${LICENSE}"
}
###
## SCRIPT START
###
OPT_SHORT="hVv"
OPT_LONG="help,version,verbose,init:,start:,stop:,restart:"
TEMP=$(getopt -o ${OPT_SHORT} --long ${OPT_LONG} -n $(basename ${0}) -- "$@")
if [ "$?" != 0 ]; then
usage
exit 1
fi
eval set -- "$TEMP"
while true; do
case "$1" in
-h|--help)
usage
exit 0
;;
-V|--version)
version
exit 0
;;
-v|--verbose)
debuglevel=4
;;
--init)
shift
init "$1"
;;
--start)
shift
start "$1" "$3"
;;
--stop)
shift
stop "$1"
;;
--restart)
shift
stop "$1"
start "$1" "$3"
;;
--)
shift
break
;;
*)
log w "$1 is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!"
break
;;
esac
shift
done
###
## SCRIPT END
###