#!/bin/bash
# ARMA 3
# Server Management Script
# Author: Daniel Gibbs
# Contributor: Scarsz
# Website: http://gameservermanagers.com
version="040715"

#### Variables ####

# Notification Email
# (on|off)
emailnotification="off"
email="email@example.com"

# Steam login
steamuser="username"
steampass="password"

# Start Variables
ip="0.0.0.0"
updateonstart="off"

fn_parms(){
parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods}"
}

# ARMA 3 Modules
# add mods with relative paths:
# mods/\@CBA_A3\;
# or several mods as:
# mods/\@CBA_A3\;mods/\@task_force_radio
# and chmod modules directories to 775
mods=""

#### Advanced Variables ####

# Steam
# Stable
appid="233780"
# Development
# appid="233780 -beta development"

# Server Details
servicename="arma3-server"
gamename="ARMA 3"
engine="realvirtuality"

# Directories
rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
selfname="$(basename $0)"
lockselfname=".${servicename}.lock"
filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./arma3server"
servercfg="${servicename}.server.cfg"
networkcfg="${servicename}.network.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
networkcfgfullpath="${servercfgdir}/${networkcfg}"
servercfgdefault="${servercfgdir}/lgsm-default.server.cfg"
networkcfgdefault="${servercfgdir}/lgsm-default.network.cfg"
backupdir="${rootdir}/backups"

# Logging
logdays="7"
#gamelogdir="" # No server logs available
scriptlogdir="${rootdir}/log/script"
consolelogdir="${rootdir}/log/console"

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"

##### Script #####
# Do not edit

fn_runfunction(){
# Functions are downloaded and run with this function
if [ ! -f "${rootdir}/functions/${functionfile}" ]; then
	cd "${rootdir}"
	if [ ! -d "functions" ]; then
		mkdir functions
	fi
	cd functions
	echo -e "    loading ${functionfile}...\c"
	wget -N /dev/null https://raw.githubusercontent.com/dgibbs64/linuxgsm/master/functions/${functionfile} 2>&1 | grep -F HTTP | cut -c45-
	chmod +x "${functionfile}"
	cd "${rootdir}"
fi
source "${rootdir}/functions/${functionfile}"
}

fn_functions(){
# Functions are defined in fn_functions.
functionfile="${FUNCNAME}"
fn_runfunction
}

fn_functions

getopt=$1
fn_getopt