diff --git a/functions/game_settings.sh b/functions/game_settings.sh index db0db03a6..cc3347cbc 100644 --- a/functions/game_settings.sh +++ b/functions/game_settings.sh @@ -110,18 +110,27 @@ fn_import_game_settings(){ source $import } -fn_set_game_params(){ - param_set=$1 - param_name=$2 - param_value=$3 - param_comment=$4 - fn_update_config "${param_name}" "${param_value}" "${settingsdir}/${param_set}" "${param_comment}" +fn_set_game_setting(){ + setting_set=$1 + setting_name=$2 + setting_value=$3 + setting_comment=$4 + fn_update_config "${setting_name}" "${setting_value}" "${settingsdir}/${setting_set}" "${setting_comment}" } -fn_get_game_params(){ - param_set=$1 - param_name=$2 - param_default=$3 +fn_set_game_parm(){ + setting_set=$1 + setting_name=$2 + setting_value=$3 + setting_comment=$4 + fn_update_config "${setting_name}" "${setting_value}" "${settingsdir}/settings" "${setting_comment}" + fn_update_config "${setting_name}" "\${${setting_name}}" "${settingsdir}/${setting_set}" "" +} + +fn_get_game_setting(){ + setting_set=$1 + setting_name=$2 + setting_default=$3 } # Fix dependency files for game diff --git a/gamedata/README.md b/gamedata/README.md index 8371f4c38..873647178 100644 --- a/gamedata/README.md +++ b/gamedata/README.md @@ -19,7 +19,7 @@ This function takes one parameter, the name of the gamedata file to load. The ma In the gamedata files themselves, they are used to pull in other gamedata files. This is done in sequence, so it's usually best to do the import at the top of the file, and then overwrite. It is possible to import multiple files inside a single gamedata file, for instance include \_source and \_source\_workshop to pull in Source engine sane defaults and the Workshop variables. Any "base" gamedata file (that is, not for a specific game) should be prefixed with a "\_". The gamedata files for each engine should be named "\_\$\{engine\}". -### fn\_set\_game\_params() +### fn\_set\_game\_setting() Takes four parameters: @@ -33,6 +33,10 @@ Takes four parameters: * **"--EMPTY--":** This will set the value to "" (an empty string) and add it to the param set. This is useful for parameters that must be defined, but have no default value. * **param\_comment:** This is the comment to append at the end of the line. If overriding a key set earlier in the hierarchy, leaving this blank will reuse the original comment. If you want to delete the comment, use "--EMPTY--". +### fn\_set\_game\_parm() + +Just like fn\_set\_game\_setting(), except it will add the given variable to the main settings file, and add a reference to the settings value as the parameter list. Basically it creates the setting for the instance configs, and wires it into the parameter list. + ### fn\_parms() This is the same old function from the original LGSM main scripts, the difference is we now have a "sane default" one in \_default that just dumps params, and then each engine/game can get fancy if need be. This function gets overridden by the highest-ordered declaration, and for most games the default should be fine. The idea here is that we define flexible functions in each engine, and then allow the games to add/modify/delete keys in the data. @@ -42,39 +46,33 @@ This is the same old function from the original LGSM main scripts, the differenc This is an example of a gamedata file for the Widgets engine. We'll call it \_widgets for the sake of argument: ```bash -# Import default settings -fn_import_game_settings _default +# Import Steam settings +fn_import_game_settings _steam + # Use + and - parameters fn_import_game_settings _parms_plusminus -# The parms that start with - go first -fn_set_game_params parms_minus "tickrate" "\${tickrate}" -fn_set_game_params parms_minus "port" "\${port}" - -# Then the parms that start with + -fn_set_game_params parms_plus "+servercfgfile" "\${servercfg}" -fn_set_game_params parms_plus "+map" "\${defaultmap}" - -# And the settings for defaults -fn_set_game_params settings "appid" "99999" "Steam App ID" -fn_set_game_params settings "defaultmap" "my_map" "Default map to load" -fn_set_game_params settings "engine" "widgets" "Game Engine" -fn_set_game_params settings "game" "widgets" "Name of game to pass to srcds" -fn_set_game_params settings "gamename" "widgets" "Name for subdirectory in GitHub repo" -fn_set_game_params settings "port" "99999" "Port to bind for server" -fn_set_game_params settings "servercfg" "\${selfname}.cfg" "Server Config file" -fn_set_game_params settings "steampass" "--EMPTY--" "Steam Password" -fn_set_game_params settings "steamuser" "anonymous" "Steam Username" +# Game Settings +fn_set_game_setting settings "appid" "99999" "Steam App ID" +fn_set_game_setting settings "engine" "widgets" "Game Engine" +fn_set_game_setting settings "game" "widgets" "Name of game to pass to srcds" +fn_set_game_setting settings "gamename" "widgets" "Name for subdirectory in GitHub repo" # These are values that the script uses, they don't get used by the srcds server directly -fn_set_game_params settings "systemdir" "\${filesdir}/\${game}" -fn_set_game_params settings "gamelogdir" "\${systemdir}/logs" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./widgets_server" -fn_set_game_params settings "servercfg" "\${servicename}.cfg" -fn_set_game_params settings "servercfgdir" "\${systemdir}/cfg" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" +fn_set_game_setting settings "systemdir" "\${filesdir}/\${game}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./widgets_server" +fn_set_game_setting settings "servercfg" "\${servicename}.cfg" +fn_set_game_setting settings "servercfgdir" "\${systemdir}/cfg" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" + +# Game Parameters +fn_set_game_parm parms_minus "tickrate" "66" "Server tickrate" +fn_set_game_parm parms_minus "port" "99999" "Port to bind for server" +fn_set_game_parm parms_plus "servercfgfile" "\${selfname}.cfg" "Server Config file" +fn_set_game_parm parms_plus "map" "my_map" "Default map to load" + ``` Then, we need a game! DooDads is the name of the game, and just imports the defaults from its engine. @@ -84,19 +82,18 @@ Then, we need a game! DooDads is the name of the game, and just imports the defa fn_import_game_settings _widgets # Delete tickrate parameter. This will remove it from the parameters, and remove it from _default.cfg -fn_set_game_params parms_minus "-tickrate" "--UNSET--" -fn_set_game_params settings "tickrate" "--UNSET--" - -# Add playlist parameter -fn_set_game_params parms_plus "+sv_playlist" "\${playlist}" - -# Override some server settings -fn_set_game_params settings "executable" "./doodads_server" -fn_set_game_params settings "appid" "100000" -fn_set_game_params settings "defaultmap" "special_map" -fn_set_game_params settings "game" "doodads" -fn_set_game_params settings "playlist" "custom" "Server Playlist" -fn_set_game_params settings "gamename" "DooDads" +fn_set_game_parm parms_minus "tickrate" "--UNSET--" + +# Game Settings +fn_set_game_setting settings "executable" "./doodads_server" +fn_set_game_setting settings "appid" "100000" +fn_set_game_setting settings "map" "special_map" +fn_set_game_setting settings "game" "doodads" +fn_set_game_setting settings "gamename" "DooDads" + +# Game Parameters +fn_set_game_parm parms_plus "sv_playlist" "custom" "Server Playlist" + ``` With this, we inherit everything from \_widgets, but remove the tickrate setting, add playlist, and override some of the settings to make sure we install the right game via Steam. End users can then override the defaults in \_common.cfg and \$\{servicename\}.cfg for doing things their own way. The script will keep the gamedata files in sync with GitHub, as of right now the \_default.cfg is regenerated only when the \$lgsm\_version that created it differs from the script's \$version. The next step is to only regenerate the settings files when the gamedata itself is updated, which would be much more efficient. diff --git a/gamedata/__game_list b/gamedata/__game_list index 8ab87ec1d..f87adcb6a 100644 --- a/gamedata/__game_list +++ b/gamedata/__game_list @@ -1,45 +1,46 @@ -arkserver "ARK: Survival Evolved" -arma3server "Arma 3" -bb2server "BrainBread 2" -bmdmserver "Black Mesa" -bsserver "Blade Symphony" -csczserver "Counter Strike: Condition Zero" -csgoserver "Counter Strike: Global Offensive" -csserver "Counter Strike" -cssserver "Counter Strike: Source" -dabserver "Double Action: Boogaloo" -dmcserver "Deathmatch Classic" -dodserver "Day Of Defeat" -dodsserver "Day Of Defeat: Source" -dstserver "Don't Starve Together" -fofserver "Fistful Of Frags" -gesserver "GoldenEye: Source" -gmodserver "Garry's Mod" -hl2dmserver "Half Life 2: Deathmatch" -hldmserver "Half Life: Deathmatch" -hldmsserver "Half-Life Deathmatch: Source" -hwserver "Hurtworld" -insserver "Insurgency" -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" -opforserver "Opposing Force" -pvkiiserver "Pirates, Vikings, and Knights II" -pzserver "Project Zomboid" -ricochetserver "Ricochet" -roserver "Red Orchestra" -sbserver "StarBound" -sdtdserver "7 Days To Die" -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" +arkserver:fn_set_game_setting settings "gamename" "ARK: Survival Evolved" +arma3server:fn_set_game_setting settings "gamename" "Arma 3" +bb2server:fn_set_game_setting settings "gamename" "BrainBread 2" +bmdmserver:fn_set_game_setting settings "gamename" "Black Mesa" +bsserver:fn_set_game_setting settings "gamename" "Blade Symphony" +csczserver:fn_set_game_setting settings "gamename" "Counter Strike: Condition Zero" +csgoserver:fn_set_game_setting settings "gamename" "Counter Strike: Global Offensive" +csserver:fn_set_game_setting settings "gamename" "Counter Strike" +cssserver:fn_set_game_setting settings "gamename" "Counter Strike: Source" +cureserver:fn_set_game_setting settings "gamename" "Codename CURE" +dabserver:fn_set_game_setting settings "gamename" "Double Action: Boogaloo" +dmcserver:fn_set_game_setting settings "gamename" "Deathmatch Classic" +dodserver:fn_set_game_setting settings "gamename" "Day Of Defeat" +dodsserver:fn_set_game_setting settings "gamename" "Day Of Defeat: Source" +dstserver:fn_set_game_setting settings "gamename" "Don't Starve Together" +fofserver:fn_set_game_setting settings "gamename" "Fistful Of Frags" +gesserver:fn_set_game_setting settings "gamename" "GoldenEye: Source" +gmodserver:fn_set_game_setting settings "gamename" "Garry's Mod" +hl2dmserver:fn_set_game_setting settings "gamename" "Half Life 2: Deathmatch" +hldmserver:fn_set_game_setting settings "gamename" "Half Life: Deathmatch" +hldmsserver:fn_set_game_setting settings "gamename" "Half-Life Deathmatch: Source" +hwserver:fn_set_game_setting settings "gamename" "Hurtworld" +insserver:fn_set_game_setting settings "gamename" "Insurgency" +jc2server:fn_set_game_setting settings "gamename" "Just Cause 2" +kfserver:fn_set_game_setting settings "gamename" "Killing Floor" +l4d2server:fn_set_game_setting settings "gamename" "Left 4 Dead 2" +l4dserver:fn_set_game_setting settings "gamename" "Left 4 Dead" +mumbleserver:fn_set_game_setting settings "gamename" "Mumble" +nmrihserver:fn_set_game_setting settings "gamename" "No More Room In Hell" +ns2cserver:fn_set_game_setting settings "gamename" "NS2: Combat" +ns2server:fn_set_game_setting settings "gamename" "Natural Selection 2" +opforserver:fn_set_game_setting settings "gamename" "Opposing Force" +pvkiiserver:fn_set_game_setting settings "gamename" "Pirates, Vikings, and Knights II" +pzserver:fn_set_game_setting settings "gamename" "Project Zomboid" +ricochetserver:fn_set_game_setting settings "gamename" "Ricochet" +roserver:fn_set_game_setting settings "gamename" "Red Orchestra" +sbserver:fn_set_game_setting settings "gamename" "StarBound" +sdtdserver:fn_set_game_setting settings "gamename" "7 Days To Die" +ss3sserver:fn_set_game_setting settings "gamename" "Serious Sam 3: BFE" +terrariaserver:fn_set_game_setting settings "gamename" "Terraria" +tf2server:fn_set_game_setting settings "gamename" "Team Fortress 2" +tfcserver:fn_set_game_setting settings "gamename" "Team Fortress Classic" +ts3server:fn_set_game_setting settings "gamename" "TeamSpeak 3" +twserver:fn_set_game_setting settings "gamename" "Teeworlds" +ut2k4server:fn_set_game_setting settings "gamename" "Unreal Tournament 2004" +ut99server:fn_set_game_setting settings "gamename" "Unreal Tournament 99" diff --git a/gamedata/_avalanche b/gamedata/_avalanche index a47e5ebd7..fc14d470d 100644 --- a/gamedata/_avalanche +++ b/gamedata/_avalanche @@ -3,26 +3,22 @@ # Avalanche Engine fn_import_game_settings _steam +fn_import_game_settings _sourcetv +fn_import_game_settings _tickrate # Dependencies -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" # And the settings for defaults -fn_set_game_params settings "engine" "avalanche" -fn_set_game_params settings "servercfg" "config.lua" "Server Config file" -fn_set_game_params settings "sourcetvport" "27020" "SourceTV Port" -fn_set_game_params settings "srcds_parms" "--EMPTY--" "Additional SRCDS Parameters. Put the parameters that start with \"-\" first, then \"+\" parameters after" -fn_set_game_params settings "steampass" "--EMPTY--" "Steam Password" -fn_set_game_params settings "steamuser" "anonymous" "Steam Username" -fn_set_game_params settings "tickrate" "64" "Server Tick Rate" +fn_set_game_setting settings "engine" "avalanche" +fn_set_game_setting settings "servercfg" "config.lua" "Server Config file" # These are values that the script uses, they don't get used by the srcds server directly -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "gamelogdir" "--EMPTY--" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./Jcmp-Server" -fn_set_game_params settings "servercfg" "config.lua" -fn_set_game_params settings "servercfgdir" "\${filesdir}" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/default_config.lua" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./Jcmp-Server" +fn_set_game_setting settings "servercfg" "config.lua" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/default_config.lua" diff --git a/gamedata/_default b/gamedata/_default index aaf4c9462..cea0c3fb4 100644 --- a/gamedata/_default +++ b/gamedata/_default @@ -3,61 +3,63 @@ # Base defaults for all games # Set the default settings for the script -fn_set_game_params settings "dependency_path" "${filesdir}" +fn_set_game_setting 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 "backupdir" "\${lgsmdir}/backups" "Backup Directory" -fn_set_game_params settings "defaultmap" "--EMPTY--" "Default map to load" -fn_set_game_params settings "email" "email@example.com" "Email address for notification" -fn_set_game_params settings "emaillog" "\${scriptlogdir}/\${servicename}-email.log" "Email Log" -fn_set_game_params settings "emailnotification" "off" "Email notification (on|off)" -fn_set_game_params settings "engine" "--EMPTY--" "Game Engine" -fn_set_game_params settings "filesdir" "\${rootdir}/serverfiles" "Server Files Directory" -fn_set_game_params settings "game" "--EMPTY--" "Name of game" -fn_set_game_params settings "gamename" "--EMPTY--" "Name for subdirectory in GitHub repo" -fn_set_game_params settings "ip" "0.0.0.0" "IP Address to bind for server" -fn_set_game_params settings "lgsm_version" "${version}" "Version of LGSM that created this config" -fn_set_game_params settings "lockselfname" ".\${servicename}.lock" "LGSM Lock File" -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_setting settings "backupdir" "\${lgsmdir}/backups" "Backup Directory" +fn_set_game_setting settings "map" "--EMPTY--" "Default map to load" +fn_set_game_setting settings "email" "email@example.com" "Email address for notification" +fn_set_game_setting settings "emaillog" "\${scriptlogdir}/\${servicename}-email.log" "Email Log" +fn_set_game_setting settings "emailnotification" "off" "Email notification (on|off)" +fn_set_game_setting settings "engine" "--EMPTY--" "Game Engine" +fn_set_game_setting settings "filesdir" "\${rootdir}/serverfiles" "Server Files Directory" +fn_set_game_setting settings "game" "--EMPTY--" "Name of game" +fn_set_game_setting settings "gamename" "--EMPTY--" "Name for subdirectory in GitHub repo" +fn_set_game_setting settings "ip" "0.0.0.0" "IP Address to bind for server" +fn_set_game_setting settings "lgsm_version" "${version}" "Version of LGSM that created this config" +fn_set_game_setting settings "lockselfname" ".\${servicename}.lock" "LGSM Lock File" +fn_set_game_setting settings "logdays" "7" "Number of days to retain logs" +fn_set_game_setting settings "maxplayers" "--EMPTY--" "Maximum player count" +fn_set_game_setting settings "port" "--EMPTY--" "Port to bind for server" # 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 "consolelog" "\${consolelogdir}/\${servicename}-console.log" "Console Log" -fn_set_game_params settings "consolelogdate" "\${consolelogdir}/\${servicename}-console-\$(date '+%d-%m-%Y-%H-%M-%S').log" "Console Log Rotation Filename" +fn_set_game_setting settings "consolelogdir" "\${lgsmserverdir}/log/console" "Console Log Dir" +fn_set_game_setting settings "consolelog" "\${consolelogdir}/\${servicename}-console.log" "Console Log" +fn_set_game_setting settings "consolelogdate" "\${consolelogdir}/\${servicename}-console-\$(date '+%d-%m-%Y-%H-%M-%S').log" "Console Log Rotation Filename" -fn_set_game_params settings "scriptlogdir" "\${lgsmdir}/log/script" "Script Log Dir" -fn_set_game_params settings "scriptlog" "\${scriptlogdir}/\${servicename}-script.log" "Script Log" -fn_set_game_params settings "scriptlogdate" "\${scriptlogdir}/\${servicename}-script-\$(date '+%d-%m-%Y-%H-%M-%S').log" "Script Log Rotation Filename" +fn_set_game_setting settings "scriptlogdir" "\${lgsmserverdir}/log/script" "Script Log Dir" +fn_set_game_setting settings "scriptlog" "\${scriptlogdir}/\${servicename}-script.log" "Script Log" +fn_set_game_setting settings "scriptlogdate" "\${scriptlogdir}/\${servicename}-script-\$(date '+%d-%m-%Y-%H-%M-%S').log" "Script Log Rotation Filename" -fn_set_game_params settings "servercfg_suffix" ".cfg" "Suffix to put on the end of the server config. For file extensions, use \".ext\", setting to empty will use the bare server config name." -fn_set_game_params settings "systemdir" "\${filesdir}/\${game}" "System Directory (root of game installation)" -fn_set_game_params settings "gamelogdir" "\${systemdir}/logs" "Game log directory" +fn_set_game_setting settings "servercfg_suffix" ".cfg" "Suffix to put on the end of the server config. For file extensions, use \".ext\", setting to empty will use the bare server config name." +fn_set_game_setting settings "systemdir" "\${filesdir}/\${game}" "System Directory (root of game installation)" +fn_set_game_setting settings "gamelogdir" "\${systemdir}/logs" "Game log directory" -fn_set_game_params settings "executabledir" "\${filesdir}" "Executable directory" -fn_set_game_params settings "executable" "--EMPTY--" "Executable to invoke to start game server" +fn_set_game_setting settings "executabledir" "\${filesdir}" "Executable directory" +fn_set_game_setting settings "executable" "--EMPTY--" "Executable to invoke to start game server" -fn_set_game_params settings "servercfgdir" "\${systemdir}/cfg" "Server config directory" -fn_set_game_params settings "servercfg" "\${servicename}\${servercfg_suffix}" "Server config file for this instance" -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_setting settings "servercfgdir" "\${systemdir}/cfg" "Server config directory" +fn_set_game_setting settings "servercfg" "\${servicename}\${servercfg_suffix}" "Server config file for this instance" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default\${servercfg_suffix}" "Default server configuration file" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" "Full path to server config" + +fn_set_game_setting settings "server_parms" "--EMPTY--" "Additional Server command-line arguments. Put the parameters that start with \"-\" first, then \"+\" parameters after" # 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 "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." +fn_set_game_setting scriptactions "st" "start|command_start.sh|Start the server." +fn_set_game_setting scriptactions "sp" "stop|command_stop.sh|Stop the server." +fn_set_game_setting scriptactions "r" "restart|fn_restart|Restart the server." +fn_set_game_setting scriptactions "dd" "depsdetect|command_dev_detect_deps.sh|Detect Dependencies" +fn_set_game_setting scriptactions "u" "update|update_check.sh|Checks and applies updates from SteamCMD." +fn_set_game_setting scriptactions "uf" "update-functions|update_functions.sh|Removes all functions so latest can be downloaded." +fn_set_game_setting scriptactions "m" "monitor|command_monitor.sh|Checks that the server is running." +fn_set_game_setting scriptactions "et" "email-test|command_email_test.sh|Sends test monitor email." +fn_set_game_setting scriptactions "d" "details|command_details.sh|Displays useful infomation about the server." +fn_set_game_setting scriptactions "debug" "|command_debug.sh|See the output of the server directly to your terminal." +fn_set_game_setting scriptactions "dev" "dev-debug|command_dev_debug.sh|Toggle Developer Debug mode" +fn_set_game_setting scriptactions "i" "install|command_install.sh|Install the server." +fn_set_game_setting scriptactions "ai" "auto-install|fn_autoinstall|Install the server, without prompts." +fn_set_game_setting 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(){ diff --git a/gamedata/_dontstarve b/gamedata/_dontstarve index ce7b63b6a..11c2ea684 100644 --- a/gamedata/_dontstarve +++ b/gamedata/_dontstarve @@ -6,16 +6,16 @@ fn_import_game_settings _steam # And the settings for defaults -fn_set_game_params settings "engine" "dontstarve" -fn_set_game_params settings "game" "dontstarve" -fn_set_game_params settings "gamename" "Don't Starve" +fn_set_game_setting settings "engine" "dontstarve" +fn_set_game_setting settings "game" "dontstarve" +fn_set_game_setting settings "gamename" "Don't Starve" # These are values that the script uses, they don't get used by the srcds server directly -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}/bin" -fn_set_game_params settings "executable" "./dontstarve_dedicated_server_nullrenderer" -fn_set_game_params settings "servercfg" "settings.ini" -fn_set_game_params settings "servercfgdir" "\${HOME}/.klei/DoNotStarveTogether" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}/bin" +fn_set_game_setting settings "executable" "./dontstarve_dedicated_server_nullrenderer" +fn_set_game_setting settings "servercfg" "settings.ini" +fn_set_game_setting settings "servercfgdir" "\${HOME}/.klei/DoNotStarveTogether" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" diff --git a/gamedata/_goldsource b/gamedata/_goldsource index 2153da60d..48656f53a 100644 --- a/gamedata/_goldsource +++ b/gamedata/_goldsource @@ -5,16 +5,13 @@ # Import default settings fn_import_game_settings _halflife_shared -# The parms that start with - go first -fn_set_game_params parms_minus "ip" "--UNSET--" -fn_set_game_params parms_plus "ip" "\${ip}" - -fn_set_game_params parms_minus "clientport" "--UNSET--" -fn_set_game_params parms_plus "clientport" "\${clientport}" # And the settings for defaults -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "dm_lockdown" -fn_set_game_params settings "engine" "goldsource" -fn_set_game_params settings "executable" "./hlds_run" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "dm_lockdown" +fn_set_game_setting settings "engine" "goldsource" +fn_set_game_setting settings "executable" "./hlds_run" +# Game Parameters +fn_set_game_setting parms_plus "ip" "\${ip}" +fn_set_game_setting parms_plus "clientport" "\${clientport}" diff --git a/gamedata/_gslt b/gamedata/_gslt index 55f56643b..dbbe04bb0 100644 --- a/gamedata/_gslt +++ b/gamedata/_gslt @@ -1,5 +1,4 @@ # Game Settings File # Game Server Login Token Support -fn_set_game_params settings "gslt" "--EMPTY--" "Required: Game Server Login Token. GSLT is required for running a public server. More info: http://gameservermanagers.com/gslt" -fn_set_game_params parms_plus "sv_setsteamaccount" "\${gslt}" +fn_set_game_parm parms_plus "sv_setsteamaccount" "--EMPTY--" "Required: Game Server Login Token. GSLT is required for running a public server. More info: http://gameservermanagers.com/gslt" diff --git a/gamedata/_halflife_shared b/gamedata/_halflife_shared index 0dd0a851f..020aa69fc 100644 --- a/gamedata/_halflife_shared +++ b/gamedata/_halflife_shared @@ -5,29 +5,17 @@ # Import default settings fn_import_game_settings _steam fn_import_game_settings _parms_plusminus +fn_import_game_settings _tickrate # Dependencies -fn_set_game_params settings "dependency_path" "${filesdir}/bin" +fn_set_game_setting settings "dependency_path" "${filesdir}/bin" -# The parms that start with - go first - -fn_set_game_params parms_minus "game" "\${game}" -fn_set_game_params parms_minus "strictportbind" " " -fn_set_game_params parms_minus "ip" "\${ip}" -fn_set_game_params parms_minus "port" "\${port}" -fn_set_game_params parms_minus "maxplayers" "\${maxplayers}" -fn_set_game_params parms_minus "tickrate" "\${tickrate}" - -# Then the parms that start with + -fn_set_game_params parms_plus "clientport" "\${clientport}" -fn_set_game_params parms_plus "servercfgfile" "\${servercfg}" -fn_set_game_params parms_plus "map" "\${defaultmap}" - -# And the settings for defaults -fn_set_game_params settings "clientport" "27005" "Client Port" -fn_set_game_params settings "defaultmap" "dm_lockdown" "Default map to load" -fn_set_game_params settings "maxplayers" "64" -fn_set_game_params settings "port" "27015" -fn_set_game_params settings "server_parms" "--EMPTY--" "Additional server Parameters. Put the parameters that start with \"-\" first, then \"+\" parameters after" -fn_set_game_params settings "tickrate" "64" "Server Tick Rate" +# Game Parameters +fn_set_game_parm parms_minus "game" "\${game}" "Game Name" +fn_set_game_parm parms_minus "strictportbind" " " "Strict Port Binding" +fn_set_game_parm parms_minus "port" "27015" "Server port" +fn_set_game_parm parms_minus "maxplayers" "64" "Max Players" +fn_set_game_parm parms_plus "clientport" "27005" "Client Port" +fn_set_game_parm parms_plus "servercfgfile" "\${servercfg}" "Server Config File" +fn_set_game_parm parms_plus "map" "dm_lockdown" "Default map to load" diff --git a/gamedata/_mapcyclefile b/gamedata/_mapcyclefile new file mode 100644 index 000000000..11af6a166 --- /dev/null +++ b/gamedata/_mapcyclefile @@ -0,0 +1,4 @@ +# Game Settings File + +# Map Cycle File +fn_set_game_setting settings "mapcyclefile" "--UNSET--" "Map Cycle File" diff --git a/gamedata/_projectzomboid b/gamedata/_projectzomboid index 891e347cc..da98686e1 100644 --- a/gamedata/_projectzomboid +++ b/gamedata/_projectzomboid @@ -6,13 +6,12 @@ fn_import_game_settings _steam # And the settings for defaults -fn_set_game_params settings "engine" "projectzomboid" +fn_set_game_setting settings "engine" "projectzomboid" # These are values that the script uses, they don't get used by the srcds server directly -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "gamelogdir" "\${systemdir}/logs" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./start-server.sh" -fn_set_game_params settings "servercfg" "servertest.ini" -fn_set_game_params settings "servercfgdir" "\${HOME}/Zomboid/Server" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./start-server.sh" +fn_set_game_setting settings "servercfg" "servertest.ini" +fn_set_game_setting settings "servercfgdir" "\${HOME}/Zomboid/Server" diff --git a/gamedata/_realvirtuality b/gamedata/_realvirtuality index ec84143ce..805c5f085 100644 --- a/gamedata/_realvirtuality +++ b/gamedata/_realvirtuality @@ -6,17 +6,17 @@ fn_import_game_settings _steam # Dependencies -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" # Game settings -fn_set_game_params settings "engine" "realvirtuality" -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./arma3server" -fn_set_game_params settings "servercfg" "\${servicename}.server.cfg" -fn_set_game_params settings "networkcfg" "\${servicename}.network.cfg" -fn_set_game_params settings "servercfgdir" "\${systemdir}/cfg" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "networkcfgfullpath" "\${servercfgdir}/\${networkcfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.server.cfg" -fn_set_game_params settings "networkcfgdefault" "\${servercfgdir}/lgsm-default.network.cfg" +fn_set_game_setting settings "engine" "realvirtuality" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./arma3server" +fn_set_game_setting settings "servercfg" "\${servicename}.server.cfg" +fn_set_game_setting settings "networkcfg" "\${servicename}.network.cfg" +fn_set_game_setting settings "servercfgdir" "\${systemdir}/cfg" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "networkcfgfullpath" "\${servercfgdir}/\${networkcfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.server.cfg" +fn_set_game_setting settings "networkcfgdefault" "\${servercfgdir}/lgsm-default.network.cfg" diff --git a/gamedata/_seriousengine35 b/gamedata/_seriousengine35 index 29592dcb6..6ffc5f96c 100644 --- a/gamedata/_seriousengine35 +++ b/gamedata/_seriousengine35 @@ -6,15 +6,15 @@ fn_import_game_settings _steam # Dependencies -fn_set_game_params settings "dependency_path" "${filesdir}/Bin" -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting settings "dependency_path" "${filesdir}/Bin" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" # Game settings -fn_set_game_params settings "engine" "seriousengine35" -fn_set_game_params settings "systemdir" "\${filesdir}/Bin" -fn_set_game_params settings "executable" "./runSam3_DedicatedServer.sh" -fn_set_game_params settings "executabledir" "\${systemdir}" -fn_set_game_params settings "servercfg" "\${servicename}.ini" -fn_set_game_params settings "servercfgdir" "\${filesdir}/Content/SeriousSam3/Config" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" +fn_set_game_setting settings "engine" "seriousengine35" +fn_set_game_setting settings "systemdir" "\${filesdir}/Bin" +fn_set_game_setting settings "executable" "./runSam3_DedicatedServer.sh" +fn_set_game_setting settings "executabledir" "\${systemdir}" +fn_set_game_setting settings "servercfg" "\${servicename}.ini" +fn_set_game_setting settings "servercfgdir" "\${filesdir}/Content/SeriousSam3/Config" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" diff --git a/gamedata/_source b/gamedata/_source index e464b9008..ae2fb3dac 100644 --- a/gamedata/_source +++ b/gamedata/_source @@ -6,12 +6,13 @@ fn_import_game_settings _halflife_shared # And the settings for defaults -fn_set_game_params settings "engine" "source" "Game Engine" -fn_set_game_params settings "sourcetvport" "27020" "SourceTV Port" - -fn_set_game_params parms_plus "tv_port" "\${sourcetvport}" +fn_set_game_setting settings "engine" "source" "Game Engine" # 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_setting settings "executable" "./srcds_run" + +# Game Actions +fn_set_game_setting scriptactions "sm" "sourcemod|install_sourcemod.sh|Install SourceMod." -fn_set_game_params scriptactions "sm" "sourcemod|install_sourcemod.sh|Install SourceMod." +# Game Parameters +fn_set_game_parm parms_plus "tv_port" "27020" "SourceTV Port" diff --git a/gamedata/_spark b/gamedata/_spark index fe451f382..9043c91ff 100644 --- a/gamedata/_spark +++ b/gamedata/_spark @@ -7,21 +7,21 @@ fn_import_game_settings _steam # http://wiki.unknownworlds.com/ns2/Dedicated_Server fn_parms(){ -parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser \"${webadminuser}\" -webpassword \"${webadminpass}\" -webport ${webadminport} -map \"${defaultmap}\" -limit ${maxplayers} -config_path \"${rootdir}/${configpath}\" -modstorage \"${rootdir}/${modstorage}\" -mods \"${mods}\"" +parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser \"${webadminuser}\" -webpassword \"${webadminpass}\" -webport ${webadminport} -map \"${map}\" -limit ${maxplayers} -config_path \"${rootdir}/${configpath}\" -modstorage \"${rootdir}/${modstorage}\" -mods \"${mods}\"" } # Dependencies -fn_set_game_params settings "dependency_path" "${filesdir}" -fn_set_game_params dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" -fn_set_game_params dependencies "libc.so.6" "7d751c7d8c061730fc5cb7317322d370 +fn_set_game_setting settings "dependency_path" "${filesdir}" +fn_set_game_setting dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libc.so.6" "7d751c7d8c061730fc5cb7317322d370 -fn_set_game_params settings "configpath" "server1" -fn_set_game_params settings "maxplayers" "24" -fn_set_game_params settings "mods" "--EMPTY--" -fn_set_game_params settings "modstorage" "server1/Workshop" -fn_set_game_params settings "password" "--EMPTY--" -fn_set_game_params settings "systemdir" "${filesdir}" -fn_set_game_params settings "webadminpass" "admin" -fn_set_game_params settings "webadminport" "8080" -fn_set_game_params settings "webadminuser" "admin" +fn_set_game_setting settings "configpath" "server1" +fn_set_game_setting settings "maxplayers" "24" +fn_set_game_setting settings "mods" "--EMPTY--" +fn_set_game_setting settings "modstorage" "server1/Workshop" +fn_set_game_setting settings "password" "--EMPTY--" +fn_set_game_setting settings "systemdir" "${filesdir}" +fn_set_game_setting settings "webadminpass" "admin" +fn_set_game_setting settings "webadminport" "8080" +fn_set_game_setting settings "webadminuser" "admin" diff --git a/gamedata/_starbound b/gamedata/_starbound index 799a0cd21..6e1b71553 100644 --- a/gamedata/_starbound +++ b/gamedata/_starbound @@ -5,9 +5,9 @@ # Import default settings fn_import_game_settings _steam -fn_set_game_params settings "engine" "starbound" -fn_set_game_params settings "executabledir" "\${filesdir}/linux64" -fn_set_game_params settings "executable" "./starbound_server" -fn_set_game_params settings "servercfg" "sbboot.config" -fn_set_game_params settings "servercfgdir" "\${executabledir}" -fn_set_game_params settings "gamelogdir" "\${filesdir}/giraffe_storage" +fn_set_game_setting settings "engine" "starbound" +fn_set_game_setting settings "executabledir" "\${filesdir}/linux64" +fn_set_game_setting settings "executable" "./starbound_server" +fn_set_game_setting settings "servercfg" "sbboot.config" +fn_set_game_setting settings "servercfgdir" "\${executabledir}" +fn_set_game_setting settings "gamelogdir" "\${filesdir}/giraffe_storage" diff --git a/gamedata/_steam b/gamedata/_steam index 42573b85a..0154630b5 100644 --- a/gamedata/_steam +++ b/gamedata/_steam @@ -5,13 +5,16 @@ # 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" +# Game Settings +fn_set_game_setting settings "appid" "--EMPTY--" "Steam App ID" +fn_set_game_setting settings "steampass" "--EMPTY--" "Steam Password" +fn_set_game_setting settings "steamuser" "anonymous" "Steam Username" +fn_set_game_setting settings "updateonstart" "off" "Update game on start" # Script actions -fn_set_game_params scriptactions "fu" "update-restart force-update|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." +fn_set_game_setting scriptactions "fu" "update-restart force-update|forceupdate=1; update_check.sh|Bypasses the check and applies updates from SteamCMD." +fn_set_game_setting scriptactions "v" "validate|command_validate.sh|Validate server files with SteamCMD." +fn_set_game_setting scriptactions "c" "console|command_console.sh|Console allows you to access the live view of a server." +# Game Parameters +fn_set_game_parm parms_minus "beta" "--EMPTY--" "Beta branch to use. Leave empty for stable branch" diff --git a/gamedata/_teeworlds b/gamedata/_teeworlds index f4994b9ed..d775760d7 100644 --- a/gamedata/_teeworlds +++ b/gamedata/_teeworlds @@ -5,11 +5,11 @@ # Import default settings fn_import_game_settings _default -fn_set_game_params settings "engine" "teeworlds" -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./teeworlds_srv" -fn_set_game_params settings "servercfg" "\${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir -fn_set_game_params settings "servercfgdir" "\${filesdir}" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" +fn_set_game_setting settings "engine" "teeworlds" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./teeworlds_srv" +fn_set_game_setting settings "servercfg" "\${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" diff --git a/gamedata/_terraria b/gamedata/_terraria index 454709466..9a583ad23 100644 --- a/gamedata/_terraria +++ b/gamedata/_terraria @@ -5,11 +5,11 @@ # Import default settings fn_import_game_settings _steam -fn_set_game_params settings "engine" "terraria" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./TerrariaServer" -fn_set_game_params settings "servercfg" "\${servicename}.txt" -fn_set_game_params settings "servercfgdir" "\${filesdir}" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.txt" -fn_set_game_params settings "gamelogdir" "" +fn_set_game_setting settings "engine" "terraria" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./TerrariaServer" +fn_set_game_setting settings "servercfg" "\${servicename}.txt" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.txt" +fn_set_game_setting settings "gamelogdir" "" diff --git a/gamedata/_tickrate b/gamedata/_tickrate new file mode 100644 index 000000000..e7069a0ea --- /dev/null +++ b/gamedata/_tickrate @@ -0,0 +1,4 @@ +# Game Settings File + +# Tickrate +fn_set_game_parm parms_minus "tickrate" "66" "Server Tick Rate" diff --git a/gamedata/_unity3d b/gamedata/_unity3d index 1fc5c35fc..ffb00feda 100644 --- a/gamedata/_unity3d +++ b/gamedata/_unity3d @@ -5,27 +5,27 @@ # Import default settings fn_import_game_settings _steam -fn_set_game_params settings "engine" "unity3d" +fn_set_game_setting settings "engine" "unity3d" # http://hurtworld.wikia.com/wiki/Hosting_A_Server fn_parms(){ parms="-batchmode -nographics -exec \"host ${port} ${map} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\" -logfile \"${logfile}\" " } -fn_set_game_params settings "port" "12871" -fn_set_game_params settings "queryport" "12881" -fn_set_game_params settings "maxplayers" "20" -fn_set_game_params settings "map" "--EMPTY--" "Optional" -fn_set_game_params settings "creativemode" "0" "Free Build" -fn_set_game_params settings "logfile" "gamelog.txt" -fn_set_game_params settings "admins" "--EMPTY--" "Adding admins using STEAMID64. Example : addadmin 012345678901234567; addadmin 987654321098765432" +fn_set_game_setting settings "port" "12871" +fn_set_game_setting settings "queryport" "12881" +fn_set_game_setting settings "maxplayers" "20" +fn_set_game_setting settings "map" "--EMPTY--" "Optional" +fn_set_game_setting settings "creativemode" "0" "Free Build" +fn_set_game_setting settings "logfile" "gamelog.txt" +fn_set_game_setting settings "admins" "--EMPTY--" "Adding admins using STEAMID64. Example : addadmin 012345678901234567; addadmin 987654321098765432" # Advanced -fn_set_game_params settings "loadsave" "" "Rollback server state (remove after start command)" -fn_set_game_params settings "x64mode" "0" "Use unstable 64 bit server executable (O/1)" -fn_set_game_params settings "filesdir" "\${rootdir}/serverfiles" -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "loadsave" "" "Rollback server state (remove after start command)" +fn_set_game_setting settings "x64mode" "0" "Use unstable 64 bit server executable (O/1)" +fn_set_game_setting settings "filesdir" "\${rootdir}/serverfiles" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" if [ "${x64mode}" == "1" ]; then - fn_set_game_params settings "executable" "./Hurtworld.x86_64" + fn_set_game_setting settings "executable" "./Hurtworld.x86_64" else - fn_set_game_params settings "executable" "./Hurtworld.x86" + fn_set_game_setting settings "executable" "./Hurtworld.x86" fi diff --git a/gamedata/_unreal b/gamedata/_unreal index c292f6959..4c32e0717 100644 --- a/gamedata/_unreal +++ b/gamedata/_unreal @@ -5,4 +5,4 @@ # Import default settings fn_import_game_settings _unreal_shared -fn_set_game_params scriptactions "mc" "map-compressor|compress_ut99_maps.sh|Map Compressor." +fn_set_game_setting scriptactions "mc" "map-compressor|compress_ut99_maps.sh|Map Compressor." diff --git a/gamedata/_unreal4 b/gamedata/_unreal4 index 20b5eec69..fdedce22b 100644 --- a/gamedata/_unreal4 +++ b/gamedata/_unreal4 @@ -5,9 +5,9 @@ # Import default settings fn_import_game_settings _unreal_shared -fn_set_game_params settings "systemdir" "\${filesdir}/\${game}" -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 "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" +fn_set_game_setting settings "systemdir" "\${filesdir}/\${game}" +fn_set_game_setting settings "executabledir" "\${systemdir}/Binaries/Linux" +fn_set_game_setting settings "executable" "./\${game}Server" +fn_set_game_setting settings "servercfg" "GameUserSettings.ini" +fn_set_game_setting settings "servercfgdir" "\${systemdir}/Saved/Config/LinuxServer" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" diff --git a/gamedata/_unreal_shared b/gamedata/_unreal_shared index e154974f1..b0dd91b1a 100644 --- a/gamedata/_unreal_shared +++ b/gamedata/_unreal_shared @@ -5,15 +5,15 @@ # 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_setting settings "systemdir" "${filesdir}/System" +fn_set_game_setting settings "executabledir" "${systemdir}" +fn_set_game_setting settings "gamelogdir" "\${systemdir}/logs" +fn_set_game_setting settings "servercfgdir" "${systemdir}" +fn_set_game_setting settings "servercfg" "${servicename}.ini" +fn_set_game_setting settings "executable" "./ucc-bin" +fn_set_game_setting settings "servercfgfullpath" "${servercfgdir}/${servercfg}" +fn_set_game_setting settings "servercfgdefault" "${servercfgdir}/Default.ini" +fn_set_game_setting 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_unreal2_maps.sh|Map Compressor." +fn_set_game_setting scriptactions "c" "console|command_console.sh|Console View." +fn_set_game_setting scriptactions "mc" "map-compressor|compress_unreal2_maps.sh|Map Compressor." diff --git a/gamedata/_workshop b/gamedata/_workshop index f328a42fa..c5725684a 100644 --- a/gamedata/_workshop +++ b/gamedata/_workshop @@ -1,9 +1,6 @@ # Game Settings File # Workshop Authentication and Settings -fn_set_game_params parms_minus "authkey" "\${authkey}" -fn_set_game_params parms_plus "host_workshop_collection" "\${host_workshop_collection}" -fn_set_game_params parms_plus "workshop_start_map" "\${workshop_start_map}" -fn_set_game_params settings "authkey" "--EMPTY--" "Optional key for Workshop Content. See https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators - To get an authkey visit - http://steamcommunity.com/dev/apikey" -fn_set_game_params settings "host_workshop_collection" "--EMPTY--" "Workshop Collection ID" -fn_set_game_params settings "workshop_start_map" "--EMPTY--" "Workshop Start Map" +fn_set_game_setting parms_minus "authkey" "--EMPTY--" "Optional key for Workshop Content. See https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators - To get an authkey visit - http://steamcommunity.com/dev/apikey" +fn_set_game_setting parms_plus "host_workshop_collection" "--EMPTY--" "Workshop Collection ID" +fn_set_game_setting parms_plus "workshop_start_map" "--EMPTY--" "Workshop Start Map" diff --git a/gamedata/arkserver b/gamedata/arkserver index 37f9d33ef..4aa71a2b9 100644 --- a/gamedata/arkserver +++ b/gamedata/arkserver @@ -10,15 +10,14 @@ fn_parms(){ parms="TheIsland?listen" } -fn_set_game_params settings "appid" "376030" -fn_set_game_params settings "game" "ShooterGame" -fn_set_game_params settings "gamename" "ARK: Survival Evolved" +fn_set_game_setting settings "appid" "376030" +fn_set_game_setting settings "game" "ShooterGame" +fn_set_game_setting settings "gamename" "ARK: Survival Evolved" -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" +fn_set_game_setting settings "systemdir" "\${filesdir}/\${game}" +fn_set_game_setting settings "executabledir" "\${systemdir}/Binaries/Linux" +fn_set_game_setting settings "executable" "./\${game}Server" +fn_set_game_setting settings "servercfg" "GameUserSettings.ini" +fn_set_game_setting settings "servercfgdir" "\${systemdir}/Saved/Config/LinuxServer" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" diff --git a/gamedata/arma3server b/gamedata/arma3server index 735da092f..7ad36b7b9 100644 --- a/gamedata/arma3server +++ b/gamedata/arma3server @@ -3,22 +3,29 @@ fn_import_game_settings _realvirtuality fn_parms(){ -parms="-netlog -ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" +parms="-netlog -ip=${ip} -port=${port} -cfg=${cfg} -config=${config} -mod=${mod} -servermod=${servermod} -bepath=${bepath} -autoinit -loadmissiontomemory" } # Game Settings -fn_set_game_params settings "port" "2302" -fn_set_game_params settings "mods" "" "Mods" -fn_set_game_params settings "servermods" "" "Server Mods" -fn_set_game_params settings "bepath" "" "BattleEye Path" -fn_set_game_params settings "appid" "233780" "For Development branch, use \"233780 -beta development\"" -fn_set_game_params settings "gamename" "Arma 3" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./arma3server" -fn_set_game_params settings "servercfg" "\${servicename}.server.cfg" -fn_set_game_params settings "networkcfg" "\${servicename}.network.cfg" "Network Config" -fn_set_game_params settings "servercfgdir" "\${systemdir}/cfg" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "networkcfgfullpath" "\${servercfgdir}/\${networkcfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.server.cfg" -fn_set_game_params settings "networkcfgdefault" "\${servercfgdir}/lgsm-default.network.cfg" "Default Network Config File" +fn_set_game_setting settings "appid" "233780" "For Development branch, use \"233780 -beta development\"" +fn_set_game_setting settings "gamename" "Arma 3" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./arma3server" +fn_set_game_setting settings "servercfg" "\${servicename}.server.cfg" +fn_set_game_setting settings "networkcfg" "\${servicename}.network.cfg" "Network Config" +fn_set_game_setting settings "servercfgdir" "\${systemdir}/cfg" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "networkcfgfullpath" "\${servercfgdir}/\${networkcfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.server.cfg" +fn_set_game_setting settings "networkcfgdefault" "\${servercfgdir}/lgsm-default.network.cfg" "Default Network Config File" + +# Game Parms +fn_set_game_parm parms_minus "netlog" " " "Net Logging" +fn_set_game_parm parms_minus "port" "2302" +fn_set_game_parm parms_minus "cfg" "\${servercfgdir}/lgsm-default.network.cfg" "Network Config File" +fn_set_game_parm parms_minus "config" "\${servercfgfullpath}" "Server Config File" +fn_set_game_parm parms_minus "mod" "--EMPTY--" "List of mods to use" +fn_set_game_parm parms_minus "servermod" "--EMPTY--" "Server Mods" +fn_set_game_parm parms_minus "bepath" "--EMPTY--" "BattleEye Path" +fn_set_game_parm parms_minus "autoinit" " " "Auto Init" +fn_set_game_parm parms_minus "loadmissiontomemory" " " "Load mission to memory" diff --git a/gamedata/bb2server b/gamedata/bb2server index 3613128a0..879d3debf 100644 --- a/gamedata/bb2server +++ b/gamedata/bb2server @@ -5,9 +5,9 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game brainbread2 -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game brainbread2 -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +sv_setsteamaccount ${gslt} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "346330" -fn_set_game_params settings "gamename" "BrainBread 2" -fn_set_game_params settings "game" "brainvread2" -fn_set_game_params settings "defaultmap" "bba_barracks" +fn_set_game_setting settings "appid" "346330" +fn_set_game_setting settings "gamename" "BrainBread 2" +fn_set_game_setting settings "game" "brainbread2" +fn_set_game_setting settings "map" "bba_barracks" diff --git a/gamedata/bmdmserver b/gamedata/bmdmserver index 77d61d67e..47bf89f29 100644 --- a/gamedata/bmdmserver +++ b/gamedata/bmdmserver @@ -3,9 +3,9 @@ fn_import_game_settings _source fn_parms(){ -parms="-game bms -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game bms -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "346680" -fn_set_game_params settings "game" "bms" -fn_set_game_params settings "defaultmap" "dm_bounce" -fn_set_game_params settings "gamename" "Black Mesa" +fn_set_game_setting settings "appid" "346680" +fn_set_game_setting settings "game" "bms" +fn_set_game_setting settings "map" "dm_bounce" +fn_set_game_setting settings "gamename" "Black Mesa" diff --git a/gamedata/bsserver b/gamedata/bsserver index 871685e7f..f1b1c9bf9 100644 --- a/gamedata/bsserver +++ b/gamedata/bsserver @@ -4,12 +4,12 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-autoupdate -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-autoupdate -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" -fn_set_game_params settings "appid" "228780" -fn_set_game_params settings "defaultmap" "duel_winter" -fn_set_game_params settings "game" "berimbau" -fn_set_game_params settings "gamename" "Blade Symphony" +fn_set_game_setting settings "appid" "228780" +fn_set_game_setting settings "map" "duel_winter" +fn_set_game_setting settings "game" "berimbau" +fn_set_game_setting settings "gamename" "Blade Symphony" diff --git a/gamedata/csczserver b/gamedata/csczserver index d56c3f55a..8bf680b5f 100644 --- a/gamedata/csczserver +++ b/gamedata/csczserver @@ -2,9 +2,9 @@ # Import Engine fn_import_game_settings _goldsource fn_parms(){ -parms="-game czero -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game czero -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "de_dust2" -fn_set_game_params settings "game" "czero" -fn_set_game_params settings "gamename" "Counter Strike: Condition Zero" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "de_dust2" +fn_set_game_setting settings "game" "czero" +fn_set_game_setting settings "gamename" "Counter Strike: Condition Zero" diff --git a/gamedata/csgoserver b/gamedata/csgoserver index 85861f20d..1fcbd63d5 100644 --- a/gamedata/csgoserver +++ b/gamedata/csgoserver @@ -6,22 +6,17 @@ fn_import_game_settings _source fn_import_game_settings _gslt fn_import_game_settings _workshop +fn_import_game_settings _mapcyclefile # Override some server settings -fn_set_game_params settings "appid" "740" -fn_set_game_params settings "defaultmap" "de_dust2" -fn_set_game_params settings "game" "csgo" -fn_set_game_params settings "mapcyclefile" "--UNSET--" -fn_set_game_params settings "gamename" "Counter Strike: Global Offensive" -fn_set_game_params settings "mapgroup" "random_classic" "Map Group. See https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server" -fn_set_game_params settings "gametype" "0" "Game Type. Set to: Arms Race 1 Classic Casual 0 Classic Competitive 0 Demolition 1 Deathmatch 1" -fn_set_game_params settings "gamemode" "0" "Game Mode. Set to: Arms Race 0 Classic Casual 0 Classic Competitive 1 Demolition 1 Deathmatch 2" +fn_set_game_setting settings "appid" "740" +fn_set_game_setting settings "game" "csgo" +fn_set_game_setting settings "gamename" "Counter Strike: Global Offensive" # The parms that start with - go first -fn_set_game_params parms_minus "usercon" "--EMPTY--" -fn_set_game_params parms_minus "maxplayers_override" "\${maxplayers}" - -# Then the parms that start with + -fn_set_game_params parms_plus "mapgroup" "\${mapgroup}" -fn_set_game_params parms_plus "game_mode" "\${gamemode}" -fn_set_game_params parms_plus "game_type" "\${gametype}" +fn_set_game_parm parms_minus "usercon" "--EMPTY--" "User Console" +fn_set_game_parm parms_minus "maxplayers_override" "\${maxplayers}" "Max Players Override" +fn_set_game_parm parms_plus "mapgroup" "random_classic" "Map Group. See https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server" +fn_set_game_parm parms_plus "game_mode" "0" "Game Mode. Set to: Arms Race 0 Classic Casual 0 Classic Competitive 1 Demolition 1 Deathmatch 2" +fn_set_game_parm parms_plus "game_type" "0" "Game Type. Set to: Arms Race 1 Classic Casual 0 Classic Competitive 0 Demolition 1 Deathmatch 1" +fn_set_game_parm parms_plus "map" "de_dust2" diff --git a/gamedata/csserver b/gamedata/csserver index f0078b07f..afe1cccea 100644 --- a/gamedata/csserver +++ b/gamedata/csserver @@ -5,10 +5,10 @@ fn_import_game_settings _goldsource #TODO # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } # Steam -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "de_dust2" -fn_set_game_params settings "game" "cstrike" -fn_set_game_params settings "gamename" "Counter Strike" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "de_dust2" +fn_set_game_setting settings "game" "cstrike" +fn_set_game_setting settings "gamename" "Counter Strike" diff --git a/gamedata/cssserver b/gamedata/cssserver index 3ee0309de..d3af973cd 100644 --- a/gamedata/cssserver +++ b/gamedata/cssserver @@ -4,14 +4,14 @@ # Import SRCDS fn_import_game_settings _source - +fn_import_game_settings _mapcyclefile # Override some server settings fn_parms(){ -parms="-game cstrike -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game cstrike -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "232330" -fn_set_game_params settings "defaultmap" "de_dust2" -fn_set_game_params settings "game" "cstrike" -fn_set_game_params settings "mapcyclefile" "--UNSET--" -fn_set_game_params settings "gamename" "Counter Strike: Source" +fn_set_game_setting settings "appid" "232330" +fn_set_game_parm parms_plus "map" "de_dust2" +fn_set_game_setting settings "game" "cstrike" +fn_set_game_setting settings "mapcyclefile" "--UNSET--" +fn_set_game_setting settings "gamename" "Counter Strike: Source" diff --git a/gamedata/cureserver b/gamedata/cureserver new file mode 100644 index 000000000..d7e742e4e --- /dev/null +++ b/gamedata/cureserver @@ -0,0 +1,17 @@ +# Game Settings File +# cureserver +# Codename: CURE + +# Import SRCDS +fn_import_game_settings _source +#fn_import_game_settings _gslt +#fn_import_game_settings _workshop +#fn_import_game_settings _mapcyclefile + +# Game Settings +fn_set_game_setting settings "appid" "383410" +fn_set_game_setting settings "game" "cure" +fn_set_game_setting settings "gamename" "Codename CURE" + +# Game Parameters +fn_set_game_parm parms_plus "map" "csv_house" diff --git a/gamedata/dabserver b/gamedata/dabserver index 4e52a9856..d65ba85d4 100644 --- a/gamedata/dabserver +++ b/gamedata/dabserver @@ -4,15 +4,15 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "dependency_path" "${filesdir}" -fn_set_game_params dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" +fn_set_game_setting settings "dependency_path" "${filesdir}" +fn_set_game_setting dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" -fn_set_game_params settings "appid" "317800" -fn_set_game_params settings "defaultmap" "da_rooftops" -fn_set_game_params settings "executable" "./dabds.sh" -fn_set_game_params settings "game" "dab" -fn_set_game_params settings "gamename" "Double Action: Boogaloo" -fn_set_game_params settings "maxplayers" "10" +fn_set_game_setting settings "appid" "317800" +fn_set_game_setting settings "map" "da_rooftops" +fn_set_game_setting settings "executable" "./dabds.sh" +fn_set_game_setting settings "game" "dab" +fn_set_game_setting settings "gamename" "Double Action: Boogaloo" +fn_set_game_setting settings "maxplayers" "10" diff --git a/gamedata/dmcserver b/gamedata/dmcserver index fcda20f33..27bb651f5 100644 --- a/gamedata/dmcserver +++ b/gamedata/dmcserver @@ -4,11 +4,11 @@ fn_import_game_settings _goldsource # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game dmc -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game dmc -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } # Steam -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "dcdm5" -fn_set_game_params settings "game" "dmc" -fn_set_game_params settings "gamename" "Deathmatch Classic" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "dcdm5" +fn_set_game_setting settings "game" "dmc" +fn_set_game_setting settings "gamename" "Deathmatch Classic" diff --git a/gamedata/dodserver b/gamedata/dodserver index 0c701b00a..bd8ece3b4 100644 --- a/gamedata/dodserver +++ b/gamedata/dodserver @@ -4,9 +4,9 @@ fn_import_game_settings _goldsource # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game dod -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game dod -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "dod_Anzio" -fn_set_game_params settings "game" "dod" -fn_set_game_params settings "gamename" "Day Of Defeat" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "dod_Anzio" +fn_set_game_setting settings "game" "dod" +fn_set_game_setting settings "gamename" "Day Of Defeat" diff --git a/gamedata/dodsserver b/gamedata/dodsserver index 643842a2c..ba3349440 100644 --- a/gamedata/dodsserver +++ b/gamedata/dodsserver @@ -4,9 +4,9 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game dod -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game dod -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "232290" -fn_set_game_params settings "defaultmap" "dod_Anzio" -fn_set_game_params settings "game" "dod" -fn_set_game_params settings "gamename" "Day Of Defeat: Source" +fn_set_game_setting settings "appid" "232290" +fn_set_game_setting settings "map" "dod_Anzio" +fn_set_game_setting settings "game" "dod" +fn_set_game_setting settings "gamename" "Day Of Defeat: Source" diff --git a/gamedata/dstserver b/gamedata/dstserver index c1af1375d..6332bbb34 100644 --- a/gamedata/dstserver +++ b/gamedata/dstserver @@ -8,12 +8,12 @@ parms="" } # Dependencies -fn_set_game_params settings "dependency_path" "${filesdir}/bin/lib32" -fn_set_game_params dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" -fn_set_game_params dependencies "librt.so.1" "eabf0fc1f81292270343bd0796fc64ca" -fn_set_game_params dependencies "libc.so.6" "c856f3fcac0a944a36e723b06bdbeb7e" +fn_set_game_setting settings "dependency_path" "${filesdir}/bin/lib32" +fn_set_game_setting dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" +fn_set_game_setting dependencies "librt.so.1" "eabf0fc1f81292270343bd0796fc64ca" +fn_set_game_setting dependencies "libc.so.6" "c856f3fcac0a944a36e723b06bdbeb7e" # Game settings -fn_set_game_params settings "appid" "343050" -fn_set_game_params settings "game" "dontstarve" -fn_set_game_params settings "gamename" "Don't Starve Together" +fn_set_game_setting settings "appid" "343050" +fn_set_game_setting settings "game" "dontstarve" +fn_set_game_setting settings "gamename" "Don't Starve Together" diff --git a/gamedata/fofserver b/gamedata/fofserver index 23df1eba1..5b1bd0e72 100644 --- a/gamedata/fofserver +++ b/gamedata/fofserver @@ -4,12 +4,12 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game fof -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game fof -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "dependency_path" "${filesdir}" -fn_set_game_params dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" +fn_set_game_setting settings "dependency_path" "${filesdir}" +fn_set_game_setting dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" -fn_set_game_params settings "appid" "295230" -fn_set_game_params settings "defaultmap" "fof_depot" -fn_set_game_params settings "game" "fof" -fn_set_game_params settings "gamename" "Fistful Of Frags" +fn_set_game_setting settings "appid" "295230" +fn_set_game_setting settings "map" "fof_depot" +fn_set_game_setting settings "game" "fof" +fn_set_game_setting settings "gamename" "Fistful Of Frags" diff --git a/gamedata/gesserver b/gamedata/gesserver index ad7f14092..9b10e31ef 100644 --- a/gamedata/gesserver +++ b/gamedata/gesserver @@ -4,10 +4,10 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game gesource -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game gesource -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "310" -fn_set_game_params settings "defaultmap" "ge_archives" -fn_set_game_params settings "game" "gesource" -fn_set_game_params settings "gamename" "GoldenEye: Source" +fn_set_game_setting settings "appid" "310" +fn_set_game_setting settings "map" "ge_archives" +fn_set_game_setting settings "game" "gesource" +fn_set_game_setting settings "gamename" "GoldenEye: Source" diff --git a/gamedata/gmodserver b/gamedata/gmodserver index be4ec8048..1052c3afe 100644 --- a/gamedata/gmodserver +++ b/gamedata/gmodserver @@ -6,21 +6,21 @@ fn_import_game_settings _source fn_import_game_settings _gslt fn_import_game_settings _workshop +fn_import_game_settings _mapcyclefile # Add dependencies -fn_set_game_params dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" -fn_set_game_params dependencies "libm.so.6" "ee439d489dcbfeb12b809d9b961ffc60" -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" -fn_set_game_params dependencies "libc.so.6" "7d751c7d8c061730fc5cb7317322d370" +fn_set_game_setting dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" +fn_set_game_setting dependencies "libm.so.6" "ee439d489dcbfeb12b809d9b961ffc60" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libc.so.6" "7d751c7d8c061730fc5cb7317322d370" # Override some server settings -fn_set_game_params settings "appid" "4020" -fn_set_game_params settings "defaultmap" "gm_construct" -fn_set_game_params settings "game" "garrysmod" -fn_set_game_params settings "mapcyclefile" "--UNSET--" -fn_set_game_params settings "gamename" "Garry's Mod" -fn_set_game_params settings "gamemode" "sandbox" "Game Mode." +fn_set_game_setting settings "appid" "4020" +fn_set_game_setting settings "game" "garrysmod" +fn_set_game_setting settings "gamename" "Garry's Mod" +fn_set_game_setting settings "gamemode" "sandbox" "Game Mode." # Add the command line parameters -fn_set_game_params parms_plus "mapgroup" "\${mapgroup}" -fn_set_game_params parms_plus "gamemode" "\${gamemode}" +fn_set_game_parm parms_plus "map" "gm_construct" +fn_set_game_parm parms_plus "mapgroup" "\${mapgroup}" "Map Group" +fn_set_game_parm parms_plus "gamemode" "sandbox" "Game Mode." diff --git a/gamedata/hl2dmserver b/gamedata/hl2dmserver index e686e8d75..fff487e33 100644 --- a/gamedata/hl2dmserver +++ b/gamedata/hl2dmserver @@ -4,9 +4,9 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "232370" -fn_set_game_params settings "defaultmap" "dm_lockdown" -fn_set_game_params settings "game" "hl2mp" -fn_set_game_params settings "gamename" "Half Life 2: Deathmatch" +fn_set_game_setting settings "appid" "232370" +fn_set_game_setting settings "map" "dm_lockdown" +fn_set_game_setting settings "game" "hl2mp" +fn_set_game_setting settings "gamename" "Half Life 2: Deathmatch" diff --git a/gamedata/hldmserver b/gamedata/hldmserver index 947d7783a..02ff2492e 100644 --- a/gamedata/hldmserver +++ b/gamedata/hldmserver @@ -4,10 +4,10 @@ fn_import_game_settings _goldsource # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game valve -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game valve -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "crossfire" -fn_set_game_params settings "game" "valve" -fn_set_game_params settings "gamename" "Half Life: Deathmatch" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "crossfire" +fn_set_game_setting settings "game" "valve" +fn_set_game_setting settings "gamename" "Half Life: Deathmatch" diff --git a/gamedata/hldmsserver b/gamedata/hldmsserver index bf200dcfc..91334bfb9 100644 --- a/gamedata/hldmsserver +++ b/gamedata/hldmsserver @@ -4,11 +4,11 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game hl1mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game hl1mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } # Steam -fn_set_game_params settings "appid" "255470" -fn_set_game_params settings "defaultmap" "crossfire" -fn_set_game_params settings "game" "hl1mp" -fn_set_game_params settings "gamename" "Half-Life Deathmatch: Source" +fn_set_game_setting settings "appid" "255470" +fn_set_game_setting settings "map" "crossfire" +fn_set_game_setting settings "game" "hl1mp" +fn_set_game_setting settings "gamename" "Half-Life Deathmatch: Source" diff --git a/gamedata/hwserver b/gamedata/hwserver index 06b668dbf..d3c12527d 100644 --- a/gamedata/hwserver +++ b/gamedata/hwserver @@ -8,24 +8,24 @@ fn_parms(){ parms="-batchmode -nographics -exec \"host ${port} ${map} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\" -logfile \"${logfile}\" " } -fn_set_game_params settings "servername" "Hurtworld LGSM Server" -fn_set_game_params settings "appid" "405100" -fn_set_game_params settings "gamename" "Hurtworld" -fn_set_game_params settings "port" "12871" -fn_set_game_params settings "queryport" "12881" "Query Port" -fn_set_game_params settings "maxplayers" "20" -fn_set_game_params settings "map" "--EMPTY--" "Optional" -fn_set_game_params settings "creativemode" "0" "Free Build" -fn_set_game_params settings "logfile" "gamelog.txt" -fn_set_game_params settings "admins" "--EMPTY--" "Adding admins using STEAMID64. Example : addadmin 012345678901234567; addadmin 987654321098765432" +fn_set_game_setting settings "servername" "Hurtworld LGSM Server" +fn_set_game_setting settings "appid" "405100" +fn_set_game_setting settings "gamename" "Hurtworld" +fn_set_game_setting settings "port" "12871" +fn_set_game_setting settings "queryport" "12881" "Query Port" +fn_set_game_setting settings "maxplayers" "20" +fn_set_game_setting settings "map" "--EMPTY--" "Optional" +fn_set_game_setting settings "creativemode" "0" "Free Build" +fn_set_game_setting settings "logfile" "gamelog.txt" +fn_set_game_setting settings "admins" "--EMPTY--" "Adding admins using STEAMID64. Example : addadmin 012345678901234567; addadmin 987654321098765432" -fn_set_game_params settings "loadsave" "--EMPTY--" "Rollback server state (remove after start command)" -fn_set_game_params settings "x64mode" "0" "Use unstable 64 bit server executable (O/1)" -fn_set_game_params settings "filesdir" "${rootdir}/serverfiles" -fn_set_game_params settings "systemdir" "${filesdir}" -fn_set_game_params settings "executabledir" "${filesdir}" +fn_set_game_setting settings "loadsave" "--EMPTY--" "Rollback server state (remove after start command)" +fn_set_game_setting settings "x64mode" "0" "Use unstable 64 bit server executable (O/1)" +fn_set_game_setting settings "filesdir" "${rootdir}/serverfiles" +fn_set_game_setting settings "systemdir" "${filesdir}" +fn_set_game_setting settings "executabledir" "${filesdir}" if [ "${x64mode}" == "1" ]; then - fn_set_game_params settings "executable" "./Hurtworld.x86_64" + fn_set_game_setting settings "executable" "./Hurtworld.x86_64" else - fn_set_game_params settings "executable" "./Hurtworld.x86" + fn_set_game_setting settings "executable" "./Hurtworld.x86" fi diff --git a/gamedata/insserver b/gamedata/insserver index d0edd0198..1245ef2e3 100644 --- a/gamedata/insserver +++ b/gamedata/insserver @@ -4,32 +4,26 @@ # Import Source Engine fn_import_game_settings _source +fn_import_game_settings _mapcyclefile # Dependencies -fn_set_game_params dependencies "libc.so.6" "c856f3fcac0a944a36e723b06bdbeb7e" -fn_set_game_params dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" -fn_set_game_params dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" -fn_set_game_params dependencies "librt.so.1" "eabf0fc1f81292270343bd0796fc64ca" +fn_set_game_setting dependencies "libc.so.6" "c856f3fcac0a944a36e723b06bdbeb7e" +fn_set_game_setting dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" +fn_set_game_setting dependencies "libpthread.so.0" "50a2a33d3cdd82f15c3de6539db7bf60" +fn_set_game_setting dependencies "librt.so.1" "eabf0fc1f81292270343bd0796fc64ca" # Override some server settings -fn_set_game_params settings "appid" "237410" -fn_set_game_params settings "defaultmap" "ministry checkpoint" -fn_set_game_params settings "game" "insurgency" -fn_set_game_params settings "gamename" "Insurgency" +fn_set_game_setting settings "appid" "237410" +fn_set_game_setting settings "map" "ministry checkpoint" +fn_set_game_setting settings "game" "insurgency" +fn_set_game_setting settings "gamename" "Insurgency" # Add playlist parameter -fn_set_game_params parms_plus "sv_playlist" "\${sv_playlist}" -fn_set_game_params settings "sv_playlist" "custom" "Server Playlist" +fn_set_game_parm parms_plus "sv_playlist" "custom" "Server Playlist" # Mapcycle -fn_set_game_params params_plus "mapcyclefile" "\${mapcyclefile}" -fn_set_game_params settings "mapcyclefile" "mapcycle_cooperative.txt" "Mapcycle File" +fn_set_game_parm params_plus "mapcyclefile" "mapcycle_cooperative.txt" # Workshop -fn_set_game_params settings "sv_workshop_enabled" "--EMPTY--" "Comma-delimited list of workshop items to subscribe to" -fn_set_game_params parms_plus "sv_workshop_enabled" "\${sv_workshop_enabled}" - -# Beta -fn_set_game_params parms_minus "beta" "\${beta}" -fn_set_game_params settings "beta" "--EMPTY--" "Beta branch to use. Leave empty for stable branch" +fn_set_game_parm parms_plus "sv_workshop_enabled" "--EMPTY--" "Comma-delimited list of workshop items to subscribe to" diff --git a/gamedata/jc2server b/gamedata/jc2server index a808abfe9..4fc523962 100644 --- a/gamedata/jc2server +++ b/gamedata/jc2server @@ -6,5 +6,5 @@ fn_parms(){ parms="" } -fn_set_game_params settings "appid" "261140" -fn_set_game_params settings "gamename" "Just Cause 2" +fn_set_game_setting settings "appid" "261140" +fn_set_game_setting settings "gamename" "Just Cause 2" diff --git a/gamedata/kfserver b/gamedata/kfserver index 6f156c82e..38699de49 100644 --- a/gamedata/kfserver +++ b/gamedata/kfserver @@ -4,13 +4,13 @@ fn_import_game_settings _steam fn_import_game_settings _unreal2 fn_parms(){ -parms="server ${defaultmap}?game=KFmod.KFGameType?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" +parms="server ${map}?game=KFmod.KFGameType?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" # Start Variables for Objective mode -#defaultmap="KFO-Steamland" -#parms="server ${defaultmap}?Game=KFStoryGame.KFStoryGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" +#map="KFO-Steamland" +#parms="server ${map}?Game=KFStoryGame.KFStoryGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" } -fn_set_game_params settings "appid" "215360" -fn_set_game_params settings "defaultmap" "KF-BioticsLab.rom" -fn_set_game_params settings "gamename" "Killing Floor" +fn_set_game_setting settings "appid" "215360" +fn_set_game_setting settings "map" "KF-BioticsLab.rom" +fn_set_game_setting settings "gamename" "Killing Floor" diff --git a/gamedata/l4d2server b/gamedata/l4d2server index 02f91c8a3..a78cb8d3b 100644 --- a/gamedata/l4d2server +++ b/gamedata/l4d2server @@ -4,10 +4,10 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game left4dead2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game left4dead2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "222860" -fn_set_game_params settings "defaultmap" "c5m1_waterfront" -fn_set_game_params settings "game" "left4dead2" -fn_set_game_params settings "gamename" "Left 4 Dead 2" -fn_set_game_params settings "maxplayers" "8" +fn_set_game_setting settings "appid" "222860" +fn_set_game_setting settings "map" "c5m1_waterfront" +fn_set_game_setting settings "game" "left4dead2" +fn_set_game_setting settings "gamename" "Left 4 Dead 2" +fn_set_game_setting settings "maxplayers" "8" diff --git a/gamedata/l4dserver b/gamedata/l4dserver index c93c2b7cb..6dea0ac4b 100644 --- a/gamedata/l4dserver +++ b/gamedata/l4dserver @@ -5,13 +5,13 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game left4dead -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} -tickrate ${tickrate} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game left4dead -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} -tickrate ${tickrate} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" -fn_set_game_params settings "appid" "222840" -fn_set_game_params settings "defaultmap" "l4d_hospital01_apartment" -fn_set_game_params settings "game" "left4dead" -fn_set_game_params settings "gamename" "Left 4 Dead" -fn_set_game_params settings "maxplayers" "8" +fn_set_game_setting settings "appid" "222840" +fn_set_game_setting settings "map" "l4d_hospital01_apartment" +fn_set_game_setting settings "game" "left4dead" +fn_set_game_setting settings "gamename" "Left 4 Dead" +fn_set_game_setting settings "maxplayers" "8" diff --git a/gamedata/mumbleserver b/gamedata/mumbleserver index b79575fc4..bdfa5a9d9 100644 --- a/gamedata/mumbleserver +++ b/gamedata/mumbleserver @@ -9,14 +9,14 @@ 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_setting settings "gamename" "Mumble" +fn_set_game_setting settings "servicename" "mumble-server" +fn_set_game_setting settings "executable" "./murmur.x86" +fn_set_game_setting settings "servercfg" "murmur.ini" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" # Mumble has no installer. Derp! -fn_set_game_params scriptactions "i" "--UNSET--" +fn_set_game_setting scriptactions "i" "--UNSET--" -fn_set_game_params scriptactions "c" "console|command_console.sh|Console View." +fn_set_game_setting scriptactions "c" "console|command_console.sh|Console View." diff --git a/gamedata/nmrihserver b/gamedata/nmrihserver index 32caeff24..2b0f90ad3 100644 --- a/gamedata/nmrihserver +++ b/gamedata/nmrihserver @@ -4,17 +4,17 @@ fn_import_game_settings _source # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game nmrih -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game nmrih -insecure -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } # Dependencies -fn_set_game_params settings "dependency_path" "${filesdir}" -fn_set_game_params dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" -fn_set_game_params dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" +fn_set_game_setting settings "dependency_path" "${filesdir}" +fn_set_game_setting dependencies "libm.so.6" "b6fef88fd045bfcd05fd4036f323855c" +fn_set_game_setting dependencies "libstdc++.so.6" "4f9c911de2276f988afaf47659a8367f" # Game settings -fn_set_game_params settings "appid" "317670" -fn_set_game_params settings "defaultmap" "nmo_broadway" -fn_set_game_params settings "game" "nmrih" -fn_set_game_params settings "gamename" "No More Room In Hell" -fn_set_game_params settings "maxplayers" "8" +fn_set_game_setting settings "appid" "317670" +fn_set_game_setting settings "map" "nmo_broadway" +fn_set_game_setting settings "game" "nmrih" +fn_set_game_setting settings "gamename" "No More Room In Hell" +fn_set_game_setting settings "maxplayers" "8" diff --git a/gamedata/ns2cserver b/gamedata/ns2cserver index c896a0aae..3120e0395 100644 --- a/gamedata/ns2cserver +++ b/gamedata/ns2cserver @@ -2,9 +2,9 @@ # Import Engine fn_import_game_settings _spark -fn_set_game_params settings "appid" "313900" -fn_set_game_params settings "defaultmap" "co_core" -fn_set_game_params settings "executable" "./ns2combatserver_linux32" -fn_set_game_params settings "executabledir" "\${filesdir}/ia32" -fn_set_game_params settings "gamename" "NS2: Combat" -fn_set_game_params settings "servername" "NS2C Server" +fn_set_game_setting settings "appid" "313900" +fn_set_game_setting settings "map" "co_core" +fn_set_game_setting settings "executable" "./ns2combatserver_linux32" +fn_set_game_setting settings "executabledir" "\${filesdir}/ia32" +fn_set_game_setting settings "gamename" "NS2: Combat" +fn_set_game_setting settings "servername" "NS2C Server" diff --git a/gamedata/ns2server b/gamedata/ns2server index 08bc313cc..ad479d94f 100644 --- a/gamedata/ns2server +++ b/gamedata/ns2server @@ -2,9 +2,9 @@ # Import Engine fn_import_game_settings _spark -fn_set_game_params settings "appid" "4940" -fn_set_game_params settings "defaultmap" "ns2_summit" -fn_set_game_params settings "executable" "./server_linux32" -fn_set_game_params settings "executabledir" "${filesdir}" -fn_set_game_params settings "gamename" "Natural Selection 2" -fn_set_game_params settings "servername" "NS2 Server" +fn_set_game_setting settings "appid" "4940" +fn_set_game_setting settings "map" "ns2_summit" +fn_set_game_setting settings "executable" "./server_linux32" +fn_set_game_setting settings "executabledir" "${filesdir}" +fn_set_game_setting settings "gamename" "Natural Selection 2" +fn_set_game_setting settings "servername" "NS2 Server" diff --git a/gamedata/opforserver b/gamedata/opforserver index 026cbd91d..526c155fb 100644 --- a/gamedata/opforserver +++ b/gamedata/opforserver @@ -4,10 +4,10 @@ fn_import_game_settings _goldsource # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game gearbox -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game gearbox -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "op4_bootcamp" -fn_set_game_params settings "game" "gearbox" -fn_set_game_params settings "gamename" "Opposing Force" -fn_set_game_params settings "maxplayers" "16" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "op4_bootcamp" +fn_set_game_setting settings "game" "gearbox" +fn_set_game_setting settings "gamename" "Opposing Force" +fn_set_game_setting settings "maxplayers" "16" diff --git a/gamedata/pvkiiserver b/gamedata/pvkiiserver index 9df069bda..d94f999d5 100644 --- a/gamedata/pvkiiserver +++ b/gamedata/pvkiiserver @@ -3,10 +3,10 @@ fn_import_game_settings _source fn_parms(){ -parms="-game pvkii -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game pvkii -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "17575" -fn_set_game_params settings "gamename" "Pirates, Vikings, and Knights II" -fn_set_game_params settings "defaultmap" "bt_island" -fn_set_game_params settings "maxplayers" "24" -fn_set_game_params settings "game" "pvkii" +fn_set_game_setting settings "appid" "17575" +fn_set_game_setting settings "gamename" "Pirates, Vikings, and Knights II" +fn_set_game_setting settings "map" "bt_island" +fn_set_game_setting settings "maxplayers" "24" +fn_set_game_setting settings "game" "pvkii" diff --git a/gamedata/pzserver b/gamedata/pzserver index da6702d43..3615a13f2 100644 --- a/gamedata/pzserver +++ b/gamedata/pzserver @@ -6,12 +6,12 @@ fn_import_game_settings _projectzomboid fn_parms(){ parms="" } -fn_set_game_params settings "appid" "380870" -fn_set_game_params settings "gamename" "Project Zomboid" +fn_set_game_setting settings "appid" "380870" +fn_set_game_setting settings "gamename" "Project Zomboid" -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./start-server.sh" -fn_set_game_params settings "servercfg" "servertest.ini" -fn_set_game_params settings "servercfgdir" "\${HOME}/Zomboid/Server" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./start-server.sh" +fn_set_game_setting settings "servercfg" "servertest.ini" +fn_set_game_setting settings "servercfgdir" "\${HOME}/Zomboid/Server" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" diff --git a/gamedata/ricochetserver b/gamedata/ricochetserver index ce2c6a38f..9dc52f648 100644 --- a/gamedata/ricochetserver +++ b/gamedata/ricochetserver @@ -3,10 +3,10 @@ fn_import_game_settings _goldsource fn_parms(){ -parms="-game ricochet -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game ricochet -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "defaultmap" "rc_arena" -fn_set_game_params settings "maxplayers" "16" -fn_set_game_params settings "gamename" "Ricochet" -fn_set_game_params settings "game" "ricochet" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "map" "rc_arena" +fn_set_game_setting settings "maxplayers" "16" +fn_set_game_setting settings "gamename" "Ricochet" +fn_set_game_setting settings "game" "ricochet" diff --git a/gamedata/roserver b/gamedata/roserver index 6b0225c73..02934df80 100644 --- a/gamedata/roserver +++ b/gamedata/roserver @@ -4,13 +4,13 @@ fn_import_game_settings _steam fn_import_game_settings _unreal2 fn_parms(){ -parms="server ${defaultmap}?game=ROGame.ROTeamGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" +parms="server ${map}?game=ROGame.ROTeamGame?VACSecured=true -nohomedir ini=${servercfg} log=${gamelog}" } -fn_set_game_params settings "gamename" "Red Orchestra" -fn_set_game_params settings "appid" "223250" -fn_set_game_params settings "defaultmap" "RO-Arad.rom" +fn_set_game_setting settings "gamename" "Red Orchestra" +fn_set_game_setting settings "appid" "223250" +fn_set_game_setting settings "map" "RO-Arad.rom" # Lower Case wtf? -fn_set_game_params settings "systemdir" "${filesdir}/system" -fn_set_game_params settings "servercfgdefault" "${servercfgdir}/default.ini" +fn_set_game_setting settings "systemdir" "${filesdir}/system" +fn_set_game_setting settings "servercfgdefault" "${servercfgdir}/default.ini" diff --git a/gamedata/sbserver b/gamedata/sbserver index a7655161a..a1fd142c5 100644 --- a/gamedata/sbserver +++ b/gamedata/sbserver @@ -5,11 +5,11 @@ fn_import_game_settings _starbound fn_parms(){ parms="" } -fn_set_game_params settings "appid" "211820" -fn_set_game_params settings "gamename" "StarBound" -fn_set_game_params settings "game" "starbound" -fn_set_game_params settings "executabledir" "${filesdir}/linux64" -fn_set_game_params settings "executable" "./starbound_server" -fn_set_game_params settings "servercfg" "sbboot.config" -fn_set_game_params settings "servercfgdir" "${executabledir}" -fn_set_game_params settings "gamelogdir" "${filesdir}/giraffe_storage" +fn_set_game_setting settings "appid" "211820" +fn_set_game_setting settings "gamename" "StarBound" +fn_set_game_setting settings "game" "starbound" +fn_set_game_setting settings "executabledir" "${filesdir}/linux64" +fn_set_game_setting settings "executable" "./starbound_server" +fn_set_game_setting settings "servercfg" "sbboot.config" +fn_set_game_setting settings "servercfgdir" "${executabledir}" +fn_set_game_setting settings "gamelogdir" "${filesdir}/giraffe_storage" diff --git a/gamedata/sdtdserver b/gamedata/sdtdserver index d357c8911..90a4a969a 100644 --- a/gamedata/sdtdserver +++ b/gamedata/sdtdserver @@ -7,12 +7,12 @@ fn_parms(){ parms="-configfile=${servercfgfullpath} -dedicated" } -fn_set_game_params settings "appid" "294420" -fn_set_game_params settings "gamename" "7 Days To Die" -fn_set_game_params settings "executable" "./startserver.sh" -fn_set_game_params settings "servercfg" "${servicename}.xml" -fn_set_game_params settings "servercfgdir" "${filesdir}" -fn_set_game_params settings "servercfgfullpath" "${servercfgdir}/${servercfg}" -fn_set_game_params settings "servercfgdefault" "${servercfgdir}/serverconfig.xml" +fn_set_game_setting settings "appid" "294420" +fn_set_game_setting settings "gamename" "7 Days To Die" +fn_set_game_setting settings "executable" "./startserver.sh" +fn_set_game_setting settings "servercfg" "${servicename}.xml" +fn_set_game_setting settings "servercfgdir" "${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "${servercfgdir}/${servercfg}" +fn_set_game_setting settings "servercfgdefault" "${servercfgdir}/serverconfig.xml" diff --git a/gamedata/ss3sserver b/gamedata/ss3sserver index a88ab44e2..cbf0ce094 100644 --- a/gamedata/ss3sserver +++ b/gamedata/ss3sserver @@ -7,12 +7,12 @@ fn_parms(){ parms="+ip ${ip} +logfile ${gamelog} +exec ${servercfgfullpath}" } -fn_set_game_params settings "appid" "41080" -fn_set_game_params settings "gamename" "Serious Sam 3: BFE" -fn_set_game_params settings "systemdir" "\${filesdir}/Bin" -fn_set_game_params settings "executable" "./runSam3_DedicatedServer.sh" -fn_set_game_params settings "executabledir" "\${systemdir}" -fn_set_game_params settings "servercfg" "\${servicename}.ini" -fn_set_game_params settings "servercfgdir" "\${filesdir}/Content/SeriousSam3/Config" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" +fn_set_game_setting settings "appid" "41080" +fn_set_game_setting settings "gamename" "Serious Sam 3: BFE" +fn_set_game_setting settings "systemdir" "\${filesdir}/Bin" +fn_set_game_setting settings "executable" "./runSam3_DedicatedServer.sh" +fn_set_game_setting settings "executabledir" "\${systemdir}" +fn_set_game_setting settings "servercfg" "\${servicename}.ini" +fn_set_game_setting settings "servercfgdir" "\${filesdir}/Content/SeriousSam3/Config" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" diff --git a/gamedata/terrariaserver b/gamedata/terrariaserver index d2911ff20..59bcf04ce 100644 --- a/gamedata/terrariaserver +++ b/gamedata/terrariaserver @@ -5,13 +5,13 @@ fn_import_game_settings _terarria fn_parms(){ parms="-config ${servercfgfullpath}" } -fn_set_game_params settings "appid" "105600" -fn_set_game_params settings "gamename" "Terraria" -fn_set_game_params settings "game" "terraria" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./TerrariaServer" -fn_set_game_params settings "servercfg" "\${servicename}.txt" -fn_set_game_params settings "servercfgdir" "\${filesdir}" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.txt" -fn_set_game_params settings "gamelogdir" "" "Terraria Doesn't Have a Server Log" +fn_set_game_setting settings "appid" "105600" +fn_set_game_setting settings "gamename" "Terraria" +fn_set_game_setting settings "game" "terraria" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./TerrariaServer" +fn_set_game_setting settings "servercfg" "\${servicename}.txt" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.txt" +fn_set_game_setting settings "gamelogdir" "" "Terraria Doesn't Have a Server Log" diff --git a/gamedata/tf2server b/gamedata/tf2server index 949cab05c..44cb7f1db 100644 --- a/gamedata/tf2server +++ b/gamedata/tf2server @@ -5,10 +5,10 @@ fn_import_game_settings _gslt # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server fn_parms(){ -parms="-game tf -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +parms="-game tf -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${tv_port} +map ${map} +sv_setsteamaccount ${sv_setsteamaccount} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "232250" -fn_set_game_params settings "gamename" "Team Fortress 2" -fn_set_game_params settings "defaultmap" "cp_badlands" -fn_set_game_params settings "maxplayers" "16" -fn_set_game_params settings "game" "tf" +fn_set_game_setting settings "appid" "232250" +fn_set_game_setting settings "gamename" "Team Fortress 2" +fn_set_game_setting settings "map" "cp_badlands" +fn_set_game_setting settings "maxplayers" "16" +fn_set_game_setting settings "game" "tf" diff --git a/gamedata/tfcserver b/gamedata/tfcserver index 0f516692a..9f451a2e4 100644 --- a/gamedata/tfcserver +++ b/gamedata/tfcserver @@ -4,10 +4,10 @@ fn_import_game_settings _goldsource # https://developer.valvesoftware.com/wiki/Command_Line_Options#Command-line_parameters_2 fn_parms(){ -parms="-game tfc -strictportbind _ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} -maxplayers ${maxplayers}" +parms="-game tfc -strictportbind _ip ${ip} -port ${port} +clientport ${clientport} +map ${map} -maxplayers ${maxplayers}" } -fn_set_game_params settings "appid" "90" -fn_set_game_params settings "gamename" "Team Fortress Classic" -fn_set_game_params settings "defaultmap" "dustbowl" -fn_set_game_params settings "maxplayers" "16" -fn_set_game_params settings "game" "tfc" +fn_set_game_setting settings "appid" "90" +fn_set_game_setting settings "gamename" "Team Fortress Classic" +fn_set_game_setting settings "map" "dustbowl" +fn_set_game_setting settings "maxplayers" "16" +fn_set_game_setting settings "game" "tfc" diff --git a/gamedata/ts3server b/gamedata/ts3server index 346a82e5e..bdaf1062a 100644 --- a/gamedata/ts3server +++ b/gamedata/ts3server @@ -5,14 +5,14 @@ # 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_setting settings "gamename" "TeamSpeak 3" +fn_set_game_setting settings "servername" "TeamSpeak 3 Server" +fn_set_game_setting settings "servicename" "ts3-server" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./ts3server_startscript.sh" +fn_set_game_setting settings "servercfg" "\${servicename}.ini" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.ini" -fn_set_game_params scriptactions "pw" "change-password|command_ts3_server_pass.sh|Change Password." +fn_set_game_setting scriptactions "pw" "change-password|command_ts3_server_pass.sh|Change Password." diff --git a/gamedata/twserver b/gamedata/twserver index fed412727..09bba9c46 100644 --- a/gamedata/twserver +++ b/gamedata/twserver @@ -6,13 +6,13 @@ fn_parms(){ parms="-f ${servercfgfullpath}" } -fn_set_game_params settings "appid" "380840" -fn_set_game_params settings "gamename" "Teeworlds" -fn_set_game_params settings "game" "teeworlds" -fn_set_game_params settings "systemdir" "\${filesdir}" -fn_set_game_params settings "executabledir" "\${filesdir}" -fn_set_game_params settings "executable" "./teeworlds_srv" -fn_set_game_params settings "servercfg" "\${servicename}.cfg" -fn_set_game_params settings "servercfgdir" "\${filesdir}" -fn_set_game_params settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" -fn_set_game_params settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" +fn_set_game_setting settings "appid" "380840" +fn_set_game_setting settings "gamename" "Teeworlds" +fn_set_game_setting settings "game" "teeworlds" +fn_set_game_setting settings "systemdir" "\${filesdir}" +fn_set_game_setting settings "executabledir" "\${filesdir}" +fn_set_game_setting settings "executable" "./teeworlds_srv" +fn_set_game_setting settings "servercfg" "\${servicename}.cfg" +fn_set_game_setting settings "servercfgdir" "\${filesdir}" +fn_set_game_setting settings "servercfgfullpath" "\${servercfgdir}/\${servercfg}" +fn_set_game_setting settings "servercfgdefault" "\${servercfgdir}/lgsm-default.cfg" diff --git a/gamedata/ut2k4server b/gamedata/ut2k4server index f5aab6d53..a0f1373b7 100644 --- a/gamedata/ut2k4server +++ b/gamedata/ut2k4server @@ -3,10 +3,10 @@ fn_import_game_settings _unreal2 fn_parms(){ -parms="server ${defaultmap}?game=XGame.xDeathMatch -nohomedir ini=${servercfg} log=${gamelog}" +parms="server ${map}?game=XGame.xDeathMatch -nohomedir ini=${servercfg} log=${gamelog}" } -fn_set_game_params settings "gamename" "Unreal Tournament 2004" -fn_set_game_params settings "defaultmap" "DM-Rankin" +fn_set_game_setting settings "gamename" "Unreal Tournament 2004" +fn_set_game_setting settings "map" "DM-Rankin" # Why isn't this Default? -fn_set_game_params settings "servercfgdefault" "${servercfgdir}/UT2004.ini" +fn_set_game_setting settings "servercfgdefault" "${servercfgdir}/UT2004.ini" diff --git a/gamedata/ut99server b/gamedata/ut99server index 2a9eeb93b..6bc6c85d3 100644 --- a/gamedata/ut99server +++ b/gamedata/ut99server @@ -3,8 +3,8 @@ fn_import_game_settings _unreal fn_parms(){ -parms="server ${defaultmap}.unr ini=${servercfgfullpath}" +parms="server ${map}.unr ini=${servercfgfullpath}" } -fn_set_game_params settings "gamename" "Unreal Tournament 99" -fn_set_game_params settings "defaultmap" "DM-Deck16][" +fn_set_game_setting settings "gamename" "Unreal Tournament 99" +fn_set_game_setting settings "map" "DM-Deck16][" diff --git a/lgsm-core b/lgsm-core index 037f0b9c3..ab280cfb8 100755 --- a/lgsm-core +++ b/lgsm-core @@ -47,12 +47,19 @@ git_update=0 # LGSM Support Files - set ro rootdir for old behavior lgsmdir="${rootdir}/lgsm" + +# lgsmserverdir is the directory for this server's support files +lgsmserverdir="${lgsmdir}/servers/${selfname}" + # Temporary path to store and manipulate settings -settingsdir="${lgsmdir}/settings.tmp" +settingsdir="${lgsmserverdir}/settings" + # Supported Game Data gamedatadir="${lgsmdir}/gamedata" + # Config path for local instances -scriptcfgdir="${lgsmdir}/cfg/servers" +scriptcfgdir="${lgsmserverdir}/cfg" + # Temporary cache location cachedir="${lgsmdir}/tmp"