Daniel Gibbs пре 9 година
родитељ
комит
739d7a1b6f
1 измењених фајлова са 75 додато и 32 уклоњено
  1. 75 32
      CallOfDutyUnitedOffensive/coduoserver

+ 75 - 32
CallOfDutyUnitedOffensive/coduoserver

@@ -1,87 +1,120 @@
 #!/bin/bash
-# Call of Duty: United Offensive
-# Server Management Script
+# Project: Game Server Managers - LinuxGSM
 # Author: Daniel Gibbs
+# License: MIT License, Copyright (c) 2016 Daniel Gibbs
+# Purpose: Call of Duty: United Offensive | Server Management Script
+# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
+# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki
 # Website: https://gameservermanagers.com
+
+# Debugging
 if [ -f ".dev-debug" ]; then
 	exec 5>dev-debug.log
 	BASH_XTRACEFD="5"
 	set -x
 fi
 
-version="210516"
-
-#### Variables ####
+version="161113"
 
-# Notification Alerts
-# (on|off)
+##########################
+######## Settings ########
+##########################
 
-# Email
-emailalert="off"
-email="email@example.com"
+#### Server Settings ####
 
-# Pushbullet
-# https://www.pushbullet.com/#settings
-pushbulletalert="off"
-pushbullettoken="accesstoken"
+## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
 
-# Start Variables
 defaultmap="mp_cassino"
 maxclients="20"
-ip="0.0.0.0"
 port="28960"
+ip="0.0.0.0"
 
+## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
 parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxclients} +exec ${servercfg} +map ${defaultmap}"
 }
 
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
+consolelogging="on"
+logdays="7"
+
 #### Advanced Variables ####
 
-# Github Branch Select
+## Github Branch Select
 # Allows for the use of different function files
 # from a different repo and/or branch.
 githubuser="GameServerManagers"
 githubrepo="LinuxGSM"
-githubbranch="coduo"
+githubbranch="master"
 
-# Server Details
-servicename="coduo-server"
+## LinuxGSM Server Details
+# Do not edit
 gamename="Call of Duty: United Offensive"
 engine="idtech3"
 
-# Directories
+## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers
+servicename="coduo-server"
+
+#### Directories ####
+# Edit with care
+
+## Work Directories
 rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
 selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
+
+## Server Specific Directories
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./coduo_lnxded"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/uo"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
+
+## Backup Directory
 backupdir="${rootdir}/backups"
 
-# Logging
-logdays="7"
+## Logging Directories
 gamelogdir="${filesdir}/Logs"
 scriptlogdir="${rootdir}/log/script"
 consolelogdir="${rootdir}/log/console"
-consolelogging="on"
-
 scriptlog="${scriptlogdir}/${servicename}-script.log"
 consolelog="${consolelogdir}/${servicename}-console.log"
 emaillog="${scriptlogdir}/${servicename}-email.log"
 
-scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
+## Logs Naming
+scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
 
-##### Script #####
-# Do not edit
+########################
+######## Script ########
+###### Do not edit #####
+########################
 
 # Fetches core_dl for file downloads
 fn_fetch_core_dl(){
@@ -138,8 +171,18 @@ functionfile="${FUNCNAME}"
 fn_fetch_core_dl
 }
 
+# Prevent from running this script as root.
+if [ "$(whoami)" = "root" ]; then
+	if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then
+		echo "[ FAIL ] Do NOT run this script as root!"
+		exit 1
+	else
+		core_functions.sh
+		check_root.sh
+	fi
+fi
+
 core_dl.sh
 core_functions.sh
-
 getopt=$1
-core_getopt.sh
+core_getopt.sh