-
-
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.
- Loading branch information
Showing
88 changed files
with
487 additions
and
198 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
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,228 @@ | ||
#!/bin/bash | ||
# Project: Game Server Managers - LinuxGSM | ||
# Author: Daniel Gibbs | ||
# License: MIT License, Copyright (c) 2017 Daniel Gibbs | ||
# Purpose: 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="170530" | ||
|
||
########################## | ||
######## Settings ######## | ||
########################## | ||
|
||
#### Server Settings #### | ||
|
||
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters | ||
# https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server | ||
# [Game Modes] gametype gamemode | ||
# Arms Race 1 0 | ||
# Classic Casual 0 0 | ||
# Classic Competitive 0 1 | ||
# Demolition 1 1 | ||
# Deathmatch 1 2 | ||
gametype="0" | ||
gamemode="0" | ||
defaultmap="de_mirage" | ||
mapgroup="mg_active" | ||
maxplayers="16" | ||
tickrate="64" | ||
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="" | ||
|
||
## Optional: Workshop Parameters | ||
# https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators | ||
# To get an authkey visit - http://steamcommunity.com/dev/apikey | ||
# authkey="" | ||
# ws_collection_id="" | ||
# ws_start_map="" | ||
|
||
## 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} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey}" | ||
} | ||
|
||
#### 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" | ||
appid_co="600380" | ||
# Steam App Branch Select | ||
# Allows to opt into the various Steam app branches. Default branch is "". | ||
# Example: "-beta latest_experimental" | ||
branch="" | ||
|
||
## SteamCMD Login | https://github.com/GameServerManagers/LinuxGSM/wiki/SteamCMD#steamcmd-login | ||
steamuser="accountname" | ||
steampass='accountpassword' | ||
|
||
## 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="Classic Offensive" | ||
engine="source" | ||
|
||
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers | ||
servicename="co-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 |
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
Oops, something went wrong.