#!/bin/bash # kf2-srv is a command line tool for managing a set of Killing Floor 2 servers. # Copyright (C) 2019, 2020 GenZmeY # mailto: genzmey@gmail.com # # This file is part of kf2-srv. # # kf2-srv is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . function run_as_steamuser () # $@: command { include /etc/steamcmd/steamcmd.conf if [[ "$USER" == "$SteamUser" ]]; then "$@" elif [[ -n $(groups "$USER" | grep -Fo 'wheel') ]] || [[ "$EUID" -eq 0 ]]; then sudo -u "$SteamUser" "$@" else echo "You must be a $SteamUser, root or sudo-user to run this command." fi } function run_as_root () # $@: command { if [[ "$EUID" -eq 0 ]]; then "$@" elif [[ -n $(groups "$USER" | grep -Fo 'wheel') ]]; then sudo "$@" else echo "You must be root or sudo-user to run this command." fi } InstallDir=":DEFINE_PREFIX:/games/kf2-srv${KF2POSTFIX}" AppBin="$InstallDir/Binaries/Win64/KFGameSteamServer.bin.x86_64" DefaultConfigDir="$InstallDir/KFGame/Config" DefaultDownloadDir="$InstallDir/Binaries/Win64/steamapps/workshop" DefaultCacheDir="$InstallDir/KFGame/Cache" DefaultLogDir="$InstallDir/KFGame/Logs" DownloadDir="/var/cache/kf2-srv/workshop" CacheDir="/var/cache/kf2-srv/cache" LogDir="/var/log/kf2-srv${KF2POSTFIX}" InstanceConfigDir="/etc/kf2-srv/instances${KF2POSTFIX}" InstanceConfigTemplate="/etc/kf2-srv/instance.conf.template" readonly AppServerNum="232130" readonly AppClientNum="232090" readonly StrangeConstUID="17825793" readonly ServerBotLogin="srvbot" declare -a DiffNames declare -a WaveNames declare -A ModeNames declare -A MutNames