Răsfoiți Sursa

Initial Release ss3server

Initial release of Serious Sam 3: BFE server
Daniel Gibbs 11 ani în urmă
părinte
comite
3a95aa59d5
1 a modificat fișierele cu 352 adăugiri și 0 ștergeri
  1. 352 0
      SeriousSam3BFE/ss3sserver

+ 352 - 0
SeriousSam3BFE/ss3sserver

@@ -0,0 +1,352 @@
+#!/bin/bash
+# Serious Sam 3: BFE
+# Server Management Script
+# Author: Daniel Gibbs
+# Website: http://danielgibbs.co.uk
+# Version: 161214
+
+#### Variables ####
+
+# Notification Email
+# (on|off)
+emailnotification="off"
+email="email@example.com"
+
+# Steam login
+steamuser="username"
+steampass="passwprd"
+
+# Start Variables
+ip="0.0.0.0"
+
+# https://raw.githubusercontent.com/dgibbs64/linuxgameservers/master/SeriousSam3BFE/help/DedicatedServer_Readme.txt
+fn_parms(){
+parms="+ip ${ip} +logfile ${gamelog} +exec ${servercfgfullpath}"
+}
+
+#### Advanced Variables ####
+
+# Steam
+appid="41080"
+
+# Server Details
+servicename="ss3-server"
+gamename="Serious Sam 3: BFE"
+engine="seriousengine35"
+
+# Directories
+rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+selfname="$0"
+lockselfname=$(echo ".${servicename}.lock")
+filesdir="${rootdir}/serverfiles"
+systemdir="${filesdir}/Bin"
+executabledir="${systemdir}"
+executable="./runSam3_DedicatedServer.sh"
+servercfgdir="${filesdir}/Content/SeriousSam3/Config"
+servercfg="${servicename}.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+backupdir="backups"
+
+# Logging
+logdays="7"
+gamelogdir="${rootdir}/log/server"
+scriptlogdir="${rootdir}/log/script"
+consolelogdir="${rootdir}/log/console"
+
+gamelog="${gamelogdir}/${servicename}-game.log"
+scriptlog="${scriptlogdir}/${servicename}-script.log"
+consolelog="${consolelogdir}/${servicename}-console.log"
+emaillog="${scriptlogdir}/${servicename}-email.log"
+
+gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%d-%m-%Y-%H-%M-%S').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"
+
+##### Script #####
+# Do not edit
+# unless you know
+# what you are doing
+
+fn_scriptlog(){
+	echo -e "$(date '+%b %d %H:%M:%S') ${servicename}: ${1}" >> "${scriptlog}"
+}
+
+# [ FAIL ]
+fn_printfail(){
+    echo -en "\r\033[K[\e[0;31m FAIL \e[0;39m] $@"
+}
+
+fn_printfailnl(){
+    echo -e "\r\033[K[\e[0;31m FAIL \e[0;39m] $@"
+}
+
+# [  OK  ]
+fn_printok(){
+    echo -en "\r\033[K[\e[0;32m  OK  \e[0;39m] $@"
+}
+
+fn_printoknl(){
+    echo -e "\r\033[K[\e[0;32m  OK  \e[0;39m] $@"
+}
+
+# [ INFO ]
+fn_printinfo(){
+    echo -en "\r\033[K[\e[0;36m INFO \e[0;39m] $@"
+}
+
+fn_printinfonl(){
+    echo -e "\r\033[K[\e[0;36m INFO \e[0;39m] $@"
+}
+
+# [ WARN ]
+fn_printwarn(){
+	echo -en "\r\033[K[\e[1;33m WARN \e[0;39m] $@"
+}
+
+fn_printwarnnl(){
+	echo -e "\r\033[K[\e[1;33m WARN \e[0;39m] $@"
+}
+
+# [ .... ]
+fn_printdots(){
+    echo -en "\r\033[K[ .... ] $@"
+}
+
+fn_rootcheck(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_syscheck(){
+if [ ! -e "${systemdir}" ]; then
+	fn_printfailnl "Cannot access ${systemdir}: No such directory"
+	exit
+fi
+}
+
+fn_autoip(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_logmanager(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_debugserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_console(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_backupserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_distro(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_uptime(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_load(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_emailnotification(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_emailtest(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_serverquery(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_monitorserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_updateserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_validateserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_restartserver(){
+fn_scriptlog "Restarting ${servername}"
+fn_stopserver
+fn_startserver
+}
+
+fn_stopserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_startserver(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_details(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_runfunction(){
+# Download function if missing
+if [ ! -f "${rootdir}/functions/${functionfile}" ]; then
+	cd "${rootdir}"
+	if [ ! -d "functions" ]; then
+		mkdir functions
+	fi
+	echo "loading ${functionfile}..."
+	cd functions
+	wget --no-check-certificate -nv -N https://raw.githubusercontent.com/dgibbs64/linuxgameservers/master/functions/${functionfile}
+	chmod +x "${functionfile}"
+	cd "${rootdir}"
+	sleep 1
+	echo ""
+fi
+# Run function
+source "${rootdir}/functions/${functionfile}"
+}
+
+#
+## Installer
+#
+
+fn_header(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_steamdl(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_steaminstall(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_steamfix(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_loginstall(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_getquery(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_retryinstall(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_serverdirectory(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_serverconfig(){
+functionfile="${FUNCNAME}"
+fn_runfunction
+}
+
+fn_install(){
+fn_rootcheck
+fn_header
+if [ -z "${autoinstall}" ]; then
+	fn_serverdirectory
+	fn_header
+fi
+fn_steamdl
+fn_steaminstall
+fn_steamfix
+fn_loginstall
+fn_serverconfig
+fn_header
+fn_details
+echo "================================="
+echo "Install Complete!"
+echo ""
+echo "To start server type:"
+echo "${selfname} start"
+echo ""
+}
+
+fn_autoinstall(){
+autoinstall=1
+fn_install
+}
+
+case "$1" in
+	start)
+		fn_startserver;;
+	stop)
+		fn_stopserver;;
+	restart)
+		fn_restartserver;;
+	update)
+		fn_updateserver;;
+	update-restart)
+		fn_stopserver
+		fn_updateserver
+		fn_startserver;;
+	validate)
+		fn_validateserver;;
+	validate-restart)
+		fn_stopserver
+		fn_validateserver
+		fn_startserver;;
+	monitor)
+		fn_monitorserver;;
+	email-test)
+		fn_emailtest;;
+	details)
+		fn_details;;
+	backup)
+		fn_backupserver;;
+	console)
+		fn_console;;
+	debug)
+		fn_debugserver;;
+	install)
+		fn_install;;
+	auto-install)
+		fn_autoinstall;;
+	*)
+	echo "Usage: $0 {start|stop|restart|update|update-restart|validate|validate-restart|monitor|email-test|details|backup|console|debug|install|auto-install}"
+	exit 1;;
+esac
+exit