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

2
gamedata/_avalanche

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

20
gamedata/_default

@ -6,7 +6,6 @@
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).
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 "defaultmap" "--EMPTY--" "Default map to load"
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 "maxplayers" "--EMPTY--" "Maximum player count"
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.
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 "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.
fn_parms(){
source "${settingsdir}/parms"

2
gamedata/_dontstarve

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

2
gamedata/_halflife_shared

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

2
gamedata/_projectzomboid

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

2
gamedata/_realvirtuality

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

2
gamedata/_seriousengine35

@ -3,7 +3,7 @@
# Serious Engine 3.5
# Import default settings
fn_import_game_settings _default
fn_import_game_settings _steam
# Dependencies
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
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
# Import default settings
fn_import_game_settings _default
fn_import_game_settings _steam
# http://wiki.unknownworlds.com/ns2/Dedicated_Server
fn_parms(){

2
gamedata/_starbound

@ -3,7 +3,7 @@
# Base SRCDS Game
# 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 "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
# 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 "executabledir" "\${filesdir}"

2
gamedata/_unity3d

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

11
gamedata/_unreal

@ -3,18 +3,9 @@
# Unreal Engine
# 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
fn_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
# Import default settings
fn_import_game_settings _default
fn_import_game_settings _steam
fn_import_game_settings _unreal_shared
fn_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
# 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 "gamelogdir" "\${systemdir}/logs"
fn_set_game_params settings "executabledir" "\${systemdir}/Binaries/Linux"
fn_set_game_params settings "executable" "./\${game}Server"
fn_set_game_params settings "servercfg" "GameUserSettings.ini"
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"

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
fn_import_game_settings _steam
fn_import_game_settings _unreal4
fn_parms(){

1
gamedata/kfserver

@ -1,5 +1,6 @@
# Game Settings File
# Import Engine
fn_import_game_settings _steam
fn_import_game_settings _unreal2
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
# Import Engine
fn_import_game_settings _steam
fn_import_game_settings _unreal2
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
# Author: Daniel Gibbs
# 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
# Github Branch Select
@ -14,21 +40,11 @@ githubuser="jaredballou"
githubrepo="linuxgsm"
githubbranch="master"
# Update stale files on the fly using Git
# Update stale files on the fly using Git.
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
# Script root
rootdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# LGSM Support Files - set ro rootdir for old behavior
lgsmdir="${rootdir}/lgsm"
# 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}"
fi
done
# Git last commit file (for tracking updates)
lastcommit_file="${cachedir}/lastcommit"
# Debugging, if debugflag exists send output to $debuglog
debugflag="${lgsmdir}/.dev-debug"
@ -60,6 +73,10 @@ if [ -f "${debugflag}" ]; then
set -x
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'/')
##### Script #####
@ -177,7 +194,7 @@ fn_getgithubfile "gsquery.py" norun "GameServerQuery/gsquery.py"
# Load core functions
fn_runfunction core_functions.sh
if [ "${selfname}" == "lgsm-core" ];
if [ "${selfname}" == "${core_script}" ];
then
fn_runfunction install_lgsm.sh
else

4
tools/update-game-list.sh

@ -1,2 +1,4 @@
#!/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