From 1b36c871d0c9742f15652966e35e32e0f0d50f45 Mon Sep 17 00:00:00 2001 From: engels74 <67713433+vp-en@users.noreply.github.com> Date: Mon, 25 Dec 2023 01:31:32 +0100 Subject: [PATCH] Adding `HumanitZ` --- README.md | 1 + game_eggs/README.md | 1 + game_eggs/steamcmd_servers/README.md | 4 + game_eggs/steamcmd_servers/humanitz/README.md | 32 ++ .../humanitz/egg-humanit-z.json | 472 ++++++++++++++++++ 5 files changed, 510 insertions(+) create mode 100644 game_eggs/steamcmd_servers/humanitz/README.md create mode 100644 game_eggs/steamcmd_servers/humanitz/egg-humanit-z.json diff --git a/README.md b/README.md index 9a38a858..04a2f475 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,7 @@ If you are reading this it looks like you are looking to add an egg to your serv * [HLDS Vanilla](game_eggs/steamcmd_servers/hlds_server/vanilla) * [ReHLDS](game_eggs/steamcmd_servers/hlds_server/rehlds) * [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast) +* [HumanitZ](game_eggs/steamcmd_servers/humanitz) * [Hurtworld](game_eggs/steamcmd_servers/hurtworld) * [Icarus](game_eggs/steamcmd_servers/icarus) * [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm) diff --git a/game_eggs/README.md b/game_eggs/README.md index 3244738f..5cceeef3 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -163,6 +163,7 @@ * [HLDS Vanilla](steamcmd_servers/hlds_server/vanilla) * [ReHLDS](steamcmd_servers/hlds_server/rehlds) * [Holdfast: Nations At War](steamcmd_servers/holdfast) +* [HumanitZ](steamcmd_servers/humanitz) * [Hurtworld](steamcmd_servers/hurtworld) * [Icarus](steamcmd_servers/icarus) * [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm) diff --git a/game_eggs/steamcmd_servers/README.md b/game_eggs/steamcmd_servers/README.md index e580ad2d..a23dc843 100644 --- a/game_eggs/steamcmd_servers/README.md +++ b/game_eggs/steamcmd_servers/README.md @@ -106,6 +106,10 @@ This is a collection of servers that use SteamCMD to install. [Holdfast: Nations At War](holdfast) +## HumanitZ + +[HumanitZ](humanitz) + ## Hurtworld [Hurtworld](hurtworld) diff --git a/game_eggs/steamcmd_servers/humanitz/README.md b/game_eggs/steamcmd_servers/humanitz/README.md new file mode 100644 index 00000000..b80b1266 --- /dev/null +++ b/game_eggs/steamcmd_servers/humanitz/README.md @@ -0,0 +1,32 @@ +# HumanitZ + + +## [Documentation](https://store.steampowered.com/app/2728330/HZ_SERVER) + + +HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as “humanly” possible. The past can’t be changed, but you can make a difference today for the future of humanity. + +## Install notes + +The current version of the server software is slightly buggy, and as of this writing has no proper documentation. + +They include a `README.txt` file with the server software, that includes a description of most of the variables, but not more than that. This is only obtainable via the SteamCMD tool. + +The `README.txt` also specifies that you can use variables such as `-steamservername` appended to the launch command, but that doesn't work properly. Therefore this egg is designed to manually parse/edit the `GameServerSettings.ini` file, with the values entered in the variables in Pterodactyl. + +## Installation/System Requirements + +Requires a 64-bit processor and operating system + +## Server Ports + +Ports required to run the server in a table format. + +| Port | default | +|--------------|---------| +| Game Port | 7777 | +| Query Port | 27015 | + +### Notes + +7777 is the default port, but any port can be used. diff --git a/game_eggs/steamcmd_servers/humanitz/egg-humanit-z.json b/game_eggs/steamcmd_servers/humanitz/egg-humanit-z.json new file mode 100644 index 00000000..0e0a43ab --- /dev/null +++ b/game_eggs/steamcmd_servers/humanitz/egg-humanit-z.json @@ -0,0 +1,472 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2023-12-25T01:52:34+01:00", + "name": "HumanitZ", + "author": "admin@marx.ps", + "description": "HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as \u201chumanly\u201d possible. The past can\u2019t be changed, but you can make a difference today for the future of humanity.", + "features": null, + "docker_images": { + "ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian" + }, + "file_denylist": [], + "startup": ".\/TSSGame\/Binaries\/Linux\/TSSGameServer-Linux-Shipping TSSGame -log -port={{SERVER_PORT}} -queryport={{QUERY_PORT}}", + "config": { + "files": "{\r\n \"TSSGame\/GameServerSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName=\": \"ServerName={{server.build.env.ServerName}}\",\r\n \"Password=\\\"\\\"\": \"Password=\\\"{{server.build.env.Password}}\\\"\",\r\n \"SaveName=\\\"\\\"\": \"SaveName=\\\"{{server.build.env.SaveName}}\\\"\",\r\n \"AdminPass=\\\"\\\"\": \"AdminPass=\\\"{{server.build.env.AdminPass}}\\\"\",\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MaxPlayers}}\",\r\n \"OnlyAllowedPlayers=\": \"OnlyAllowedPlayers={{server.build.env.OnlyAllowedPlayers}}\",\r\n \"SaveIntervalSec=\": \"SaveIntervalSec={{server.build.env.SaveIntervalSec}}\",\r\n \"NoDeathFeedback=\": \"NoDeathFeedback={{server.build.env.NoDeathFeedback}}\",\r\n \"PermaDeath=\": \"PermaDeath={{server.build.env.PermaDeath}}\",\r\n \"OnDeath=\": \"OnDeath={{server.build.env.OnDeath}}\",\r\n \"PVP=\": \"PVP={{server.build.env.PVP}}\",\r\n \"ClearInfection=\": \"ClearInfection={{server.build.env.ClearInfection}}\",\r\n \"EagleEye=\": \"EagleEye={{server.build.env.EagleEye}}\",\r\n \"AirDrop=\": \"AirDrop={{server.build.env.AirDrop}}\",\r\n \"WeaponBreak=\": \"WeaponBreak={{server.build.env.WeaponBreak}}\",\r\n \"MultiplayerSleep=\": \"MultiplayerSleep={{server.build.env.MultiplayerSleep}}\",\r\n \"LootRespawn=\": \"LootRespawn={{server.build.env.LootRespawn}}\",\r\n \"LootRespawnTimer=\": \"LootRespawnTimer={{server.build.env.LootRespawnTimer}}\",\r\n \"LootRarity=\": \"LootRarity={{server.build.env.LootRarity}}\",\r\n \"AirDropInterval=\": \"AirDropInterval={{server.build.env.AirDropInterval}}\",\r\n \"ZombieDiffHealth=\": \"ZombieDiffHealth={{server.build.env.ZombieDiffHealth}}\",\r\n \"ZombieDiffSpeed=\": \"ZombieDiffSpeed={{server.build.env.ZombieDiffSpeed}}\",\r\n \"ZombieDiffDamage=\": \"ZombieDiffDamage={{server.build.env.ZombieDiffDamage}}\",\r\n \"HumanDifficulty=\": \"HumanDifficulty={{server.build.env.HumanDifficulty}}\",\r\n \"ZombieAmountMulti=\": \"ZombieAmountMulti={{server.build.env.ZombieAmountMulti}}\",\r\n \"HumanAmountMulti=\": \"HumanAmountMulti={{server.build.env.HumanAmountMulti}}\",\r\n \"ZombieDogMulti=\": \"ZombieDogMulti={{server.build.env.ZombieDogMulti}}\",\r\n \"ZombieRespawnTimer=\": \"ZombieRespawnTimer={{server.build.env.ZombieRespawnTimer}}\",\r\n \"HumanRespawnTimer=\": \"HumanRespawnTimer={{server.build.env.HumanRespawnTimer}}\",\r\n \"AnimalRespawnTimer=\": \"AnimalRespawnTimer={{server.build.env.AnimalRespawnTimer}}\",\r\n \"StartingSeason=\": \"StartingSeason={{server.build.env.StartingSeason}}\",\r\n \"DaysPerSeason=\": \"DaysPerSeason={{server.build.env.DaysPerSeason}}\",\r\n \"DayDur=\": \"DayDur={{server.build.env.DayDur}}\",\r\n \"NightDur=\": \"NightDur={{server.build.env.NightDur}}\",\r\n \"VitalDrain=\": \"VitalDrain={{server.build.env.VitalDrain}}\",\r\n \"DogEnabled=\": \"DogEnabled={{server.build.env.DogEnabled}}\",\r\n \"DogNum=\": \"DogNum={{server.build.env.DogNum}}\",\r\n \"RecruitDog=\": \"RecruitDog={{server.build.env.RecruitDog}}\",\r\n \"BuildingHealth=\": \"BuildingHealth={{server.build.env.BuildingHealth}}\",\r\n \"CompanionHealth=\": \"CompanionHealth={{server.build.env.CompanionHealth}}\",\r\n \"CompanionDmg=\": \"CompanionDmg={{server.build.env.CompanionDmg}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"LogKaiHelper: Session created!\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit \r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## making server files executable\r\nchmod +x \/mnt\/server\/TSSGame\/Binaries\/Linux\/TSSGameServer-Linux-Shipping\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Steam App ID", + "description": "Steam App ID of HumanitZ Server", + "env_variable": "SRCDS_APPID", + "default_value": "2728330", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:2728330", + "field_type": "text" + }, + { + "name": "Auto Update", + "description": "Enable automatic updates on boot", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "[REQUIRED] Steam Beta Branch", + "description": "This ensures the script will grab the Linux version of the server", + "env_variable": "SRCDS_BETAID", + "default_value": "linuxbranch", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:linuxbranch", + "field_type": "text" + }, + { + "name": "[REQUIRED] Steam Query Port", + "description": "Steam Query Port", + "env_variable": "QUERY_PORT", + "default_value": "27015", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "Name of the server", + "env_variable": "ServerName", + "default_value": "My HumanitZ Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Server Password", + "description": "Server password (if any)", + "env_variable": "Password", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "Save Name", + "description": "Name of the save-file for the server", + "env_variable": "SaveName", + "default_value": "DedicatedSaveMP", + "user_viewable": true, + "user_editable": true, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Admin Password", + "description": "Password for the admin", + "env_variable": "AdminPass", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "Max Players", + "description": "Maximum number of players allowed", + "env_variable": "MaxPlayers", + "default_value": "32", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Only Allowed Players", + "description": "Restrict server to allowed players only", + "env_variable": "OnlyAllowedPlayers", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Saving World Interval", + "description": "Save game every X seconds", + "env_variable": "SaveIntervalSec", + "default_value": "300", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Permanent Death", + "description": "0=Off, 1=Individual, 2=All", + "env_variable": "PermaDeath", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "On Death", + "description": "0=Only lose backpack and weapon in hand, 1=Previous + pockets and backpack, 2=All previous + Equipment", + "env_variable": "OnDeath", + "default_value": "2", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "PvP", + "description": "Enable or Disable PvP\r\n0= Off, 1= On", + "env_variable": "PVP", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Clear Infection", + "description": "0=Respawning does not rid you of the infection, 1=You lose it upon respawning", + "env_variable": "ClearInfection", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Eagle Eye", + "description": "1=Able to purchase the eagle eye skill, 0=You can't", + "env_variable": "EagleEye", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Air Drop", + "description": "1=Enabled, 0=Disabled", + "env_variable": "AirDrop", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Weapon Durability", + "description": "1=Weapons break when reaching 0% durability except crow bar, 0=Only improvised break at 0% durability", + "env_variable": "WeaponBreak", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Multiplayer Sleep", + "description": "1=Time passes if everyone performs the sleep emote at the same time, 0=Passing time is disabled", + "env_variable": "MultiplayerSleep", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Building Health", + "description": "Nothing provided in docs regarding this variable. Default value is \"1\".", + "env_variable": "BuildingHealth", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Loot Respawn", + "description": "If loot respawns, how long does it take in seconds", + "env_variable": "LootRespawnTimer", + "default_value": "90", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Loot Rarity", + "description": "0=Scarce, 1=Low, 2=Default, 3=Plentiful, 4=Abundant", + "env_variable": "LootRarity", + "default_value": "2", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Air Drop Interval", + "description": "Air drop every X day", + "env_variable": "AirDropInterval", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Difficulty (Health)", + "description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare", + "env_variable": "ZombieDiffHealth", + "default_value": "3", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Difficulty (Speed)", + "description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare", + "env_variable": "ZombieDiffSpeed", + "default_value": "3", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Difficulty (Damage)", + "description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare", + "env_variable": "ZombieDiffDamage", + "default_value": "3", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Human Difficulty", + "description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare", + "env_variable": "HumanDifficulty", + "default_value": "3", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Amount Multiplier", + "description": "Zombie spawn count multiplier", + "env_variable": "ZombieAmountMulti", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Human Amount Multiplier", + "description": "Hostile humans spawn count multiplier", + "env_variable": "HumanAmountMulti", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Dog Multiplier", + "description": "Zombie dog spawn count multiplier", + "env_variable": "ZombieDogMulti", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Zombie Respawn Timer", + "description": "Time in minutes for zombies to respawn", + "env_variable": "ZombieRespawnTimer", + "default_value": "90", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Human Respawn Timer", + "description": "Time in minutes for hostile humans to respawn", + "env_variable": "HumanRespawnTimer", + "default_value": "90", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Animal Respawn Timer", + "description": "Time in minutes for animals to respawn", + "env_variable": "AnimalRespawnTimer", + "default_value": "90", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Starting Season", + "description": "0=Summer, 1=Autum, 2=Winter, 3=Spring", + "env_variable": "StartingSeason", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Days Per Season", + "description": "How many days each season lasts", + "env_variable": "DaysPerSeason", + "default_value": "5", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Day Duration", + "description": "Day duration in minutes", + "env_variable": "DayDur", + "default_value": "40", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Night Duration", + "description": "Night duration in minutes", + "env_variable": "NightDur", + "default_value": "20", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Vital Drain", + "description": "How fast your vitals drain 0=Slow, 1=Normal, 2=Fast", + "env_variable": "VitalDrain", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Dog Companions Enabled", + "description": "Enable finding dog companions you can recruit", + "env_variable": "DogEnabled", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Dog Companion Amount", + "description": "Number of companion dogs that could spawn randomly", + "env_variable": "DogNum", + "default_value": "4", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Recruit Companion Dogs", + "description": "Allow players to recruit companion dog", + "env_variable": "RecruitDog", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Companion Health", + "description": "Dog companion health - 0=Low 1=Default 2=High", + "env_variable": "CompanionHealth", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Companion Damage", + "description": "Dog companion damage - 0=Low 1=Default 2=High", + "env_variable": "CompanionDmg", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "No Death Feedback", + "description": "0 to enable player died notification in chat - 1 to disable player died notification in chat.", + "env_variable": "NoDeathFeedback", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + } + ] +} \ No newline at end of file