committed by
GitHub
168 changed files with 432 additions and 507 deletions
@ -1,205 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
# Project: Game Server Managers - LinuxGSM |
|
||||
# Author: Daniel Gibbs |
|
||||
# License: MIT License, Copyright (c) 2017 Daniel Gibbs |
|
||||
# Purpose: Counter-Strike: Classic 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="170128" |
|
||||
|
|
||||
########################## |
|
||||
######## Settings ######## |
|
||||
########################## |
|
||||
|
|
||||
#### Server Settings #### |
|
||||
|
|
||||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters |
|
||||
defaultmap="de_dust2_csco" |
|
||||
maxplayers="16" |
|
||||
port="27015" |
|
||||
sourcetvport="27020" |
|
||||
clientport="27005" |
|
||||
ip="0.0.0.0" |
|
||||
|
|
||||
## Required: Game Server Login Token |
|
||||
# GSLT is required for running a public server. |
|
||||
# More info: https://gameservermanagers.com/gslt |
|
||||
gslt="" |
|
||||
|
|
||||
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters |
|
||||
fn_parms(){ |
|
||||
parms="-game csco -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers}" |
|
||||
} |
|
||||
|
|
||||
#### LinuxGSM Settings #### |
|
||||
|
|
||||
## Notification Alerts |
|
||||
# (on|off) |
|
||||
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email |
|
||||
emailalert="off" |
|
||||
email="[email protected]" |
|
||||
emailfrom="" |
|
||||
|
|
||||
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet |
|
||||
pushbulletalert="off" |
|
||||
pushbullettoken="accesstoken" |
|
||||
channeltag="" |
|
||||
|
|
||||
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update |
|
||||
updateonstart="off" |
|
||||
|
|
||||
## 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" |
|
||||
|
|
||||
#### LinuxGSM Advanced Settings #### |
|
||||
|
|
||||
## SteamCMD Settings |
|
||||
# Server appid |
|
||||
appid="740" |
|
||||
# Steam App Branch Select |
|
||||
# Allows to opt into the various Steam app branches. Default branch is "". |
|
||||
# Example: "-beta latest_experimental" |
|
||||
branch="" |
|
||||
|
|
||||
## 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="Counter-Strike: Classic Offensive" |
|
||||
engine="source" |
|
||||
|
|
||||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers |
|
||||
servicename="csco-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}/csco" |
|
||||
executabledir="${filesdir}" |
|
||||
executable="./srcds_run" |
|
||||
servercfg="${servicename}.cfg" |
|
||||
servercfgdefault="server.cfg" |
|
||||
servercfgdir="${systemdir}/cfg" |
|
||||
servercfgfullpath="${servercfgdir}/${servercfg}" |
|
||||
|
|
||||
## Backup Directory |
|
||||
backupdir="${rootdir}/backups" |
|
||||
|
|
||||
## Logging Directories |
|
||||
gamelogdir="${systemdir}/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 |
|
@ -1,3 +1,3 @@ |
|||||
# LGSM - Official Logos |
# LinuxGSM - Official Logos |
||||
For Reference the original design can be found here. |
For Reference the original design can be found here. |
||||
http://twolofbees.com/artwork.php?iid=870 |
http://twolofbees.com/artwork.php?iid=870 |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue