diff --git a/LICENSE b/LICENSE index 7302e436..816a92cb 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT -Copyright (c) 2015 - 2017 Dane Everitt +Copyright (c) 2018 Michael Parker and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index f9792cd7..61e13809 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,9 @@ If you are reading this it looks like you are looking to add an egg to your serv * [Necesse](game_eggs/steamcmd_servers/necesse) * [Neos VR](game_eggs/steamcmd_servers/neosvr) * [No More Room in Hell](game_eggs/steamcmd_servers/nmrih) +* [No Love Lost](game_eggs/steamcmd_servers/no_love_lost) * [No One Survived](game_eggs/steamcmd_servers/no_one_survived) +* [Nova-Life: Amboise](game_eggs/steamcmd_servers/novalife_amboise) * [Onset](game_eggs/steamcmd_servers/onset) * [Open Fortress](game_eggs/steamcmd_servers/open_fortress) * [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop) diff --git a/game_eggs/README.md b/game_eggs/README.md index 288d7e2d..78e93475 100644 --- a/game_eggs/README.md +++ b/game_eggs/README.md @@ -185,7 +185,9 @@ * [Necesse](steamcmd_servers/necesse) * [Neos VR](steamcmd_servers/neosvr) * [No More Room in Hell](steamcmd_servers/nmrih) +* [No Love Lost](steamcmd_servers/no_love_lost) * [No One Survived](steamcmd_servers/no_one_survived) +* [Nova-Life: Amboise](steamcmd_servers/novalife_amboise) * [Onset](steamcmd_servers/onset) * [Open Fortress](steamcmd_servers/open_fortress) * [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop) diff --git a/game_eggs/minecraft/java/spigot/egg-spigot.json b/game_eggs/minecraft/java/spigot/egg-spigot.json index 1873d46c..e7825820 100644 --- a/game_eggs/minecraft/java/spigot/egg-spigot.json +++ b/game_eggs/minecraft/java/spigot/egg-spigot.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-05-17T23:20:29+01:00", + "exported_at": "2024-03-31T14:10:53+02:00", "name": "Spigot", "author": "support@pterodactyl.io", "description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of their players. Spigot works by reducing and eliminating many causes of lag, as well as adding in handy features and settings that help make your job of server administration easier.", @@ -30,7 +30,7 @@ }, "scripts": { "installation": { - "script": "#!\/bin\/bash\r\n# Spigot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nmkdir -p \/usr\/share\/man\/man1\r\n\r\nfunction install_java() {\r\n curl -L $1 -o java.tar.gz\r\n tar xzf java.tar.gz\r\n export PATH=$PWD\/$2\/bin:$PATH\r\n java -version\r\n}\r\n\r\nfunction build_spigot()\r\n{\r\n java -Xms$1M -jar BuildTools.jar --rev ${DL_VERSION} || { echo -e \"\\n install failed! Attempted to install ${DL_VERSION} with memory of ${SERVER_MEMORY} and Java version of:\"; java -version; exit 1; }\r\n}\r\n\r\n# Detect the required Java version for building Spigot. Currently temurin only provides archives of their releases, and adoptopenjdk is deprecated. Update this when packages are released.\r\nif [[ $DL_VERSION =~ ^1\\.(18|19|20|21|22|23) || $DL_VERSION == \"latest\" ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin17-binaries\/releases\/download\/jdk-17.0.1%2B12\/OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz\" jdk-17.0.1+12\r\nelif [[ $DL_VERSION =~ ^1\\.(17) ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin16-binaries\/releases\/download\/jdk-16.0.2%2B7\/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz\" jdk-16.0.2+7\r\nelse\r\n install_java \"https:\/\/github.com\/adoptium\/temurin8-binaries\/releases\/download\/jdk8u312-b07\/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz\" jdk8u312-b07\r\nfi\r\n\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n cd \/mnt\/server\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n echo -e \"Using custom provided download link ${MODIFIED_DOWNLOAD}\"\r\n curl -L ${MODIFIED_DOWNLOAD} -o ${SERVER_JARFILE}\r\nelse\r\n mkdir -p \/srv\/\r\n cd \/srv\/\r\n curl -L https:\/\/hub.spigotmc.org\/jenkins\/job\/BuildTools\/lastSuccessfulBuild\/artifact\/target\/BuildTools.jar -o BuildTools.jar\r\n\r\n # Force the minimum Wings install container memory should someone provide less or 0 as it will break the Java build process\r\n if [ $SERVER_MEMORY -lt 1024 ]; then\r\n echo -e \"Do not use 0 for memory with Java applications. Defaulting to 1024MB.\\n WARNING! 1024MB might not be enough to build 1.17+ releases.\"\r\n SERVER_MEMORY=1024\r\n build_spigot ${SERVER_MEMORY}\r\n else\r\n build_spigot ${SERVER_MEMORY}\r\n fi\r\n mv spigot-*.jar \/mnt\/server\/${SERVER_JARFILE}\r\nfi", + "script": "#!\/bin\/bash\r\n# Spigot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nmkdir -p \/usr\/share\/man\/man1\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"x64\" || echo \"aarch64\")\r\n \r\nfunction install_java() {\r\n echo \"ARCH: ${ARCH}\\nDownload URl: $1\"\r\n curl -L $1 -o java.tar.gz\r\n tar xzf java.tar.gz\r\n export PATH=$PWD\/$2\/bin:$PATH\r\n java -version\r\n}\r\n\r\nfunction build_spigot()\r\n{\r\n java -Xms$1M -jar BuildTools.jar --rev ${DL_VERSION} || { echo -e \"\\n install failed! Attempted to install ${DL_VERSION} with memory of ${SERVER_MEMORY} and Java version of:\"; java -version; exit 1; }\r\n}\r\n\r\n# Detect the required Java version for building Spigot. Currently temurin only provides archives of their releases, and adoptopenjdk is deprecated. Update this when packages are released.\r\nif [[ $DL_VERSION =~ ^1\\.(18|19|20|21|22|23) || $DL_VERSION == \"latest\" ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin17-binaries\/releases\/download\/jdk-17.0.10%2B7\/OpenJDK17U-jdk_${ARCH}_linux_hotspot_17.0.10_7.tar.gz\" jdk-17.0.10+7\r\nelif [[ $DL_VERSION =~ ^1\\.(17) ]]; then\r\n install_java \"https:\/\/github.com\/adoptium\/temurin16-binaries\/releases\/download\/jdk-16.0.2%2B7\/OpenJDK16U-jdk_${ARCH}_linux_hotspot_16.0.2_7.tar.gz\" jdk-16.0.2+7\r\nelse\r\n install_java \"https:\/\/github.com\/adoptium\/temurin8-binaries\/releases\/download\/jdk8u312-b07\/OpenJDK8U-jdk_${ARCH}_linux_hotspot_8u312b07.tar.gz\" jdk8u312-b07\r\nfi\r\n\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n cd \/mnt\/server\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n echo -e \"Using custom provided download link ${MODIFIED_DOWNLOAD}\"\r\n curl -L ${MODIFIED_DOWNLOAD} -o ${SERVER_JARFILE}\r\nelse\r\n mkdir -p \/srv\/\r\n cd \/srv\/\r\n curl -L https:\/\/hub.spigotmc.org\/jenkins\/job\/BuildTools\/lastSuccessfulBuild\/artifact\/target\/BuildTools.jar -o BuildTools.jar\r\n\r\n # Force the minimum Wings install container memory should someone provide less or 0 as it will break the Java build process\r\n if [ $SERVER_MEMORY -lt 1024 ]; then\r\n echo -e \"Do not use 0 for memory with Java applications. Defaulting to 1024MB.\\n WARNING! 1024MB might not be enough to build 1.17+ releases.\"\r\n SERVER_MEMORY=1024\r\n build_spigot ${SERVER_MEMORY}\r\n else\r\n build_spigot ${SERVER_MEMORY}\r\n fi\r\n mv spigot-*.jar \/mnt\/server\/${SERVER_JARFILE}\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "container": "ghcr.io\/parkervcp\/installers:debian", "entrypoint": "bash" } @@ -43,7 +43,8 @@ "default_value": "server.jar", "user_viewable": true, "user_editable": true, - "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" + "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/", + "field_type": "text" }, { "name": "Download Path", @@ -52,7 +53,8 @@ "default_value": "", "user_viewable": false, "user_editable": false, - "rules": "nullable|string" + "rules": "nullable|string", + "field_type": "text" }, { "name": "Spigot Version", @@ -61,7 +63,8 @@ "default_value": "latest", "user_viewable": true, "user_editable": true, - "rules": "required|string|between:3,10" + "rules": "required|string|between:3,10", + "field_type": "text" } ] -} +} \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/README.md b/game_eggs/steamcmd_servers/README.md index 82620880..6b88ac3f 100644 --- a/game_eggs/steamcmd_servers/README.md +++ b/game_eggs/steamcmd_servers/README.md @@ -183,10 +183,18 @@ This is a collection of servers that use SteamCMD to install. [No More Room in Hell](nmrih) +## No Love Lost + +[No Love Lost](no_love_lost) + ## No One Survived [No One Survived](no_one_survived) +## Nova-Life: Amboise + +[Nova-Life: Amboise](novalife_amboise) + ## Onset [Onset](onset) diff --git a/game_eggs/steamcmd_servers/no_love_lost/README.md b/game_eggs/steamcmd_servers/no_love_lost/README.md new file mode 100644 index 00000000..d7d21c95 --- /dev/null +++ b/game_eggs/steamcmd_servers/no_love_lost/README.md @@ -0,0 +1,16 @@ +# No Love Lost + +Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet that’s become all the rage! +In this PvPvE extraction game for 1-10 players, compete against enemy crews to harvest as much Nectar as possible before night falls. +But watch out, you're not the only one roaming this planet! + +## Server Port +| Port | default | +|---------|---------| +| Game | 7777 | +| Query | 27015 | + +## Hardware Requirements +| Storage | RAM | +|---------|---------| +| 6.0GB | 6.0GB | \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/no_love_lost/egg-no-love-lost.json b/game_eggs/steamcmd_servers/no_love_lost/egg-no-love-lost.json new file mode 100644 index 00000000..e2a2ca4e --- /dev/null +++ b/game_eggs/steamcmd_servers/no_love_lost/egg-no-love-lost.json @@ -0,0 +1,84 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-03-15T11:03:18+01:00", + "name": "No Love Lost", + "author": "imkringle@proton.me", + "description": "Grab your ragtag crew & take up the Nectar Raiding trade on a dangerous planet that\u2019s become all the rage! In this PvPvE extraction game for 1-10 players, compete against enemy crews to harvest as much Nectar as possible before night falls. But watch out, you're not the only one roaming this planet!", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton" + }, + "file_denylist": [], + "startup": "rm \/home\/container\/NoLoveLost\/Saved\/Logs\/NoLoveLost.log; proton run .\/NoLoveLost\/Binaries\/Win64\/NoLoveLostServer-Win64-Shipping.exe -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -servername=\"{{SERVER_NAME}}\" -log & NLL_PID=$!; tail -c0 -F \/home\/container\/NoLoveLost\/Saved\/Logs\/NoLoveLost.log --pid=$NLL_PID", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"seconds to LoadMap\"\r\n}", + "logs": "{}", + "stop": "^C" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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# 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 ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## install the steam sdk using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server\/NoLoveLost\/Binaries\/Win64\/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${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## 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#Setup AppID TXT\r\ncd \/mnt\/server\r\necho \"1873120\" > steam_appid.txt\r\n\r\n## End\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Auto Update", + "description": "Updates server on startup", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "[Advanced] Windows Install", + "description": "", + "env_variable": "WINDOWS_INSTALL", + "default_value": "1", + "user_viewable": false, + "user_editable": false, + "rules": "nullable|string|in:1", + "field_type": "text" + }, + { + "name": "Steam AppID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "2833050", + "user_viewable": false, + "user_editable": false, + "rules": "required|string", + "field_type": "text" + }, + { + "name": "Query Port", + "description": "", + "env_variable": "QUERY_PORT", + "default_value": "27016", + "user_viewable": true, + "user_editable": true, + "rules": "required", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "", + "env_variable": "SERVER_NAME", + "default_value": "A Pterodactyl Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/novalife_amboise/README.md b/game_eggs/steamcmd_servers/novalife_amboise/README.md new file mode 100644 index 00000000..9f1545b5 --- /dev/null +++ b/game_eggs/steamcmd_servers/novalife_amboise/README.md @@ -0,0 +1,40 @@ +# Nova-Life: Amboise + + +Nova-Life: Amboise is a multiplayer role-play simulation video game. Create your character and start your second life! + +## Installation/System Requirements + +| | Bare Minimum | Recommended | +|---------|---------|---------| +| Processor | *AMD64 only and 250% cpu* | *350% cpu* | +| RAM | *8GiB* | *9GiB* | +| Storage | *6GiB* | *8GiB* | +| Network | *Any* | */* | +| Game Ownership | *Not needed* | *Needed if you want to upload your own savegame* | + +## Server Ports + +Ports required to run the server in a table format. + +| Port | default | +|---------|---------| +| Game | 7777 | + +### Notes + + +7777 is the default port, but any port can be used. + +The egg created a default server on install based on the `Server Name` variable at `/home/container/Servers/` and sets the port and max players in the config file. + +Because the directory can change their is no way if you upload your own `life.db` and `/home/container/Servers//Config/server.json` that we can parse the port so then you will have to manualy set the game port to the allocated port or you change the server name, hit reinstall and then replace the `life.db` file from the one the client generated. + + +### Variable parsing + +As mentioned above all variable the client can see and change will only apply on reinstall. + +### Errors + +Because this game and server are still in development many errors will show in the console, those can safely be ignored. diff --git a/game_eggs/steamcmd_servers/novalife_amboise/egg-nova--life--amboise.json b/game_eggs/steamcmd_servers/novalife_amboise/egg-nova--life--amboise.json new file mode 100644 index 00000000..a6eac640 --- /dev/null +++ b/game_eggs/steamcmd_servers/novalife_amboise/egg-nova--life--amboise.json @@ -0,0 +1,84 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-03-09T10:08:19+01:00", + "name": "Nova-Life: Amboise", + "author": "josdekurk@gmail.com", + "description": "Nova-Life: Amboise is a multiplayer role-play simulation video game. Create your character and start your second life!", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian" + }, + "file_denylist": [], + "startup": ".\/nova-life.x86_64 -batchmode -nographics -startServer \"{{SERVER_NAME}}\"", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"Server launched in \"\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 ## other flags may be needed depending on install. looking at you cs 1.6\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\nmkdir -p \/mnt\/server\/Servers\/${SERVER_NAME}\/Config\r\n\r\ncd \/mnt\/server\/Servers\/${SERVER_NAME}\/Config\r\n\r\necho -n \"{\\\"serverName\\\":\\\"${SERVER_NAME}\\\",\\\"serverListName\\\":\\\"${SERVER_LIST_NAME}\\\",\\\"serverSlot\\\":${SERVER_SLOTS},\\\"serverPort\\\":${SERVER_PORT},\\\"isPublicServer\\\":false,\\\"useAdminPinAuth\\\":false,\\\"tabletUrl\\\":\\\"\\\",\\\"isWhitelisted\\\":false,\\\"useWhitelistProtection\\\":false,\\\"whitelist\\\":{\\\"intro\\\":\\\"\\\",\\\"questions\\\":[],\\\"date\\\":\\\"\\\"},\\\"autoSaveIntervalSeconds\\\":1800,\\\"disconnectClientsBeforeStop\\\":true,\\\"mapId\\\":0,\\\"serverFramerate\\\":60,\\\"hasShop\\\":false}\" | jq . > server.json\r\n\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "App ID", + "description": "", + "env_variable": "SRCDS_APPID", + "default_value": "1665030", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:1665030", + "field_type": "text" + }, + { + "name": "Auto Update", + "description": "Auto Update The server on startup", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "The name of the server.\r\nMust match the one made in game and uploaded or a reinstallation is needed to auto make a new one.", + "env_variable": "SERVER_NAME", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|alpha_dash|max:64", + "field_type": "text" + }, + { + "name": "Max Players", + "description": "The maximum amount of players that can join", + "env_variable": "SERVER_SLOTS", + "default_value": "25", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|between:1,50", + "field_type": "text" + }, + { + "name": "Server List Name", + "description": "The name of the server in the Server List", + "env_variable": "SERVER_LIST_NAME", + "default_value": "A Pterodactyl server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:128", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/palworld/PalworldServerConfigParser-linux-amd64 b/game_eggs/steamcmd_servers/palworld/PalworldServerConfigParser-linux-amd64 index e6cc531f..d7d2296e 100644 Binary files a/game_eggs/steamcmd_servers/palworld/PalworldServerConfigParser-linux-amd64 and b/game_eggs/steamcmd_servers/palworld/PalworldServerConfigParser-linux-amd64 differ diff --git a/game_eggs/steamcmd_servers/palworld/README.md b/game_eggs/steamcmd_servers/palworld/README.md index 9b2a25a1..c412e9cd 100644 --- a/game_eggs/steamcmd_servers/palworld/README.md +++ b/game_eggs/steamcmd_servers/palworld/README.md @@ -120,6 +120,14 @@ See a list of what key matches with what variable [Here](https://github.com/Quin **Variables that do not exist will automatically be skipped parsing so you do not have to worry about it emptying your config file** +### Proton + +There is a special egg that uses proton instad of the native linux version what shipes with `winmm.dll` and `RE-UE4SS` so for they who want to run mods then that is possible. + +Keep in mind this eggs console output is broken (thanks proton / wine) so you will only see the parser output. The RCON console does still work. + + ### Config -The config is found at the following path: `Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` +The config is found at the following path: `Pal/Saved/Config/LinuxServer/PalWorldSettings.ini` or if you are running the proton egg `Pal/Saved/Config/WindowsServer/PalWorldSettings.ini` + diff --git a/game_eggs/steamcmd_servers/palworld/egg-palworld-proton.json b/game_eggs/steamcmd_servers/palworld/egg-palworld-proton.json new file mode 100644 index 00000000..cc95f1ac --- /dev/null +++ b/game_eggs/steamcmd_servers/palworld/egg-palworld-proton.json @@ -0,0 +1,154 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v2", + "update_url": null + }, + "exported_at": "2024-03-01T13:53:42+01:00", + "name": "Palworld Proton", + "author": "josdekurk@gmail.com", + "description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!", + "features": [ + "steam_disk_space" + ], + "docker_images": { + "Proton": "ghcr.io\/parkervcp\/steamcmd:proton" + }, + "file_denylist": [], + "startup": ".\/PalworldServerConfigParser; (while read cmd; do rcon -s -a \"localhost:$RCON_PORT\" -p \"$ADMIN_PASSWORD\" \"$cmd\";done) < \/dev\/stdin & proton run \/home\/container\/Pal\/Binaries\/Win64\/PalServer-Win64-Test.exe -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\" -rcon", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"up and running.\"\r\n}", + "logs": "{}", + "stop": "shutdown 5" + }, + "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# 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 ## other flags may be needed depending on install. looking at you cs 1.6\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## add below your custom commands if needed\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\n\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\r\nelse \r\n echo \"Creating new config file\"\r\n mkdir -p \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/WindowsServer\/PalWorldSettings.ini\r\nfi\r\n\r\ncd \/mnt\/server\r\n# Download self made replace tool\r\necho \"Downloading config parser aplication\"\r\ncurl -sSL -o PalworldServerConfigParser https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/PalworldServerConfigParser-linux-amd64\r\nchmod +x PalworldServerConfigParser\r\n\r\ncd \/tmp\r\ncurl -sSL -o \/mnt\/server\/Pal\/Binaries\/Win64\/winmm.dll https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/winmm.dll\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/UE4SS-RE\/RE-UE4SS\/releases\/latest\")\r\nMATCH=\"UE4SS_\"\r\nDOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\necho ${DOWNLOAD_URL}\r\ncurl -sSL -o ue4ss.zip ${DOWNLOAD_URL}\r\nunzip -o ue4ss.zip -d \/mnt\/server\/Pal\/Binaries\/Win64\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", + "container": "ghcr.io\/parkervcp\/installers:debian", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "App ID", + "description": "Do not edit!", + "env_variable": "SRCDS_APPID", + "default_value": "2394010", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:2394010", + "field_type": "text" + }, + { + "name": "Auto Update", + "description": "Auto update the server on start.", + "env_variable": "AUTO_UPDATE", + "default_value": "1", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, + { + "name": "Max Players", + "description": "", + "env_variable": "MAX_PLAYERS", + "default_value": "32", + "user_viewable": true, + "user_editable": true, + "rules": "required|numeric|between:1,32", + "field_type": "text" + }, + { + "name": "Server Name", + "description": "", + "env_variable": "SERVER_NAME", + "default_value": "A Pterodactyl hosted Palworld Server", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|max:64", + "field_type": "text" + }, + { + "name": "Server Password", + "description": "If specified, players must provide this password to join the server.", + "env_variable": "SERVER_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|alpha_dash|between:1,30", + "field_type": "text" + }, + { + "name": "Admin Password", + "description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.", + "env_variable": "ADMIN_PASSWORD", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "required|alpha_dash|between:1,30", + "field_type": "text" + }, + { + "name": "Public IP", + "description": "Set this to the server public ip address.\r\nOnly needed if the allocation is a local ip, else the allocate ip will be used automatically", + "env_variable": "PUBLIC_IP", + "default_value": "", + "user_viewable": true, + "user_editable": false, + "rules": "nullable|string", + "field_type": "text" + }, + { + "name": "RCON Port", + "description": "Does not need to be allocated!", + "env_variable": "RCON_PORT", + "default_value": "25575", + "user_viewable": true, + "user_editable": false, + "rules": "required|numeric", + "field_type": "text" + }, + { + "name": "Enable RCON", + "description": "Must Be ON", + "env_variable": "RCON_ENABLE", + "default_value": "True", + "user_viewable": false, + "user_editable": false, + "rules": "required|string|in:True", + "field_type": "text" + }, + { + "name": "bEnableInvaderEnemy", + "description": "Turns off or on bEnableInvaderEnemy,\r\nCan be used to slow download memory leaks.\r\nOff should slow down the memory leaks.", + "env_variable": "ENABLE_ENEMY", + "default_value": "True", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:True,False", + "field_type": "text" + }, + { + "name": "Server Description", + "description": "The description of the server.", + "env_variable": "SERVER_DESCRIPTION", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string|max:128", + "field_type": "text" + }, + { + "name": "WINDOWS_INSTALL", + "description": "", + "env_variable": "WINDOWS_INSTALL", + "default_value": "1", + "user_viewable": false, + "user_editable": false, + "rules": "required|in:1", + "field_type": "text" + } + ] +} \ No newline at end of file diff --git a/game_eggs/steamcmd_servers/palworld/winmm.dll b/game_eggs/steamcmd_servers/palworld/winmm.dll new file mode 100644 index 00000000..48c2bc66 Binary files /dev/null and b/game_eggs/steamcmd_servers/palworld/winmm.dll differ diff --git a/game_eggs/steamcmd_servers/resonite/egg-resonite.json b/game_eggs/steamcmd_servers/resonite/egg-resonite.json index f00fcd3d..fb2296be 100644 --- a/game_eggs/steamcmd_servers/resonite/egg-resonite.json +++ b/game_eggs/steamcmd_servers/resonite/egg-resonite.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-11-11T08:33:24-05:00", + "exported_at": "2024-04-01T09:52:45+00:00", "name": "Resonite", "author": "espeon@espeon.dev", "description": "Enter a novel digital universe with infinite possibilities. Whether you resonate with people around the world in a casual conversation, playing games and socializing or you riff off each other when creating anything from art to programming complex games, you'll find your place here.", @@ -13,7 +13,7 @@ "Mono": "ghcr.io\/parkervcp\/yolks:mono_latest" }, "file_denylist": [], - "startup": "mono Headless\/Resonite.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly \".\/Libraries\/ResoniteModLoader.dll\"\"; fi)", + "startup": "mono Headless\/Resonite.exe -HeadlessConfig Headless\/Config\/Config.json -Logs Headless\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly \"Libraries\/ResoniteModLoader.dll\"\"; fi)", "config": { "files": "{}", "startup": "{\r\n \"done\": \"World running...\"\r\n}", @@ -109,4 +109,4 @@ "field_type": "text" } ] -} \ No newline at end of file +} diff --git a/game_eggs/steamcmd_servers/the_forest/egg-the-forest.json b/game_eggs/steamcmd_servers/the_forest/egg-the-forest.json index f0249938..bdb01b2e 100644 --- a/game_eggs/steamcmd_servers/the_forest/egg-the-forest.json +++ b/game_eggs/steamcmd_servers/the_forest/egg-the-forest.json @@ -4,7 +4,7 @@ "version": "PTDL_v2", "update_url": null }, - "exported_at": "2023-01-28T11:38:05+01:00", + "exported_at": "2024-03-20T08:55:56+01:00", "name": "The Forest", "author": "admin@softwarenoob.com", "description": "As the lone survivor of a passenger jet crash, you find yourself in a mysterious forest battling to stay alive against a society of cannibalistic mutants. Build, explore, survive in this terrifying first-person survival horror simulator.", @@ -15,9 +15,9 @@ "ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest" }, "file_denylist": [], - "startup": "winetricks sound=disabled; xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine .\/TheForestDedicatedServer.exe -batchmode -nographics -nosteamclient -savefolderpath \/home\/container\/TheForestDedicatedServer_Data -configfilepath \/home\/container\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg |grep -v 'RenderTexture.Create failed: format unsupported - 2.'", + "startup": "winetricks sound=disabled; xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine .\/TheForestDedicatedServer.exe -batchmode -nographics -inittype {{INIT_TYPE}} -nosteamclient -savefolderpath \/home\/container\/TheForestDedicatedServer_Data -configfilepath \/home\/container\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg |grep -v 'RenderTexture.Create failed: format unsupported - 2.'", "config": { - "files": "{\r\n \"\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"serverIP\": \"serverIP 0.0.0.0\",\r\n \"serverSteamPort\": \"serverSteamPort {{server.build.env.STEAM_PORT}}\",\r\n \"serverGamePort\": \"serverGamePort {{server.build.default.port}}\",\r\n \"serverQueryPort\": \"serverQueryPort {{server.build.env.QUERY_PORT}}\",\r\n \"serverName\": \"serverName {{server.build.env.SERVER_NAME}}\",\r\n \"serverPlayers\": \"serverPlayers {{server.build.env.MAX_PLAYERS}}\",\r\n \"serverPassword\": \"serverPassword {{server.build.env.SERVER_PASS}}\",\r\n \"serverPasswordAdmin\": \"serverPasswordAdmin {{server.build.env.ADMIN_PASS}}\",\r\n \"serverSteamAccount\": \"serverSteamAccount {{server.build.env.STEAM_ACC}}\",\r\n \"enableVAC\": \"enableVAC {{server.build.env.VAC}}\",\r\n \"difficulty\": \"difficulty {{server.build.env.SERVER_DIFFICULTY}}\"\r\n }\r\n }\r\n}", + "files": "{\r\n \"\/TheForestDedicatedServer_Data\/forest\/config\/config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"serverIP\": \"serverIP 0.0.0.0\",\r\n \"serverSteamPort\": \"serverSteamPort {{server.build.env.STEAM_PORT}}\",\r\n \"serverGamePort\": \"serverGamePort {{server.build.default.port}}\",\r\n \"serverQueryPort\": \"serverQueryPort {{server.build.env.QUERY_PORT}}\",\r\n \"serverName\": \"serverName {{server.build.env.SERVER_NAME}}\",\r\n \"serverPlayers\": \"serverPlayers {{server.build.env.MAX_PLAYERS}}\",\r\n \"serverPassword\": \"serverPassword {{server.build.env.SERVER_PASS}}\",\r\n \"serverPasswordAdmin\": \"serverPasswordAdmin {{server.build.env.ADMIN_PASS}}\",\r\n \"serverSteamAccount\": \"serverSteamAccount {{server.build.env.STEAM_ACC}}\",\r\n \"enableVAC\": \"enableVAC {{server.build.env.VAC}}\",\r\n \"initType\": \"initType {{server.build.env.INIT_TYPE}}\",\r\n \"difficulty\": \"difficulty {{server.build.env.SERVER_DIFFICULTY}}\"\r\n }\r\n }\r\n}", "startup": "{\r\n \"done\": \"Game autosave started\"\r\n}", "logs": "{}", "stop": "^^C" @@ -169,6 +169,16 @@ "user_editable": false, "rules": "required|string|max:20", "field_type": "text" + }, + { + "name": "Init Type", + "description": "Init Type when starting server. \r\nNew to start fresh or Continue to preload the saved game", + "env_variable": "INIT_TYPE", + "default_value": "New", + "user_viewable": true, + "user_editable": true, + "rules": "required|string|in:New,Continue", + "field_type": "text" } ] -} \ No newline at end of file +} diff --git a/generic/dart/egg-dart-generic.json b/generic/dart/egg-dart-generic.json index 00f1063f..8eaa1e68 100644 --- a/generic/dart/egg-dart-generic.json +++ b/generic/dart/egg-dart-generic.json @@ -8,14 +8,15 @@ "name": "dart generic", "author": "alden@knoban.com", "description": "A generic dart CLI egg.\r\n\r\nThis will clone a dart CLI application. it defaults to master if no branch is specified.\r\n\r\nInstalls the pubspec.yaml packages on run. If you set user_upload then I assume you know what you are doing.", - "features": null, "docker_images": { + "Dart_stable": "ghcr.io\/knoapp\/yolks:dart_stable", + "Dart_3.3": "ghcr.io\/knoapp\/yolks:dart_3.3", "Dart_2.19": "ghcr.io\/parkervcp\/yolks:dart_2.19", "Dart_2.18": "ghcr.io\/parkervcp\/yolks:dart_2.18", "Dart_2.17": "ghcr.io\/parkervcp\/yolks:dart_2.17" }, "file_denylist": [], - "startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; dart pub get; dart run", + "startup": "if [[ -d .git ]] && [[ {{AUTO_RESET}} == \"1\" ]]; then git reset --hard; fi; if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; dart pub get; dart run", "config": { "files": "{}", "startup": "{\r\n \"done\": \"change this part\"\r\n}", @@ -70,6 +71,16 @@ "rules": "required|boolean", "field_type": "text" }, + { + "name": "Auto Reset", + "description": "Hard reset the latest files on startup when using a GitHub repo.", + "env_variable": "AUTO_RESET", + "default_value": "0", + "user_viewable": true, + "user_editable": true, + "rules": "required|boolean", + "field_type": "text" + }, { "name": "Git Username", "description": "Username to auth with git.", @@ -91,4 +102,4 @@ "field_type": "text" } ] -} +} \ No newline at end of file