From 8b7cc0e2d070b4a81c404ef47ff4f837aca4c3dd Mon Sep 17 00:00:00 2001 From: lrob Date: Sun, 21 Feb 2016 23:56:17 +0100 Subject: [PATCH 01/30] Create rustserver --- Rust/rustserver | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 Rust/rustserver diff --git a/Rust/rustserver b/Rust/rustserver new file mode 100644 index 000000000..35a95c9be --- /dev/null +++ b/Rust/rustserver @@ -0,0 +1,147 @@ +#!/bin/bash +# Rust +# Server Management Script +# Author: Daniel Gibbs +# Contributor: UltimateByte +# Website: http://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + set -x +fi + +version="210215" + +#### Variables #### + +# Notification Email +# (on|off) +emailnotification="off" +email="email@example.com" + +# Steam login (not required) +steamuser="anonymous" +steampass="" + +# Server settings +servername="Hurtworld LGSM Server" +ip="0.0.0.0" +port="28015" +queryport="28016" +maxplayers="20" +map="" #Optional rust_island_2013 +creativemode="0" #Free Build +logfile="gamelog.txt" + +# Adding admins using STEAMID64 +# Example : addadmin 012345678901234567; addadmin 987654321098765432 +admins="" + +# Advanced +# Rollback server state (remove after start command) +loadsave="" +# Use unstable 64 bit server executable (O/1) +x64mode="0" + +# https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server +fn_parms(){ +parms="-batchmode -hostname ${servername} -map ${map} -queryport ${queryport} -maxplayers ${maxplayers} -datadir \"serverdata\"" +} + +#### 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="258550" + +# Server Details +servicename="rust-server" +gamename="Rust" +engine="unity3d" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname=$(basename $(readlink -f "${BASH_SOURCE[0]}")) +lockselfname=".${servicename}.lock" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}" +executabledir="${filesdir}" +executable="./RustDedicated" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +gamelogdir="${rootdir}/log/server" +scriptlogdir="${rootdir}/log/script" +consolelogdir="${rootdir}/log/console" + +gamelog="${gamelogdir}/${servicename}-game.log" +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}"|grep "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 1079c19bfd9f8a07164aa3bb4443bff53caac517 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 00:30:31 +0100 Subject: [PATCH 02/30] Start parms v1 --- Rust/rustserver | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index 35a95c9be..da2c5c7f8 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -31,21 +31,15 @@ queryport="28016" maxplayers="20" map="" #Optional rust_island_2013 creativemode="0" #Free Build -logfile="gamelog.txt" - -# Adding admins using STEAMID64 -# Example : addadmin 012345678901234567; addadmin 987654321098765432 -admins="" +# logfile="gamelog.txt" # Advanced # Rollback server state (remove after start command) loadsave="" -# Use unstable 64 bit server executable (O/1) -x64mode="0" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode -hostname ${servername} -map ${map} -queryport ${queryport} -maxplayers ${maxplayers} -datadir \"serverdata\"" +parms="-batchmode -ip ${ip} -port ${port} -hostname ${servername} -map ${map} -queryport ${queryport} -maxplayers ${maxplayers} -datadir \"serverdata/\"" } #### Advanced Variables #### From c96b4c9262959fcac1f7d9e9b6996f02390b7b5c Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 14:04:11 +0100 Subject: [PATCH 03/30] Parms V2 Safe mode for now, with the syntax as it should be according to Unity usual commands --- Rust/rustserver | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index da2c5c7f8..740e1166e 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -24,22 +24,22 @@ steamuser="anonymous" steampass="" # Server settings -servername="Hurtworld LGSM Server" +servername="Rust LGSM Server" ip="0.0.0.0" -port="28015" -queryport="28016" -maxplayers="20" -map="" #Optional rust_island_2013 -creativemode="0" #Free Build -# logfile="gamelog.txt" +port="28015" #+server.port +rconport="28016" #+rcon.port +maxplayers="40" #+max.players +map="" #Optional +server.map "Procedural Map" or TestLevel # Advanced -# Rollback server state (remove after start command) -loadsave="" +worldsize="4000" #+server.worldsize default 4000 +saveinterval="600" #+server.saveinterval default 600 +logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode -ip ${ip} -port ${port} -hostname ${servername} -map ${map} -queryport ${queryport} -maxplayers ${maxplayers} -datadir \"serverdata/\"" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.-maxplayers ${maxplayers} -datadir \"serverdata/\" -logfile ${logfile}" + } #### Advanced Variables #### @@ -49,7 +49,7 @@ parms="-batchmode -ip ${ip} -port ${port} -hostname ${servername} -map ${map} -q # from a different repo and/or branch. githubuser="dgibbs64" githubrepo="linuxgsm" -githubbranch="master" +githubbranch="rust" # Steam appid="258550" From 642e79068dcbb54d6d2d466ed0a8dcbdcbda396d Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 14:12:43 +0100 Subject: [PATCH 04/30] removing a "-" --- Rust/rustserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index 740e1166e..4fedd73b6 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -38,7 +38,7 @@ logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.-maxplayers ${maxplayers} -datadir \"serverdata/\" -logfile ${logfile}" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} -datadir \"serverdata/\" -logfile ${logfile}" } From 608561582b6c631bcbfcd442e19a2d445d5bd28a Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 14:58:05 +0100 Subject: [PATCH 05/30] More start options --- Rust/rustserver | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index 4fedd73b6..c9eec6fc8 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -32,13 +32,13 @@ maxplayers="40" #+max.players map="" #Optional +server.map "Procedural Map" or TestLevel # Advanced -worldsize="4000" #+server.worldsize default 4000 -saveinterval="600" #+server.saveinterval default 600 +worldsize="4000" #+server.worldsize default 4000 +saveinterval="600" #+server.saveinterval default 600 (seconds) logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} -datadir \"serverdata/\" -logfile ${logfile}" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} -datadir \"serverdata/\" -logfile ${logfile}" } From 0057536196259b21c19ae2bbdb32489cdf44f2fd Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 14:59:36 +0100 Subject: [PATCH 06/30] added rconport --- Rust/rustserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index c9eec6fc8..f31251ad9 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -38,7 +38,7 @@ logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} -datadir \"serverdata/\" -logfile ${logfile}" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} -datadir \"serverdata/\" -logfile ${logfile}" } From 4b2894cc17a3cbacf41ae7d4c2c545a5e2b70254 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 15:00:14 +0100 Subject: [PATCH 07/30] Update rustserver --- Rust/rustserver | 1 - 1 file changed, 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index f31251ad9..003fcca06 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -39,7 +39,6 @@ logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} -datadir \"serverdata/\" -logfile ${logfile}" - } #### Advanced Variables #### From 6b89e412a15f21f1559e7cc79f78b1fe0569a8f1 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 15:47:41 +0100 Subject: [PATCH 08/30] New start parms --- Rust/rustserver | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index 003fcca06..d4737e38d 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -28,17 +28,18 @@ servername="Rust LGSM Server" ip="0.0.0.0" port="28015" #+server.port rconport="28016" #+rcon.port +rconpassword="" #+rcon.password maxplayers="40" #+max.players map="" #Optional +server.map "Procedural Map" or TestLevel # Advanced worldsize="4000" #+server.worldsize default 4000 -saveinterval="600" #+server.saveinterval default 600 (seconds) +saveinterval="300" #+server.saveinterval in seconds logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} -datadir \"serverdata/\" -logfile ${logfile}" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${logfile}" } #### Advanced Variables #### From 3c7a732aab1ecbac40b8af83bb924ef3a40b3bbf Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 15:48:07 +0100 Subject: [PATCH 09/30] Server config --- Rust/cfg/server.cfg | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Rust/cfg/server.cfg diff --git a/Rust/cfg/server.cfg b/Rust/cfg/server.cfg new file mode 100644 index 000000000..91d7a32d9 --- /dev/null +++ b/Rust/cfg/server.cfg @@ -0,0 +1,48 @@ +# This file does not include all possible commands but it includes the most common/useful ones. +# If you want to see all possible comands, in the server console type: find . + +# Before some variables are a # symbol. This means it is disabled. Remove the # symbol to enable them. + +######################################### +# Important Settings You Need To Change # +######################################### + +# A text description of your server. For a new line add: \n +server.description "LGSM Server\nRust support : UltimateByte" + +# A URL to the image which shows up on the server details screen (dimensions are 512x256). +server.headerimage "https://github.com/dgibbs64/linuxgsm/raw/master/images/logo/lgsm-full-light.png" + +# The URL to your servers website. +server.url "http://gameservermanagers.com/" + +#################################### +# Optional Settings You Can Change # +#################################### + +# A value of false makes text chat location based only (players need to be close to each other). +# Values: true, false +#server.globalchat true + +# Controls if player vs player damage is allowed. If your server is primarily for building, you'll want to set this to false +# Values: true, false +#server.pve false + +# Controls fall damage. +# Values: true, false +#falldamage.enabled true + +# Helicopter bullet accuracy. Higher numbers are less accurate. +#heli.bulletAccuracy 2 + +################################################ +# Settings That Will Lag Server Is Set Too Low # +################################################ + +# Changes how often resources respawn. +#spawn.min_rate 0.1 +#spawn.max_rate 1 + +# Changes how close resources spawn to each other. +#spawn.min_density 0.1 +#spawn.max_density 1 From 4c6ac92fc99ff6a47f64a99937db642996170873 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 20:37:01 +0100 Subject: [PATCH 10/30] added cfg files and folders for check --- Rust/rustserver | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Rust/rustserver b/Rust/rustserver index d4737e38d..6a8829928 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -67,6 +67,9 @@ filesdir="${rootdir}/serverfiles" systemdir="${filesdir}" executabledir="${filesdir}" executable="./RustDedicated" +serveridentitydir="${systemdir}/server/${servicename}" +servercfg="server.cfg" +servercfgdir="${serveridentitydir}/cfg" backupdir="${rootdir}/backups" # Logging From ef98defb1f2e9d26b2e829a9e412b365a9627fcc Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 20:42:15 +0100 Subject: [PATCH 11/30] servercfgfullpath --- Rust/rustserver | 1 + 1 file changed, 1 insertion(+) diff --git a/Rust/rustserver b/Rust/rustserver index 6a8829928..faa536b3f 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -70,6 +70,7 @@ executable="./RustDedicated" serveridentitydir="${systemdir}/server/${servicename}" servercfg="server.cfg" servercfgdir="${serveridentitydir}/cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" backupdir="${rootdir}/backups" # Logging From 8dbadeabf5731ae44fa486e29a1a19574f094f9c Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 21:16:12 +0100 Subject: [PATCH 12/30] Rename server.cfg to lgsm-default.cfg --- Rust/cfg/{server.cfg => lgsm-default.cfg} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Rust/cfg/{server.cfg => lgsm-default.cfg} (100%) diff --git a/Rust/cfg/server.cfg b/Rust/cfg/lgsm-default.cfg similarity index 100% rename from Rust/cfg/server.cfg rename to Rust/cfg/lgsm-default.cfg From 8f5fc4c9645e33876e650f8a7dc4a651e46e76e6 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 21:38:26 +0100 Subject: [PATCH 13/30] Default rcon + defaultcfg --- Rust/rustserver | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index faa536b3f..fb028a71d 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -28,7 +28,7 @@ servername="Rust LGSM Server" ip="0.0.0.0" port="28015" #+server.port rconport="28016" #+rcon.port -rconpassword="" #+rcon.password +rconpassword="CHANGE_ME" #+rcon.password maxplayers="40" #+max.players map="" #Optional +server.map "Procedural Map" or TestLevel @@ -71,6 +71,7 @@ serveridentitydir="${systemdir}/server/${servicename}" servercfg="server.cfg" servercfgdir="${serveridentitydir}/cfg" servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="{servercfgdir}/lgsm-default.cfg" backupdir="${rootdir}/backups" # Logging From 46260987e3ebb6cf84a9850fc81cee8a492dc36b Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 21:44:11 +0100 Subject: [PATCH 14/30] added rust default 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 913bf26f0..41ccf8cc8 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="100116" +lgsm_version="220216" fn_defaultconfig(){ echo "creating ${servercfg} config file." @@ -297,6 +297,11 @@ elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then wget -N /dev/null ${githuburl}/SeriousSam3BFE/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq sleep 1 fn_serious3config +elif [ "${gamename}" == "Rust" ]; then + echo -e "downloading server.cfg...\c" + wget -N /dev/null ${githuburl}/Rust/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq + sleep 1 + fn_defaultconfig elif [ "${gamename}" == "Sven Co-op" ]; then echo -e "downloading lgsm-default.cfg...\c" wget -N /dev/null ${githuburl}/SvenCoop/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq From 107d63723d0c1335cbc33eb1fd268f7c67758530 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 21:59:25 +0100 Subject: [PATCH 15/30] added rust --- functions/monitor_gsquery.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/functions/monitor_gsquery.sh b/functions/monitor_gsquery.sh index 55e2e9fc2..1bc93176e 100644 --- a/functions/monitor_gsquery.sh +++ b/functions/monitor_gsquery.sh @@ -23,6 +23,9 @@ if [ -f "${rootdir}/gsquery.py" ]; then elif [ "${gamename}" == "Hurtworld" ]; then gameport="${port}" port="${queryport}" + elif [ "${gamename}" == "Rust" ]; then + gameport="${port}" + port="${rconport}" fi fn_printinfo "Detected gsquery.py" fn_scriptlog "Detected gsquery.py" From b9e4a10fc6e853c529118d24a9d8b1603e15c9e5 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 22:24:39 +0100 Subject: [PATCH 16/30] nothing to add for Rust --- functions/monitor_gsquery.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/functions/monitor_gsquery.sh b/functions/monitor_gsquery.sh index 1bc93176e..55e2e9fc2 100644 --- a/functions/monitor_gsquery.sh +++ b/functions/monitor_gsquery.sh @@ -23,9 +23,6 @@ if [ -f "${rootdir}/gsquery.py" ]; then elif [ "${gamename}" == "Hurtworld" ]; then gameport="${port}" port="${queryport}" - elif [ "${gamename}" == "Rust" ]; then - gameport="${port}" - port="${rconport}" fi fn_printinfo "Detected gsquery.py" fn_scriptlog "Detected gsquery.py" From c4ef273d6a8cee1f4e26c6624067a98e62de8c29 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 22:40:13 +0100 Subject: [PATCH 17/30] added rust --- functions/command_details.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/functions/command_details.sh b/functions/command_details.sh index 6de82eb8e..a8ee48931 100644 --- a/functions/command_details.sh +++ b/functions/command_details.sh @@ -537,6 +537,27 @@ echo -e "" fn_details_statusbottom } +fn_details_rust(){ +echo -e "" +echo -e "\e[92mPorts\e[0m" +printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' = +echo -e "Change ports by editing the parameters in" +echo -e "rustserver script" +echo -e "" +echo -e "Useful port diagnostic command:" +echo -e "netstat -atunp | grep Rust" +echo -e "" +{ + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game/RCON\tINBOUND\t${port}\tudp" + echo -e "> Query\tINBOUND\t${rconport}\ttcp" + +} | column -s $'\t' -t +echo -e "" + +fn_details_statusbottom +} + fn_details_unreal(){ echo -e "" echo -e "\e[92mPorts\e[0m" @@ -615,7 +636,7 @@ fn_details_disk fn_details_gameserver fn_details_backup # Some game servers do not have parms. -if [ "${gamename}" != "Teamspeak 3" ]||[ "${engine}" != "avalanche" ]||[ "${engine}" != "dontstarve" ]||[ "${engine}" == "projectzomboid" ]; then +if [ "${gamename}" != "Teamspeak 3" ]||[ "${engine}" != "avalanche" ]||[ "${engine}" != "dontstarve" ]||[ "${engine}" != "projectzomboid" ]; then fn_parms fn_details_commandlineparms fi @@ -654,6 +675,8 @@ elif [ "${gamename}" == "7 Days To Die" ]; then fn_details_sdtd elif [ "${gamename}" == "Teamspeak 3" ]; then fn_details_teamspeak3 +elif [ "${gamename}" == "Rust" ]; then + fn_details_rust else fn_printerrornl "Unable to detect server engine." fi From d2e25b1e31bf5788f5d1049979603ecb961032da Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 22:59:18 +0100 Subject: [PATCH 18/30] $ --- Rust/rustserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index fb028a71d..29bafa846 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -71,7 +71,7 @@ serveridentitydir="${systemdir}/server/${servicename}" servercfg="server.cfg" servercfgdir="${serveridentitydir}/cfg" servercfgfullpath="${servercfgdir}/${servercfg}" -servercfgdefault="{servercfgdir}/lgsm-default.cfg" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" backupdir="${rootdir}/backups" # Logging From bc4f0f6934dbe582a119a7d1647261a70c090123 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 23:36:01 +0100 Subject: [PATCH 19/30] better gamelog naming --- Rust/rustserver | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index 29bafa846..07fedc5bd 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="210215" +version="230215" #### Variables #### @@ -26,20 +26,19 @@ steampass="" # Server settings servername="Rust LGSM Server" ip="0.0.0.0" -port="28015" #+server.port -rconport="28016" #+rcon.port -rconpassword="CHANGE_ME" #+rcon.password -maxplayers="40" #+max.players -map="" #Optional +server.map "Procedural Map" or TestLevel +port="28015" +rconport="28016" +rconpassword="CHANGE_ME" #Don't let it blank but change it +maxplayers="50" #+max.players # Advanced +map="" #Optional +server.map "Procedural Map" or TestLevel worldsize="4000" #+server.worldsize default 4000 saveinterval="300" #+server.saveinterval in seconds -logfile="\"gamelog.txt\"" # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${logfile}" +parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" } #### Advanced Variables #### @@ -84,6 +83,7 @@ gamelog="${gamelogdir}/${servicename}-game.log" scriptlog="${scriptlogdir}/${servicename}-script.log" consolelog="${consolelogdir}/${servicename}-console.log" emaillog="${scriptlogdir}/${servicename}-email.log" +gamelogfile="\"gamelog-$(date '+%Y-%m-%d-%H-%M-%S').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" From 7dcc8cb26b2e2915d86f2747639a108967e986c2 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 23:55:06 +0100 Subject: [PATCH 20/30] moving logfiles for games with bad log management --- functions/logs.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/functions/logs.sh b/functions/logs.sh index a294c4d35..78c95fa97 100644 --- a/functions/logs.sh +++ b/functions/logs.sh @@ -16,6 +16,17 @@ if [ -n "${consolelog}" ]; then fi fi +# For games not displaying a console, and having logs into their game folder +if [ -n ${gamelogfile} ]; then + if [ -n $(find ${systemdir} -name gamelog*.log ) ]; then + fn_printinfo "Moving game logs to ${gamelogdir}" + fn_scriptlog "Moving game logs to ${gamelogdir}" + echo -en "\n" + sleep1 + mv "${systemdir}"/gamelog*.log "${gamelogdir}" + fi +fi + # Log manager will start the cleanup if it finds logs older than "${logdays}" if [ $(find "${scriptlogdir}"/ -type f -mtime +"${logdays}"|wc -l) -ne "0" ]; then fn_printdots "Starting" From 5643546d19ec83919afeab582865e89433565471 Mon Sep 17 00:00:00 2001 From: lrob Date: Mon, 22 Feb 2016 23:55:51 +0100 Subject: [PATCH 21/30] space --- functions/logs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/logs.sh b/functions/logs.sh index 78c95fa97..a047921a9 100644 --- a/functions/logs.sh +++ b/functions/logs.sh @@ -22,7 +22,7 @@ if [ -n ${gamelogfile} ]; then fn_printinfo "Moving game logs to ${gamelogdir}" fn_scriptlog "Moving game logs to ${gamelogdir}" echo -en "\n" - sleep1 + sleep 1 mv "${systemdir}"/gamelog*.log "${gamelogdir}" fi fi From 25d1300861261681d46b686b1048205390918208 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 00:13:54 +0100 Subject: [PATCH 22/30] added ip settings & cleaning comments --- Rust/rustserver | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Rust/rustserver b/Rust/rustserver index 07fedc5bd..0644a4aea 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -24,21 +24,21 @@ steamuser="anonymous" steampass="" # Server settings +# More settings available after install in serverfiles/server/rust-server/server.cfg servername="Rust LGSM Server" ip="0.0.0.0" port="28015" rconport="28016" -rconpassword="CHANGE_ME" #Don't let it blank but change it -maxplayers="50" #+max.players +rconpassword="CHANGE_ME" # Don't let it blank but change it +maxplayers="50" # Advanced -map="" #Optional +server.map "Procedural Map" or TestLevel -worldsize="4000" #+server.worldsize default 4000 -saveinterval="300" #+server.saveinterval in seconds +worldsize="4000" # default 4000; min : 2000 max : 8000 +saveinterval="300" # Auto-save in seconds # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" +parms="-batchmode +server.ip ${ip} +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" } #### Advanced Variables #### From 1383ba46ab1589fdf14fc71ce3907e0d50768c36 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 00:21:12 +0100 Subject: [PATCH 23/30] added port/tickrate/comments --- Rust/rustserver | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index 0644a4aea..c722be79c 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -35,10 +35,11 @@ maxplayers="50" # Advanced worldsize="4000" # default 4000; min : 2000 max : 8000 saveinterval="300" # Auto-save in seconds +tickrate="30" # default 30; min acceptable 15 , max 100 or 128 # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.ip ${ip} +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" +parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" } #### Advanced Variables #### From 53fdcfd2814e9aa4466a912a9aa9ffb753908324 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 00:42:16 +0100 Subject: [PATCH 24/30] Version number --- functions/logs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/logs.sh b/functions/logs.sh index a047921a9..be1ae119d 100644 --- a/functions/logs.sh +++ b/functions/logs.sh @@ -3,7 +3,7 @@ # Author: Daniel Gibbs # Contributor: UltimateByte # Website: http://gameservermanagers.com -lgsm_version="100215" +lgsm_version="230216" # Description: Acts as a log rotater, removing old logs. From e4c76d516ef91fcd731a8b24b2da4e0ca1b05c56 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 00:42:32 +0100 Subject: [PATCH 25/30] version number --- functions/command_details.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/command_details.sh b/functions/command_details.sh index a8ee48931..db6973416 100644 --- a/functions/command_details.sh +++ b/functions/command_details.sh @@ -2,7 +2,7 @@ # LGSM command_details.sh function # Author: Daniel Gibbs # Website: http://gameservermanagers.com -lgsm_version="190316" +lgsm_version="230216" # Description: Displays server infomation. From 8a596c635d2032a28698b792839dfe36ac731d7e Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 00:52:50 +0100 Subject: [PATCH 26/30] Fix port info --- functions/command_details.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/command_details.sh b/functions/command_details.sh index db6973416..32965eb2e 100644 --- a/functions/command_details.sh +++ b/functions/command_details.sh @@ -549,8 +549,8 @@ echo -e "netstat -atunp | grep Rust" echo -e "" { echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" - echo -e "> Game/RCON\tINBOUND\t${port}\tudp" - echo -e "> Query\tINBOUND\t${rconport}\ttcp" + echo -e "> Game/Query\tINBOUND\t${port}\tudp" + echo -e "> RCON\tINBOUND\t${rconport}\ttcp" } | column -s $'\t' -t echo -e "" From 5b5d01394fb9bd11971b1a8b4ff4720e5946de3a Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 01:00:45 +0100 Subject: [PATCH 27/30] Double quotes --- functions/logs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/logs.sh b/functions/logs.sh index be1ae119d..ec21d3241 100644 --- a/functions/logs.sh +++ b/functions/logs.sh @@ -17,8 +17,8 @@ if [ -n "${consolelog}" ]; then fi # For games not displaying a console, and having logs into their game folder -if [ -n ${gamelogfile} ]; then - if [ -n $(find ${systemdir} -name gamelog*.log ) ]; then +if [ -n "${gamelogfile}" ]; then + if [ -n "$(find "${systemdir}" -name gamelog*.log)" ]; then fn_printinfo "Moving game logs to ${gamelogdir}" fn_scriptlog "Moving game logs to ${gamelogdir}" echo -en "\n" From eff90db5f19c7d06cfbdc66b097b494c70408bb8 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 01:09:01 +0100 Subject: [PATCH 28/30] double quotes --- functions/logs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/logs.sh b/functions/logs.sh index ec21d3241..68e3d0dcf 100644 --- a/functions/logs.sh +++ b/functions/logs.sh @@ -18,7 +18,7 @@ fi # For games not displaying a console, and having logs into their game folder if [ -n "${gamelogfile}" ]; then - if [ -n "$(find "${systemdir}" -name gamelog*.log)" ]; then + if [ -n "$(find "${systemdir}" -name "gamelog*.log")" ]; then fn_printinfo "Moving game logs to ${gamelogdir}" fn_scriptlog "Moving game logs to ${gamelogdir}" echo -en "\n" From bc56bbf86afdc28e981c9ca5e195c84c4024b062 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 10:11:56 +0100 Subject: [PATCH 29/30] Removed unused -datadir --- Rust/rustserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index c722be79c..16c7f9ee5 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -39,7 +39,7 @@ tickrate="30" # default 30; min acceptable 15 , max 100 or 128 # https://developer.valvesoftware.com/wiki/Rust_Dedicated_Server fn_parms(){ -parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -datadir \"serverdata/\" -logfile ${gamelogfile}" +parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile ${gamelogfile}" } #### Advanced Variables #### From e7a8bd2acdc9b29f634b48045f1293758707ba69 Mon Sep 17 00:00:00 2001 From: lrob Date: Tue, 23 Feb 2016 11:20:50 +0100 Subject: [PATCH 30/30] Credits to Wulf from Oxidemod --- Rust/rustserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rust/rustserver b/Rust/rustserver index 16c7f9ee5..7e7457a44 100644 --- a/Rust/rustserver +++ b/Rust/rustserver @@ -2,7 +2,7 @@ # Rust # Server Management Script # Author: Daniel Gibbs -# Contributor: UltimateByte +# Contributor: UltimateByte (LGSM adaptation), Wulf (Information) # Website: http://gameservermanagers.com if [ -f ".dev-debug" ]; then exec 5>dev-debug.log