5 changed files with 188 additions and 1 deletions
@ -0,0 +1,36 @@ |
|||||
|
set sv_hostname "<hostname>" |
||||
|
set sv_maxclients 10 |
||||
|
set g_motd "LGSM Quake3 Server" |
||||
|
set g_forcerespawn 15 |
||||
|
set rconpassword "<rconpassword>" |
||||
|
set g_gametype 1 |
||||
|
set fraglimit 50 |
||||
|
set timelimit 20 |
||||
|
|
||||
|
//Here's the map-cycle. When fraglimit or timelimit is reached, the map is automatically changed. |
||||
|
//Otherwise it would just play the same map again. |
||||
|
set m1 "map q3dm1; set nextmap vstr m2" |
||||
|
set m2 "map q3dm2; set nextmap vstr m3" |
||||
|
set m3 "map q3dm3; set nextmap vstr m4" |
||||
|
set m4 "map q3tourney1; set nextmap vstr m5" |
||||
|
set m5 "map q3dm4; set nextmap vstr m6" |
||||
|
set m6 "map q3dm5; set nextmap vstr m7" |
||||
|
set m7 "map q3dm6; set nextmap vstr m8" |
||||
|
set m8 "map q3tourney2; set nextmap vstr m9" |
||||
|
set m9 "map q3dm7; set nextmap vstr m10" |
||||
|
set m10 "map q3dm8; set nextmap vstr m11" |
||||
|
set m11 "map q3dm9; set nextmap vstr m12" |
||||
|
set m12 "map q3tourney3; set nextmap vstr m13" |
||||
|
set m13 "map q3dm10; set nextmap vstr m14" |
||||
|
set m14 "map q3dm11; set nextmap vstr m15" |
||||
|
set m15 "map q3dm12; set nextmap vstr m16" |
||||
|
set m16 "map q3tourney4; set nextmap vstr m17" |
||||
|
set m17 "map q3dm13; set nextmap vstr m18" |
||||
|
set m18 "map q3dm14; set nextmap vstr m19" |
||||
|
set m19 "map q3dm15; set nextmap vstr m20" |
||||
|
set m20 "map q3tourney5; set nextmap vstr m21" |
||||
|
set m21 "map q3dm16; set nextmap vstr m22" |
||||
|
set m22 "map q3dm17; set nextmap vstr m23" |
||||
|
set m23 "map q3dm18; set nextmap vstr m24" |
||||
|
set m24 "map q3dm19; set nextmap vstr m25" |
||||
|
set m25 "map q3tourney6; set nextmap vstr m1" |
@ -0,0 +1,143 @@ |
|||||
|
#!/bin/bash |
||||
|
# Quake 3: Team Arena |
||||
|
# Server Management Script |
||||
|
# Author: Daniel Gibbs |
||||
|
# Website: https://gameservermanagers.com |
||||
|
if [ -f ".dev-debug" ]; then |
||||
|
exec 5>dev-debug.log |
||||
|
BASH_XTRACEFD="5" |
||||
|
set -x |
||||
|
fi |
||||
|
|
||||
|
version="210516" |
||||
|
|
||||
|
#### Variables #### |
||||
|
|
||||
|
# Notification Alerts |
||||
|
# (on|off) |
||||
|
|
||||
|
# Email |
||||
|
emailalert="off" |
||||
|
email="[email protected]" |
||||
|
|
||||
|
# Pushbullet |
||||
|
# https://www.pushbullet.com/#settings |
||||
|
pushbulletalert="off" |
||||
|
pushbullettoken="accesstoken" |
||||
|
|
||||
|
# Start Variables |
||||
|
ip="0.0.0.0" |
||||
|
port="27960" |
||||
|
|
||||
|
fn_parms(){ |
||||
|
parms="+set sv_punkbuster 1 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg}" |
||||
|
} |
||||
|
|
||||
|
#### 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" |
||||
|
|
||||
|
# Server Details |
||||
|
servicename="quake3-server" |
||||
|
gamename="Quake 3: Team Arena" |
||||
|
engine="idtech3" |
||||
|
|
||||
|
# 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" |
||||
|
filesdir="${rootdir}/serverfiles" |
||||
|
systemdir="${filesdir}/baseq3" |
||||
|
executabledir="${filesdir}" |
||||
|
executable="./q3ded" |
||||
|
servercfg="${servicename}.cfg" |
||||
|
servercfgdir="${systemdir}" |
||||
|
servercfgfullpath="${servercfgdir}/${servercfg}" |
||||
|
servercfgdefault="${servercfgdir}/lgsm-default.cfg" |
||||
|
backupdir="${rootdir}/backups" |
||||
|
|
||||
|
# Logging |
||||
|
logdays="7" |
||||
|
gamelogdir="${filesdir}/Logs" |
||||
|
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" |
||||
|
|
||||
|
##### 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 |
||||
|
} |
||||
|
|
||||
|
core_dl.sh |
||||
|
core_functions.sh |
||||
|
|
||||
|
getopt=$1 |
||||
|
core_getopt.sh |
Loading…
Reference in new issue