#!/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}) [...] 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