|
|
@ -1,60 +1,90 @@ |
|
|
|
#!/bin/bash |
|
|
|
# TravisCI Tests: Just Cause 2 |
|
|
|
# Server Management Script |
|
|
|
# Just Cause 2 |
|
|
|
# Project: Game Server Managers - LinuxGSM |
|
|
|
# Author: Daniel Gibbs |
|
|
|
# License: MIT License, Copyright (c) 2016 Daniel Gibbs |
|
|
|
# Purpose: TravisCI Test: Just Cause 2 | Server Management Script |
|
|
|
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors |
|
|
|
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki |
|
|
|
# Website: https://gameservermanagers.com |
|
|
|
|
|
|
|
version="101716" |
|
|
|
|
|
|
|
# Debugging |
|
|
|
if [ -f ".dev-debug" ]; then |
|
|
|
exec 5>dev-debug.log |
|
|
|
BASH_XTRACEFD="5" |
|
|
|
set -x |
|
|
|
fi |
|
|
|
|
|
|
|
#### Variables #### |
|
|
|
version="161030" |
|
|
|
|
|
|
|
# Notification Alerts |
|
|
|
# (on|off) |
|
|
|
########################## |
|
|
|
######## Settings ######## |
|
|
|
########################## |
|
|
|
|
|
|
|
#### Server Settings #### |
|
|
|
# No settings available for Just Cause 2 |
|
|
|
|
|
|
|
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|
|
|
# Edit with care |
|
|
|
fn_parms(){ |
|
|
|
parms="" |
|
|
|
} |
|
|
|
|
|
|
|
#### LinuxGSM Settings #### |
|
|
|
|
|
|
|
# Email |
|
|
|
## Notification Alerts |
|
|
|
# (on|off) |
|
|
|
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|
|
|
emailalert="off" |
|
|
|
email="email@example.com" |
|
|
|
#emailfrom="email@example.com" |
|
|
|
|
|
|
|
# Pushbullet |
|
|
|
# https://www.pushbullet.com/#settings |
|
|
|
emailfrom="" |
|
|
|
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|
|
|
pushbulletalert="off" |
|
|
|
pushbullettoken="accesstoken" |
|
|
|
|
|
|
|
# Steam login |
|
|
|
steamuser="anonymous" |
|
|
|
steampass="" |
|
|
|
|
|
|
|
# Start Variables |
|
|
|
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|
|
|
updateonstart="off" |
|
|
|
|
|
|
|
fn_parms(){ |
|
|
|
parms="" |
|
|
|
} |
|
|
|
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup |
|
|
|
maxbackups="4" |
|
|
|
maxbackupdays="30" |
|
|
|
stoponbackup="on" |
|
|
|
|
|
|
|
#### Advanced Variables #### |
|
|
|
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging |
|
|
|
consolelogging="on" |
|
|
|
logdays="7" |
|
|
|
|
|
|
|
#### LinuxGSM Advanced Settings #### |
|
|
|
|
|
|
|
## SteamCMD Settings |
|
|
|
# Server appid |
|
|
|
appid="261140" |
|
|
|
# Steam App Branch Select |
|
|
|
# Allows to opt into the various Steam app branches. Default branch is "". |
|
|
|
# Example: "-beta latest_experimental" |
|
|
|
branch="" |
|
|
|
|
|
|
|
# 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="$TRAVIS_BRANCH" |
|
|
|
|
|
|
|
# Steam |
|
|
|
appid="261140" |
|
|
|
|
|
|
|
# Server Details |
|
|
|
servicename="jc2-server" |
|
|
|
## LinuxGSM Server Details |
|
|
|
# Do not edit |
|
|
|
gamename="Just Cause 2" |
|
|
|
engine="avalanche" |
|
|
|
|
|
|
|
# Directories |
|
|
|
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|
|
|
servicename="jc2-server" |
|
|
|
|
|
|
|
#### Directories #### |
|
|
|
# Edit with care |
|
|
|
|
|
|
|
## Work Directories |
|
|
|
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" |
|
|
|
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" |
|
|
|
lockselfname=".${servicename}.lock" |
|
|
@ -63,6 +93,8 @@ functionsdir="${lgsmdir}/functions" |
|
|
|
libdir="${lgsmdir}/lib" |
|
|
|
tmpdir="${lgsmdir}/tmp" |
|
|
|
filesdir="${rootdir}/serverfiles" |
|
|
|
|
|
|
|
## Server Specific Directories |
|
|
|
systemdir="${filesdir}" |
|
|
|
executabledir="${filesdir}" |
|
|
|
executable="./Jcmp-Server" |
|
|
@ -70,24 +102,26 @@ servercfg="config.lua" |
|
|
|
servercfgdefault="config.lua" |
|
|
|
servercfgdir="${filesdir}" |
|
|
|
servercfgfullpath="${servercfgdir}/${servercfg}" |
|
|
|
|
|
|
|
## Backup Directory |
|
|
|
backupdir="${rootdir}/backups" |
|
|
|
|
|
|
|
# Logging |
|
|
|
logdays="7" |
|
|
|
## Logging Directories |
|
|
|
#gamelogdir="" # No server logs available |
|
|
|
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(){ |
|
|
@ -144,6 +178,17 @@ 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 |
|
|
|
|
|
|
|