Raclette/novos
2024-08-26 20:38:27 +02:00

82 lines
1.8 KiB
Bash
Executable file

#!/usr/bin/env bash
# CONSTANTS
readonly PKGVER="0.0.1"
readonly LICENSE="GNU AGPLv3"
readonly ROOTPATH="$(dirname $(readlink -f $(which ${0})))"
#readonly CONFIG="/usr/local/noveria/etc/novos/novos.json
readonly CONFIG="./config.json"
for util in ${ROOTPATH}/functions/*; do
source ${util}
done
# VARIABLES
declare debuglevel=3
function usage() {
cat << EOF
usage: $(basename ${0}) <operation> [...]
operations:
$(basename ${0}) {-h --help}
$(basename ${0}) {-V --version}
$(basename ${0}) {-v --verbose}
$(basename ${0}) {--init} [servername] [network name]
$(basename ${0}) {--datapack} [servername] [datapack dl url]
$(basename ${0}) {--start} [servername] [port] (ip)
$(basename ${0}) {--stop} [servername]
$(basename ${0}) {--restart} [servername] [port] (ip)
$(basename ${0}) {--attach} [servername]
$(basename ${0}) {--reset} [servername]
$(basename ${0}) {--delete} [servername]
EOF
}
function version() {
cat << EOF
Novos v${PKGVER}
Copyright (C) 2024 Noveria Network
This program may be freely redistributed under
the terms of the ${LICENSE}
EOF
}
###
## SCRIPT START
###
while true; do
case "${1}" in
-h|--help)
usage
exit 0
;;
-V|--version)
version
exit 0
;;
-v|--verbose)
debuglevel=4
break
;;
config)
parent="$1"
cmd="$2"
shift; shift
type ${parent}_${cmd} &> /dev/null
if [[ $? -eq 0 ]]; then
${parent}_${cmd} $@
exit 0
fi
${parent}_help
exit 1
;;
*)
echo "Invalid argument. Type $(basename $0) -h for help!"
exit 1
;;
esac
shift
done