Browse Source

Added Mumble and TS3 to gamedata. Starting to merge script options into gamedata files as well. Moved lgsm-core script to root of repo. Preparing to support piping the lgsm-core script to Bash to do one-line installation. Broke off Steam-specific settings into new _steam gamedata file.

pull/553/head
Jared Ballou 10 years ago
parent
commit
287f9acfeb
  1. 1
      _MasterScript
  2. 2
      gamedata/__game_list
  3. 2
      gamedata/_avalanche
  4. 20
      gamedata/_default
  5. 2
      gamedata/_dontstarve
  6. 2
      gamedata/_halflife_shared
  7. 2
      gamedata/_projectzomboid
  8. 2
      gamedata/_realvirtuality
  9. 2
      gamedata/_seriousengine35
  10. 2
      gamedata/_source
  11. 2
      gamedata/_spark
  12. 2
      gamedata/_starbound
  13. 17
      gamedata/_steam
  14. 2
      gamedata/_terraria
  15. 2
      gamedata/_unity3d
  16. 11
      gamedata/_unreal
  17. 11
      gamedata/_unreal2
  18. 7
      gamedata/_unreal4
  19. 20
      gamedata/_unreal_shared
  20. 1
      gamedata/arkserver
  21. 1
      gamedata/kfserver
  22. 19
      gamedata/mumbleserver
  23. 1
      gamedata/roserver
  24. 18
      gamedata/ts3server
  25. 49
      lgsm-core
  26. 4
      tools/update-game-list.sh

1
_MasterScript

@ -0,0 +1 @@
.

2
gamedata/__game_list

@ -24,6 +24,7 @@ jc2server "Just Cause 2"
kfserver "Killing Floor" kfserver "Killing Floor"
l4d2server "Left 4 Dead 2" l4d2server "Left 4 Dead 2"
l4dserver "Left 4 Dead" l4dserver "Left 4 Dead"
mumbleserver "Mumble"
nmrihserver "No More Room In Hell" nmrihserver "No More Room In Hell"
ns2cserver "NS2: Combat" ns2cserver "NS2: Combat"
ns2server "Natural Selection 2" ns2server "Natural Selection 2"
@ -38,6 +39,7 @@ ss3sserver "Serious Sam 3: BFE"
terrariaserver "Terraria" terrariaserver "Terraria"
tf2server "Team Fortress 2" tf2server "Team Fortress 2"
tfcserver "Team Fortress Classic" tfcserver "Team Fortress Classic"
ts3server "TeamSpeak 3"
twserver "Teeworlds" twserver "Teeworlds"
ut2k4server "Unreal Tournament 2004" ut2k4server "Unreal Tournament 2004"
ut99server "Unreal Tournament 99" ut99server "Unreal Tournament 99"

2
gamedata/_avalanche

@ -2,7 +2,7 @@
# _avalanche # _avalanche
# Avalanche Engine # Avalanche Engine
fn_import_game_settings _default fn_import_game_settings _steam
# Dependencies # Dependencies
fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f"

20
gamedata/_default

@ -6,7 +6,6 @@
fn_set_game_params settings "dependency_path" "${filesdir}" fn_set_game_params settings "dependency_path" "${filesdir}"
# Default settings. This group includes a lot of blanks just so that the comments are set (and the engine/game files will show blank values to remind people to set them). # Default settings. This group includes a lot of blanks just so that the comments are set (and the engine/game files will show blank values to remind people to set them).
fn_set_game_params settings "appid" "--EMPTY--" "Steam App ID"
fn_set_game_params settings "backupdir" "\${lgsmdir}/backups" "Backup Directory" fn_set_game_params settings "backupdir" "\${lgsmdir}/backups" "Backup Directory"
fn_set_game_params settings "defaultmap" "--EMPTY--" "Default map to load" fn_set_game_params settings "defaultmap" "--EMPTY--" "Default map to load"
fn_set_game_params settings "email" "[email protected]" "Email address for notification" fn_set_game_params settings "email" "[email protected]" "Email address for notification"
@ -22,9 +21,6 @@ fn_set_game_params settings "lockselfname" ".\${servicename}.lock" "LGSM Lock Fi
fn_set_game_params settings "logdays" "7" "Number of days to retain logs" fn_set_game_params settings "logdays" "7" "Number of days to retain logs"
fn_set_game_params settings "maxplayers" "--EMPTY--" "Maximum player count" fn_set_game_params settings "maxplayers" "--EMPTY--" "Maximum player count"
fn_set_game_params settings "port" "--EMPTY--" "Port to bind for server" fn_set_game_params settings "port" "--EMPTY--" "Port to bind for server"
fn_set_game_params settings "steampass" "--EMPTY--" "Steam Password"
fn_set_game_params settings "steamuser" "anonymous" "Steam Username"
fn_set_game_params settings "updateonstart" "off" "Update game on start"
# These settings are in a second group, since they reference the first group. # These settings are in a second group, since they reference the first group.
fn_set_game_params settings "consolelogdir" "\${lgsmdir}/log/console" "Console Log Dir" fn_set_game_params settings "consolelogdir" "\${lgsmdir}/log/console" "Console Log Dir"
@ -47,6 +43,22 @@ fn_set_game_params settings "servercfg" "\${servicename}\${servercfg_suffix}" "S
fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default\${servercfg_suffix}" "Default server configuration file" fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default\${servercfg_suffix}" "Default server configuration file"
fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" "Full path to server config" fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" "Full path to server config"
# Script actions
fn_set_game_params scriptactions "st|start" "command_start.sh" "Start the server."
fn_set_game_params scriptactions "sp|stop" "command_stop.sh" "Stop the server."
fn_set_game_params scriptactions "r|restart" "fn_restart" "Restart the server."
fn_set_game_params scriptactions "dd|depsdetect" "command_dev_detect_deps.sh" "Detect Dependencies"
fn_set_game_params scriptactions "u|update" "update_check.sh" "Checks and applies updates from SteamCMD."
fn_set_game_params scriptactions "uf|update-functions" "update_functions.sh" "Removes all functions so latest can be downloaded."
fn_set_game_params scriptactions "m|monitor" "command_monitor.sh" "Checks that the server is running."
fn_set_game_params scriptactions "et|email-test" "command_email_test.sh" "Sends test monitor email."
fn_set_game_params scriptactions "d|details" "command_details.sh" "Displays useful infomation about the server."
fn_set_game_params scriptactions "d|debug" "command_debug.sh" "See the output of the server directly to your terminal."
fn_set_game_params scriptactions "dev|dev-debug" "command_dev_debug.sh" "Toggle Developer Debug mode"
fn_set_game_params scriptactions "i|install" "command_install.sh" "Install the server."
fn_set_game_params scriptactions "ai|auto-install" "fn_autoinstall" "Install the server, without prompts."
fn_set_game_params scriptactions "b|backup" "command_backup.sh" "Create archive of the server."
# Default fn_parms just loads the parms file. Still need to figure out how to handle "simple" parms. # Default fn_parms just loads the parms file. Still need to figure out how to handle "simple" parms.
fn_parms(){ fn_parms(){
source "${settingsdir}/parms" source "${settingsdir}/parms"

2
gamedata/_dontstarve

@ -3,7 +3,7 @@
# Don't Starve Engine # Don't Starve Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
# And the settings for defaults # And the settings for defaults
fn_set_game_params settings "engine" "dontstarve" fn_set_game_params settings "engine" "dontstarve"

2
gamedata/_halflife_shared

@ -3,7 +3,7 @@
# Half-Life Shared Engine (Source and GoldSource) # Half-Life Shared Engine (Source and GoldSource)
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
fn_import_game_settings _parms_plusminus fn_import_game_settings _parms_plusminus
# Dependencies # Dependencies

2
gamedata/_projectzomboid

@ -3,7 +3,7 @@
# Project Zomboid Engine # Project Zomboid Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
# And the settings for defaults # And the settings for defaults
fn_set_game_params settings "engine" "projectzomboid" fn_set_game_params settings "engine" "projectzomboid"

2
gamedata/_realvirtuality

@ -3,7 +3,7 @@
# Real Virtuality Engine # Real Virtuality Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
# Dependencies # Dependencies
fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f"

2
gamedata/_seriousengine35

@ -3,7 +3,7 @@
# Serious Engine 3.5 # Serious Engine 3.5
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
# Dependencies # Dependencies
fn_set_game_params settings "dependency_path" "${filesdir}/Bin" fn_set_game_params settings "dependency_path" "${filesdir}/Bin"

2
gamedata/_source

@ -13,3 +13,5 @@ fn_set_game_params parms_plus "tv_port" "\${sourcetvport}"
# These are values that the script uses, they don't get used by the srcds server directly # These are values that the script uses, they don't get used by the srcds server directly
fn_set_game_params settings "executable" "./srcds_linux" fn_set_game_params settings "executable" "./srcds_linux"
fn_set_game_params scriptactions "sm|sourcemod" "install_sourcemod.sh" "Install SourceMod."

2
gamedata/_spark

@ -3,7 +3,7 @@
# Spark Engine # Spark Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
# http://wiki.unknownworlds.com/ns2/Dedicated_Server # http://wiki.unknownworlds.com/ns2/Dedicated_Server
fn_parms(){ fn_parms(){

2
gamedata/_starbound

@ -3,7 +3,7 @@
# Base SRCDS Game # Base SRCDS Game
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
fn_set_game_params settings "engine" "starbound" fn_set_game_params settings "engine" "starbound"
fn_set_game_params settings "executabledir" "\${filesdir}/linux64" fn_set_game_params settings "executabledir" "\${filesdir}/linux64"

17
gamedata/_steam

@ -0,0 +1,17 @@
# Game Settings File
# _steam
# Steam based games
# Import default settings
fn_import_game_settings _default
fn_set_game_params settings "appid" "--EMPTY--" "Steam App ID"
fn_set_game_params settings "steampass" "--EMPTY--" "Steam Password"
fn_set_game_params settings "steamuser" "anonymous" "Steam Username"
fn_set_game_params settings "updateonstart" "off" "Update game on start"
# Script actions
fn_set_game_params scriptactions "fu|force-update|update-restart" "forceupdate=1; update_check.sh" "Bypasses the check and applies updates from SteamCMD."
fn_set_game_params scriptactions "v|validate" "command_validate.sh" "Validate server files with SteamCMD."
fn_set_game_params scriptactions "c|console" "command_console.sh" "Console allows you to access the live view of a server."

2
gamedata/_terraria

@ -3,7 +3,7 @@
# Terarria Engine # Terarria Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
fn_set_game_params settings "engine" "terraria" fn_set_game_params settings "engine" "terraria"
fn_set_game_params settings "executabledir" "\${filesdir}" fn_set_game_params settings "executabledir" "\${filesdir}"

2
gamedata/_unity3d

@ -3,7 +3,7 @@
# Unity 3D Engine # Unity 3D Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
fn_set_game_params settings "engine" "unity3d" fn_set_game_params settings "engine" "unity3d"
# http://hurtworld.wikia.com/wiki/Hosting_A_Server # http://hurtworld.wikia.com/wiki/Hosting_A_Server

11
gamedata/_unreal

@ -3,18 +3,9 @@
# Unreal Engine # Unreal Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _unreal_shared
# This is the way we create a script that collates and parses the parameters # This is the way we create a script that collates and parses the parameters
fn_parms(){ fn_parms(){
parms="" parms=""
} }
fn_set_game_params settings "systemdir" "\${filesdir}/System"
fn_set_game_params settings "gamelogdir" "\${systemdir}/logs"
fn_set_game_params settings "executabledir" "\${systemdir}"
fn_set_game_params settings "executable" "./ucc-bin"
fn_set_game_params settings "servercfg" "\${servicename}.ini"
fn_set_game_params settings "servercfgdir" "\${systemdir}"
fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}"
fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/Default.ini"
fn_set_game_params settings "compressedmapsdir" "${rootdir}/Maps-Compressed" "Compressed Maps Directory"

11
gamedata/_unreal2

@ -3,16 +3,9 @@
# Unreal 2 Engine # Unreal 2 Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _steam
fn_import_game_settings _unreal_shared
fn_parms(){ fn_parms(){
parms="" parms=""
} }
fn_set_game_params settings "systemdir" "${filesdir}/System"
fn_set_game_params settings "executabledir" "${systemdir}"
fn_set_game_params settings "executable" "./ucc-bin"
fn_set_game_params settings "servercfg" "${servicename}.ini"
fn_set_game_params settings "servercfgdir" "${systemdir}"
fn_set_game_params settings "servercfgfullpath" "${servercfgdir}/${servercfg}"
fn_set_game_params settings "servercfgdefault" "${servercfgdir}/Default.ini"
fn_set_game_params settings "compressedmapsdir" "${rootdir}/Maps-Compressed"

7
gamedata/_unreal4

@ -3,16 +3,11 @@
# Unreal 4 Engine # Unreal 4 Engine
# Import default settings # Import default settings
fn_import_game_settings _default fn_import_game_settings _unreal_shared
fn_parms(){
parms=""
}
fn_set_game_params settings "systemdir" "\${filesdir}/\${game}" fn_set_game_params settings "systemdir" "\${filesdir}/\${game}"
fn_set_game_params settings "gamelogdir" "\${systemdir}/logs"
fn_set_game_params settings "executabledir" "\${systemdir}/Binaries/Linux" fn_set_game_params settings "executabledir" "\${systemdir}/Binaries/Linux"
fn_set_game_params settings "executable" "./\${game}Server" fn_set_game_params settings "executable" "./\${game}Server"
fn_set_game_params settings "servercfg" "GameUserSettings.ini" fn_set_game_params settings "servercfg" "GameUserSettings.ini"
fn_set_game_params settings "servercfgdir" "\${systemdir}/Saved/Config/LinuxServer" fn_set_game_params settings "servercfgdir" "\${systemdir}/Saved/Config/LinuxServer"
fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}"
fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini"

20
gamedata/_unreal_shared

@ -0,0 +1,20 @@
# Game Settings File
# _unreal_shared
# Unreal Engine Shared (across all generations)
# Import default settings
fn_import_game_settings _default
fn_set_game_params settings "systemdir" "${filesdir}/System"
fn_set_game_params settings "executabledir" "${systemdir}"
fn_set_game_params settings "gamelogdir" "\${systemdir}/logs"
fn_set_game_params settings "servercfgdir" "${systemdir}"
fn_set_game_params settings "servercfg" "${servicename}.ini"
fn_set_game_params settings "executable" "./ucc-bin"
fn_set_game_params settings "servercfgfullpath" "${servercfgdir}/${servercfg}"
fn_set_game_params settings "servercfgdefault" "${servercfgdir}/Default.ini"
fn_set_game_params settings "compressedmapsdir" "${rootdir}/Maps-Compressed" "Compressed Maps Directory"
fn_set_game_params scriptactions "c|console" "command_console.sh" "Console View."
fn_set_game_params scriptactions "mc|map-compressor" "compress_ut99_maps.sh" "Map Compressor."

1
gamedata/arkserver

@ -3,6 +3,7 @@
# #
# Import Engine # Import Engine
fn_import_game_settings _steam
fn_import_game_settings _unreal4 fn_import_game_settings _unreal4
fn_parms(){ fn_parms(){

1
gamedata/kfserver

@ -1,5 +1,6 @@
# Game Settings File # Game Settings File
# Import Engine # Import Engine
fn_import_game_settings _steam
fn_import_game_settings _unreal2 fn_import_game_settings _unreal2
fn_parms(){ fn_parms(){

19
gamedata/mumbleserver

@ -0,0 +1,19 @@
# Game Settings File
# mumbleserver
# Mumble Server
# Import default settings
fn_import_game_settings _default
fn_parms(){
parms="-fg -ini ${servercfgfullpath}"
}
fn_set_game_params settings "gamename" "Mumble"
fn_set_game_params settings "servicename" "mumble-server"
fn_set_game_params settings "executable" "./murmur.x86"
fn_set_game_params settings "servercfg" "murmur.ini"
fn_set_game_params settings "servercfgdir" "\${filesdir}"
fn_set_game_params scriptactions "console" "command_console.sh" "Console View."

1
gamedata/roserver

@ -1,5 +1,6 @@
# Game Settings File # Game Settings File
# Import Engine # Import Engine
fn_import_game_settings _steam
fn_import_game_settings _unreal2 fn_import_game_settings _unreal2
fn_parms(){ fn_parms(){

18
gamedata/ts3server

@ -0,0 +1,18 @@
# Game Settings File
# ts3server
# TeamSpeak 3 Server
# Import default settings
fn_import_game_settings _default
fn_set_game_params settings "gamename" "TeamSpeak 3"
fn_set_game_params settings "servername" "TeamSpeak 3 Server"
fn_set_game_params settings "servicename" "ts3-server"
fn_set_game_params settings "executabledir" "\${filesdir}"
fn_set_game_params settings "executable" "./ts3server_startscript.sh"
fn_set_game_params settings "servercfg" "\${servicename}.ini"
fn_set_game_params settings "servercfgdir" "\${filesdir}"
fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini"
fn_set_game_params scriptactions "pw|change-password" "command_ts3_server_pass.sh" "Change Password."

49
_MasterScript/lgsm-core → lgsm-core

@ -3,8 +3,34 @@
# Server Management Script # Server Management Script
# Author: Daniel Gibbs # Author: Daniel Gibbs
# Website: http://gameservermanagers.com # Website: http://gameservermanagers.com
#
# Modified by Jared Ballou <[email protected]>
# https://github.com/jaredballou/linuxgsm
version="260116" # Version of script
version="300116"
# Filename of the core script for installation
core_script="lgsm-core"
# TODO: Add .lgsm.conf support to pre-load LGSM settings in the event of non-standard installations
# Determine if we are running from a script file, or being piped into bash via curl
if [ "${BASH_SOURCE[0]}" != "" ]; then
# The name of this script file, used to show the LGSM link properly
scriptpath=$(readlink -f "${BASH_SOURCE[0]}")
# The basename of the real script file
selfname=$(basename "${scriptpath}")
# Name of this service (will return symlink name for multiple instance support)
servicename="$(basename $0)"
# Script root directory
rootdir="$(dirname "${scriptpath}")
else
scriptpath="$(pwd)/${core_script}"
selfname="${core_script}"
servicename="${core_script}"
rootdir="$(pwd)"
fi
# File fetching settings # File fetching settings
# Github Branch Select # Github Branch Select
@ -14,21 +40,11 @@ githubuser="jaredballou"
githubrepo="linuxgsm" githubrepo="linuxgsm"
githubbranch="master" githubbranch="master"
# Update stale files on the fly using Git # Update stale files on the fly using Git.
git_update=0 git_update=0
#### Variables ####
# The name of this script file, used to show the LGSM link properly
selfname=$(basename $(readlink -f "${BASH_SOURCE[0]}"))
# Name of this service (for symlinked instances)
servicename="$(basename $0)"
# Directories # Directories
# Script root
rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# LGSM Support Files - set ro rootdir for old behavior # LGSM Support Files - set ro rootdir for old behavior
lgsmdir="${rootdir}/lgsm" lgsmdir="${rootdir}/lgsm"
# Temporary path to store and manipulate settings # Temporary path to store and manipulate settings
@ -47,9 +63,6 @@ for dir in $(grep '^[a-zA-Z0-9]*dir=' $0 | cut -d'=' -f1); do
mkdir -p "${!dir}" mkdir -p "${!dir}"
fi fi
done done
# Git last commit file (for tracking updates)
lastcommit_file="${cachedir}/lastcommit"
# Debugging, if debugflag exists send output to $debuglog # Debugging, if debugflag exists send output to $debuglog
debugflag="${lgsmdir}/.dev-debug" debugflag="${lgsmdir}/.dev-debug"
@ -60,6 +73,10 @@ if [ -f "${debugflag}" ]; then
set -x set -x
fi fi
# Git last commit file (for tracking updates)
lastcommit_file="${cachedir}/lastcommit"
#ipaddr=$(ip addr show $(ip route | grep '^default' | awk '{print $NF}') | grep 'inet ' | awk '{print $2}' | cut -f1 -d'/') #ipaddr=$(ip addr show $(ip route | grep '^default' | awk '{print $NF}') | grep 'inet ' | awk '{print $2}' | cut -f1 -d'/')
##### Script ##### ##### Script #####
@ -177,7 +194,7 @@ fn_getgithubfile "gsquery.py" norun "GameServerQuery/gsquery.py"
# Load core functions # Load core functions
fn_runfunction core_functions.sh fn_runfunction core_functions.sh
if [ "${selfname}" == "lgsm-core" ]; if [ "${selfname}" == "${core_script}" ];
then then
fn_runfunction install_lgsm.sh fn_runfunction install_lgsm.sh
else else

4
tools/update-game-list.sh

@ -1,2 +1,4 @@
#!/bin/bash #!/bin/bash
grep gamename ../gamedata/[a-z]* | grep -v 'README\.md' | sed -e 's/^[a-z0-9A-Z\/\.]\+\///g' -e 's/\:[ \t]*fn_set_game_params settings[ \t]*"gamename"[ \t]*/ /g' > ../gamedata/__game_list GAMEDATA=../gamedata/
GAMELIST=${GAMEDATA}/__game_list
grep gamename ${GAMEDATA}/[a-z]* | grep -v 'README\.md' | sed -e 's/^[a-z0-9A-Z\/\.]\+\///g' -e 's/\:[ \t]*fn_set_game_params settings[ \t]*"gamename"[ \t]*/ /g' > ${GAMELIST}

Loading…
Cancel
Save