From 020a153c79007e558e4384885c33eff4c14418f0 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 00:45:55 +0000 Subject: [PATCH 1/6] Added BB2 to GSLT --- functions/command_install.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/functions/command_install.sh b/functions/command_install.sh index 75e6c0060..b654410a2 100644 --- a/functions/command_install.sh +++ b/functions/command_install.sh @@ -30,11 +30,9 @@ fix.sh install_logs.sh install_gsquery.sh install_config.sh -if [ "${gamename}" == "Counter Strike: Global Offensive" ]; then +if [ "${gamename}" == "Counter Strike: Global Offensive" ]||[ "${gamename}" == "Team Fortress 2" ]||[ "${gamename}" == "Brain Bread 2" ]; then install_gslt.sh elif [ "${gamename}" == "Teamspeak 3" ]; then install_ts3db.sh -elif [ "${gamename}" == "Team Fortress 2" ]; then - install_gslt.sh fi install_complete.sh From 516a0af30e994c8430155e5ee5b4320b55bded1b Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 00:49:50 +0000 Subject: [PATCH 2/6] Added bb2server --- BrainBread2/bb2server | 138 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 BrainBread2/bb2server diff --git a/BrainBread2/bb2server b/BrainBread2/bb2server new file mode 100644 index 000000000..fc93b31b5 --- /dev/null +++ b/BrainBread2/bb2server @@ -0,0 +1,138 @@ +#!/bin/bash +# BrainBread 2 +# Server Management Script +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x +fi + +version="090116" + +#### Variables #### + +# Notification Email +# (on|off) +emailnotification="off" +email="email@example.com" + +# Steam login +steamuser="username" +steampass="password" + +# Start Variables +defaultmap="bba_barracks" +maxplayers="20" +port="27015" +sourcetvport="27020" +clientport="27005" +ip="0.0.0.0" +updateonstart="off" + +# https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server +fn_parms(){ +parms="-game brainbread2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +} + +#### Advanced Variables #### + +# Github Branch Select +# Allows for the use of different function files +# from a different repo and/or branch. +githubuser="dgibbs64" +githubrepo="linuxgsm" +githubbranch="master" + +# Steam +appid="346330" + +# Server Details +servicename="bb2-server" +gamename="BrainBread 2" +engine="source" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +lockselfname=".${servicename}.lock" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}/brainbread2" +executabledir="${filesdir}" +executable="./srcds_run" +servercfg="${servicename}.cfg" +servercfgdir="${systemdir}/cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +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" + +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_getgithubfile(){ +filename=$1 +exec=$2 +fileurl=${3:-$filename} +filepath="${rootdir}/${filename}" +filedir=$(dirname "${filepath}") +# If the function file is missing, then download +if [ ! -f "${filepath}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir "${filedir}" + fi + githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${fileurl}" + echo -e " fetching ${filename}...\c" + if [ "$(command -v curl)" ]||[ "$(which curl >/dev/null 2>&1)" ]||[ -f "/usr/bin/curl" ]||[ -f "/bin/curl" ]; then + : + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit + fi + curl=$(curl --fail -o "${filepath}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curl}" + echo -e "${githuburl}\n" + exit + else + echo -e "\e[0;32mOK\e[0m" + fi + if [ "${exec}" ]; then + chmod +x "${filepath}" + fi +fi +if [ "${exec}" ]; then + source "${filepath}" +fi +} + +fn_runfunction(){ + fn_getgithubfile "functions/${functionfile}" 1 +} + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_runfunction +} + +core_functions.sh + +getopt=$1 +core_getopt.sh From 8eedfbd01a9d7cede9a48149e0ab86a26dcbb2fa Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 10:25:30 +0000 Subject: [PATCH 3/6] Changed Server to game --- FistfulOfFrags/cfg/lgsm-default.cfg | 4 ++-- NoMoreRoomInHell/cfg/lgsm-default.cfg | 4 ++-- PiratesVikingandKnightsII/cfg/lgsm-default.cfg | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/FistfulOfFrags/cfg/lgsm-default.cfg b/FistfulOfFrags/cfg/lgsm-default.cfg index d7e1d9aa9..81d9929fc 100644 --- a/FistfulOfFrags/cfg/lgsm-default.cfg +++ b/FistfulOfFrags/cfg/lgsm-default.cfg @@ -1,7 +1,7 @@ // **************************************************************************** // * // Fistful of Frags - server.cfg * -// Version 271015 * +// Version 100116 * // * // **************************************************************************** @@ -40,7 +40,7 @@ mapcyclefile "mapcycle.txt" // Default: mp_timelimit 0 mp_timelimit 15 -// ........................ Server Specific Commands ........................ // +// ........................ Game Specific Commands ........................ // // info: any commands that only apply to this game. // Game Modes diff --git a/NoMoreRoomInHell/cfg/lgsm-default.cfg b/NoMoreRoomInHell/cfg/lgsm-default.cfg index 83645c78c..ba48eab5b 100644 --- a/NoMoreRoomInHell/cfg/lgsm-default.cfg +++ b/NoMoreRoomInHell/cfg/lgsm-default.cfg @@ -1,7 +1,7 @@ // **************************************************************************** // * // No More Room in Hell - server.cfg * -// Version 150815 * +// Version 100116 * // * // **************************************************************************** @@ -43,7 +43,7 @@ mp_timelimit 45 // Default: mp_maxrounds 2 mp_maxrounds 2 -// ........................ Server Specific Commands ........................ // +// ........................ Game Specific Commands ........................ // // info: any commands that only apply to this game. // Difficulty diff --git a/PiratesVikingandKnightsII/cfg/lgsm-default.cfg b/PiratesVikingandKnightsII/cfg/lgsm-default.cfg index 8469f1014..48ba5072a 100644 --- a/PiratesVikingandKnightsII/cfg/lgsm-default.cfg +++ b/PiratesVikingandKnightsII/cfg/lgsm-default.cfg @@ -1,7 +1,7 @@ // **************************************************************************** // * // Pirates, Vikings, and Knights II * -// Version 150815 * +// Version 100116 * // * // **************************************************************************** @@ -48,7 +48,7 @@ mp_roundtime 3 // Default: mp_winlimit 0 mp_winlimit 0 -// ........................ Server Specific Commands ........................ // +// ........................ Game Specific Commands ........................ // // Server tags - Tags show up on the in-game server browser. This helps // users filter servers. From e0ec06b91fea98f18a64a008b827464e9e70bcaa Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 10:25:41 +0000 Subject: [PATCH 4/6] Added Brainbread 2 config --- BrainBread2/cfg/lgsm-default.cfg | 200 +++++++++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 BrainBread2/cfg/lgsm-default.cfg diff --git a/BrainBread2/cfg/lgsm-default.cfg b/BrainBread2/cfg/lgsm-default.cfg new file mode 100644 index 000000000..4b4ac2513 --- /dev/null +++ b/BrainBread2/cfg/lgsm-default.cfg @@ -0,0 +1,200 @@ +// **************************************************************************** +// * +// BrainBread 2 - server.cfg * +// Version 080116 * +// * +// **************************************************************************** + +// ............................. Basic Settings ............................. // + +// Hostname for server. +hostname "" + +// RCON - remote console password. +rcon_password "" + +// Server password - for private servers. +sv_password "" + +// Contact email for server sysop. +sv_contact "email@example.com" + +// LAN Mode - If set the server will not show on the internet. +// Default: sv_lan 0 +sv_lan 0 + +// Cheats - Allows cheats on the server. Steam achievements and stats are disabled. +// Default: 0 +sv_cheats 0 + +// Friendly Fire - Allows team members to injure other members of their team. +// 0 = Friendly fire off. +// 1 = Friendly fire on. +// Default: 0 +mp_friendlyfire 0 + +// ........................ Game Specific Commands ........................ // +// info: any commands that only apply to this game. + + +// Mercy Value - Sets how many deaths until the players become human once again. +// Default: bb2_allow_mercy 0 +bb2_allow_mercy 3 + +// Late Joining - Allows players to spawn late. +// default bb2_allow_latejoin 0 +bb2_allow_latejoin 1 + +// Player Spawn Protection - Time in seconds after Spawn. +// default bb2_spawn_protection 1 +bb2_spawn_protection 15 + +// Profile System - Allow players to save and load there skills. +// 0 = Disabled, skills are not saved. +// 1 = Global, players can load there global skills. +// 2 = Server, players save there skills to the server. Steam achievements and stats are disabled. +// Default 1 +bb2_allow_profile_system 1 + +// Allow NPC to score - Allow friendly npcs to affect scoring. For example for quests. +// Default 1 +bb2_allow_npc_to_score 0 + +// Vote Settings + +// Voting: Passing Votes - Percentage of players that are required to pass a vote. +// Minimum: 0 +// Maximum: 100 +// Default 50 +bb2_votes_required 50 + +// Voting: Ban Time - Number of minutes a player be banned if a vaote ban passes. +// minimum: 0 (permanent) +// default 30 +bb2_ban_time 30 + + +// Arena Settings + +// Arena: Respawn Interval Time (Seconds). +// Minimum: 20 +// Default 40 +bb2_arena_respawn_time 25 + +// Arena: Number of Reinforcements. +// Minimum: 0 +// Maximum: 100 +// Default 14 +bb2_arena_reinforcement_count 14 + + +// Classic Mode Settings + +// Classic: Zombie No Team Change. +// 0 = Players can become zombies. +// 1 = Players cannot become zombies. +// Default 0 +bb2_classic_zombie_noteamchange 1 + + +// Elimination Settings + +// Elimination: Team Fraglimit - Number of frags for a team to win a game. +// Minimum: 10 +// Default 200 +bb2_elimination_fraglimit 200 + +// Elimination: Respawn Time (Seconds). +// Minimum: 1 +// Maximum: 30 +// Default 4 +bb2_elimination_respawn_time 5 + +// Elimination: Respawn Time Scale - Increase the respawn time by this many seconds for the teams. +// Minimum: 0 +// Maximum: 10 +// Default 1 +bb2_elimination_respawn_time_scale 1 + +// Elimination: Extermination Score - The score a team should be awarded for exterminating (kill everyone before respawn) the other team. +// Minimum: 0 +// Maximum: 50 +// Default 25 +bb2_elimination_score_from_extermination 25 + +// Elimination: Zombie Score - Number of point a zombie gets for a kill. +// Minimum: 2 +// Maximum: 10 +// Default 5 +bb2_elimination_score_zombies 5 + +// Elimination: Team Perk Duration - Number of seconds a team perk lasts. +// Minimum: 5 +// Maximum: 60 +// Default 30 +bb2_elimination_teamperk_duration 30 + +// Elimination: Team Perk Required Kills - Number of kills a team need to get in order to activate a team perk. +// Minimum: 25 +// Maximum: 500 +// Default 50 +bb2_elimination_teamperk_kills_required 50 + + +// Zombie Settings + +// Zombie Lifespan - Number of minutes a regular zombie will last before dying. +// Minimum: 1 +// Default 5 +bb2_zombie_lifespan 2 + +// Max Zombies - Maximum number of zombies allowed in the game. +// Minimum: 1 +// Maximum: 128 +// Default 50 +bb2_zombie_max 45 + + +// M1A1 Abrams Settings + +// M1A1 Abrams: Main Cannon Damage. +// Minimum: 100 +// Maximum: 10000 +// Default 3000 +bb2_m1a1_damage 200 + +// M1A1 Abrams: Machinegun Damage. +// Minimum: 25 +// Maximum: 1000 +// Default 30 +bb2_m1a1_damage_machinegun 25 + +// M1A1 Abrams: Friendly Fire (Including NPC's). +// Minimum: 0 +// Maximum: 1 +// Default 1 +bb2_m1a1_friendly 1 + +// M1A1 Abrams: Machinegun Rate of Fire. +// Minimum: 0.01 +// Maximum: 1 +// Default 0.08 +bb2_m1a1_machinegun_firerate 1 + +// M1A1 Abrams: Explosion Radius. +// Minimum: 200 +// Maximum: 10000 +// Default 500 +bb2_m1a1_radius 500 + +// M1A1 Abrams: Max Sight Range. +// Minimum: 500 +// Maximum: 10000 +// Default 2000 +bb2_m1a1_range_max 1000 + +// M1A1 Abrams: Min Sight Range. +// Minimum: 250 +// Maximum: 5000 +// Default 400 +bb2_m1a1_range_min 250 \ No newline at end of file From a587cfc7d2bbf533b4687e64e87a892d75053b16 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 10:38:43 +0000 Subject: [PATCH 5/6] Install SteamCMD now uses the check instead check_steamcmd has more functionality for installing SteamCMD. Install now points to check --- functions/install_steamcmd.sh | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/functions/install_steamcmd.sh b/functions/install_steamcmd.sh index fe944a253..1f744e7f6 100644 --- a/functions/install_steamcmd.sh +++ b/functions/install_steamcmd.sh @@ -10,31 +10,4 @@ echo "" echo "Installing SteamCMD" echo "=================================" sleep 1 -steamcmddir="${rootdir}/steamcmd" -if [ ! -f "${steamcmddir}/steamcmd.sh" ]; then - if [ ! -d "${steamcmddir}" ]; then - mkdir -v "${steamcmddir}" - fi - curl=$(curl --fail -o "${steamcmddir}/steamcmd_linux.tar.gz" "http://media.steampowered.com/client/steamcmd_linux.tar.gz" 2>&1) - exitcode=$? - echo -e "downloading steamcmd_linux.tar.gz...\c" - if [ $exitcode -eq 0 ]; then - fn_printokeol - else - fn_printfaileol - echo "${curl}" - echo -e "${githuburl}\n" - exit $exitcode - fi - tar --verbose -zxf "${steamcmddir}/steamcmd_linux.tar.gz" -C "${steamcmddir}" - rm -v "${steamcmddir}/steamcmd_linux.tar.gz" - chmod +x "${steamcmddir}/steamcmd.sh" -else - echo "SteamCMD already installed!" -fi - # Checks that steamcmd is working correctly and will prompt Steam Guard if required. - "${steamcmddir}"/steamcmd.sh +login "${steamuser}" "${steampass}" +quit - if [ $? -ne 0 ]; then - fn_printfailurenl "Error running SteamCMD" - fi -sleep 1 +check_steamcmd.sh From 628a04583b9ff7509d2c5799c1b3e75a7c69188b Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 10 Jan 2016 10:39:02 +0000 Subject: [PATCH 6/6] Added BrainBread 2 Config --- functions/install_config.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/functions/install_config.sh b/functions/install_config.sh index 142a680e2..f0d57ea14 100644 --- a/functions/install_config.sh +++ b/functions/install_config.sh @@ -2,7 +2,7 @@ # LGSM install_config.sh function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="271215" +lgsm_version="100116" fn_defaultconfig(){ echo "creating ${servercfg} config file." @@ -165,6 +165,11 @@ elif [ "${gamename}" == "ARMA 3" ]; then wget -N /dev/null ${githuburl}/Arma3/cfg/lgsm-default.network.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_arma3config +elif [ "${gamename}" == "BrainBread 2" ]; then + echo -e "downloading lgsm-default.cfg...\c" + wget -N /dev/null ${githuburl}/BrainBread2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_sourceconfig elif [ "${gamename}" == "Black Mesa: Deathmatch" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/BlackMesa/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq