{ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", "meta": { "update_url": null, "version": "PTDL_v2" }, "exported_at": "2024-06-01T00:17:30+00:00", "name": "Clone Hero", "author": "josdekurk@gmail.com", "description": "Clone Hero is a classic instrument based rhythm game for Windows, Mac, Linux, and Android. It's playable with any 5 or 6 fret guitar controller, any midi drum kit, any game controller and even your keyboard! Jam out with Drums, 5-fret Guitar, or 6-fret Guitar online or local!", "features": null, "docker_images": { "Debian": "ghcr.io/parkervcp/yolks:debian" }, "file_denylist": [], "startup": "./Server -l {{LOG_LEVEL}} -n \"{{SERVER_DISPLAY_NAME}}\" -p {{SERVER_PORT}} -a 0.0.0.0 $([[ -z \"${SERVER_PASSWORD}\" ]] \u0026\u0026 echo -np || echo \"-ps ${SERVER_PASSWORD}\")", "config": { "files": "{}", "logs": "{}", "startup": "{\r\n \"done\": \"Server running...\"\r\n}", "stop": "^c" }, "scripts": { "installation": { "container": "ghcr.io/parkervcp/installers:debian", "entrypoint": "bash", "script": "#!/bin/bash\r\n\r\napt update\r\napt -y install curl unzip jq\r\n\r\n## get release info and download links\r\nV=$(curl -s https://clonehero.net/ | grep -i \"Latest version\" | grep -oP '(?\u003c=\u003cb\u003e).+?(?=\u003c\\/b\u003e)' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') #v1.0.0.4080\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/clonehero-game/releases/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/clonehero-game/releases/releases\")\r\nMATCH=CloneHero-standalone_server\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i server)\r\n fi\r\nfi\r\n\r\n\r\nV=$(curl -s https://clonehero.net/ | grep -i \"Latest version\" | grep -oP '(?\u003c=\u003cb\u003e).+?(?=\u003c\\/b\u003e)' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') #v1.0.0.4080\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] \u0026\u0026 echo \"linux-x64\" || echo \"linux-arm64\")\r\n\r\nmkdir -p /mnt/server\r\ncd /mnt/server\r\n\r\necho \"Running: curl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}\"\r\ncurl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}\r\n\r\nunzip -o ChStandaloneServer.zip\r\nrm ChStandaloneServer.zip\r\n\r\nmv ChStandaloneServer-${V}-final/${ARCH}/* .\r\nrm -rf ChStandaloneServer-${V}-final/\r\n\r\nchmod +x Server\r\n\r\n\r\nif [ ! -f /mnt/server/settings.ini ]\r\nthen\r\n\tcurl -sSL -o settings.ini https://pastebin.com/raw/rhcv0hvi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"" } }, "variables": [ { "name": "Server name", "description": "The name of the server", "env_variable": "SERVER_DISPLAY_NAME", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "required|string|max:80", "field_type": "text" }, { "name": "Server password", "description": "The password of the server", "env_variable": "SERVER_PASSWORD", "default_value": "", "user_viewable": true, "user_editable": true, "rules": "nullable|string|regex:/^[a-zA-Z0-9_]+$/", "field_type": "text" }, { "name": "Log level", "description": "Set max logging level", "env_variable": "LOG_LEVEL", "default_value": "4", "user_viewable": true, "user_editable": true, "rules": "required|string|in:0,1,2,3,4", "field_type": "text" }, { "name": "Version", "description": "The version of Clone Hero you want to install.\r\nExample: V1.0.0.4080 or latest", "env_variable": "VERSION", "default_value": "latest", "user_viewable": true, "user_editable": true, "rules": "required|string|max:20", "field_type": "text" } ] }