97 lines
1.8 KiB
Bash
Executable file
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
|
|
###
|