-
-
Notifications
You must be signed in to change notification settings - Fork 831
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Fixes #991 (#1165) * stbuf will no longer be used on x64 #991 * Added BF1942 ncurses requirement to CentOS * adding Call of Duty (#1118) * adding Call of Duty 2 (#1127) * Improvements up command_backup.sh added backup trap and improved lockfile support changes to the messages displayed on screen renamed some functions other misc changes
- Loading branch information
Showing
75 changed files
with
619 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
#!/bin/bash | ||
# Project: Game Server Managers - LinuxGSM | ||
# Author: Daniel Gibbs | ||
# License: MIT License, Copyright (c) 2016 Daniel Gibbs | ||
# Purpose: Call of Duty | 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="161113" | ||
|
||
########################## | ||
######## Settings ######## | ||
########################## | ||
|
||
#### Server Settings #### | ||
|
||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters | ||
defaultmap="mp_neuville" | ||
maxclients="20" | ||
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" | ||
|
||
## 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 | ||
# Allows for the use of different function files | ||
# from a different repo and/or branch. | ||
githubuser="GameServerManagers" | ||
githubrepo="LinuxGSM" | ||
githubbranch="master" | ||
|
||
## LinuxGSM Server Details | ||
# Do not edit | ||
gamename="Call of Duty" | ||
engine="idtech3" | ||
|
||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers | ||
servicename="cod-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="./cod_lnxded" | ||
servercfg="${servicename}.cfg" | ||
servercfgdefault="server.cfg" | ||
servercfgdir="${systemdir}/main" | ||
servercfgfullpath="${servercfgdir}/${servercfg}" | ||
|
||
## Backup Directory | ||
backupdir="${rootdir}/backups" | ||
|
||
## Logging Directories | ||
gamelogdir="${filesdir}/Logs" | ||
scriptlogdir="${rootdir}/log/script" | ||
consolelogdir="${rootdir}/log/console" | ||
scriptlog="${scriptlogdir}/${servicename}-script.log" | ||
consolelog="${consolelogdir}/${servicename}-console.log" | ||
emaillog="${scriptlogdir}/${servicename}-email.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 ##### | ||
######################## | ||
|
||
# Fetches core_dl for file downloads | ||
fn_fetch_core_dl(){ | ||
github_file_url_dir="lgsm/functions" | ||
github_file_url_name="${functionfile}" | ||
filedir="${functionsdir}" | ||
filename="${github_file_url_name}" | ||
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" | ||
# If the file is missing, then download | ||
if [ ! -f "${filedir}/${filename}" ]; then | ||
if [ ! -d "${filedir}" ]; then | ||
mkdir -p "${filedir}" | ||
fi | ||
echo -e " fetching ${filename}...\c" | ||
# Check curl exists and use available path | ||
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" | ||
for curlcmd in ${curlpaths} | ||
do | ||
if [ -x "${curlcmd}" ]; then | ||
break | ||
fi | ||
done | ||
# If curl exists download file | ||
if [ "$(basename ${curlcmd})" == "curl" ]; then | ||
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) | ||
if [ $? -ne 0 ]; then | ||
echo -e "\e[0;31mFAIL\e[0m\n" | ||
echo "${curlfetch}" | ||
echo -e "${githuburl}\n" | ||
exit 1 | ||
else | ||
echo -e "\e[0;32mOK\e[0m" | ||
fi | ||
else | ||
echo -e "\e[0;31mFAIL\e[0m\n" | ||
echo "Curl is not installed!" | ||
echo -e "" | ||
exit 1 | ||
fi | ||
chmod +x "${filedir}/${filename}" | ||
fi | ||
source "${filedir}/${filename}" | ||
} | ||
|
||
core_dl.sh(){ | ||
# Functions are defined in core_functions.sh. | ||
functionfile="${FUNCNAME}" | ||
fn_fetch_core_dl | ||
} | ||
|
||
core_functions.sh(){ | ||
# Functions are defined in core_functions.sh. | ||
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 |
Oops, something went wrong.