#!/usr/bin/env bash # CONSTANTS readonly PKGVER="0.2.0" 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}) [...] operations: $(basename ${0}) {-h --help} $(basename ${0}) {-V --version} $(basename ${0}) {-v --verbose} $(basename ${0}) {--init} [servername] $(basename ${0}) {--datapack} [servername] [datapack dl url] $(basename ${0}) {--start} [servername] [port] $(basename ${0}) {--stop} [servername] $(basename ${0}) {--restart} [servername] [port] $(basename ${0}) {--attach} [servername] $(basename ${0}) {--reset} [servername]" } 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:,datapack:,start:,stop:,restart:,attach:,reset:" 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" ;; --datapack) shift datapack "$1" "$3" ;; --start) shift start "$1" "$3" ;; --stop) shift stop "$1" ;; --restart) shift stop "$1" start "$1" "$3" ;; --attach) shift attach "$1" ;; --reset) shift reset "$1" ;; --) shift break ;; *) log w "$1 is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!" break ;; esac shift done ### ## SCRIPT END ###