更新日志
[AI翻译] 名称、描述、说明、JSON描述、变量
版本内容
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https://eggs.pterodactyl.top/eggs/134/download/egg-valheim-bepinex.json"
},
"exported_at": "2026-01-03T15:22:52+00:00",
"name": "Valheim BepINex",
"author": "eggs@goover.dev",
"description": "一款供1-10名玩家游玩的残酷探索与生存游戏,设定在受维京文化启发的程序生成炼狱中,包含插件框架BepInEx",
"features": [
"steam_disk_space"
],
"docker_images": {
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/games:valheim": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/games:valheim"
},
"file_denylist": [],
"startup": "export DOORSTOP_ENABLED=1; export DOORSTOP_TARGET_ASSEMBLY=./BepInEx/core/BepInEx.Preloader.dll; export LD_LIBRARY_PATH=\"./doorstop_libs:./linux64:$LD_LIBRARY_PATH\"; export LD_PRELOAD=\"libdoorstop_x64.so:$LD_PRELOAD\"; export LD_LIBRARY_PATH=\"./linux64:$LD_LIBRARY_PATH\"; export SteamAppId=892970; ./valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public {{PUBLIC_SERVER}} -saveinterval {{BACKUP_INTERVAL}} -backups {{BACKUP_COUNT}} -backupshort {{BACKUP_SHORTTIME}} -backuplong {{BACKUP_LONGTIME}} $( [[ {{ENABLE_CROSSPLAY}} -eq 1 ]] && echo \" -crossplay \") > >(sed -uE \"{{CONSOLE_FILTER}}\")",
"config": {
"files": "{}",
"startup": "{\n \"done\": \"Game server connected\"\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!/bin/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install wget\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n # ------------------------------\r\n # Steam user defaults\r\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\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} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +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\necho \"-------------------------------------------------------\"\r\necho \"installing BepInEx and Selected ModPacks...\"\r\necho \"-------------------------------------------------------\"\r\nif ! api_response=$(curl -sfSL -H \"accept: application/json\" \"$BEPINEX_URL\"); then\r\n fatal \"Error: could not retrieve BepInEx release info from Thunderstore.io API\"\r\nfi\r\n\r\ndownload_url=$(jq -r \".latest.download_url\" <<< \"$api_response\" )\r\nversion_number=$(jq -r \".latest.version_number\" <<< \"$api_response\" )\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Modpack Name dashes to slashes for URL\r\nV_MODPACK=$(echo \"$V_MODPACK\" | sed 's/-/\\//g')\r\n\r\n#Extract dependencies from ModPack JSON data\r\nV_MODPACK_DEPENDENCIES=$(curl -sfSL -H \"accept: application/json\" \"https://thunderstore.io/api/experimental/package/${V_MODPACK}\" | jq -r '.dependencies[]')\r\nfi\r\n\r\ncd /mnt/server\r\n#echo $download_url\r\nwget --content-disposition $download_url\r\nunzip -o denikson-BepInExPack_Valheim-${version_number}.zip\r\ncp -r /mnt/server/BepInExPack_Valheim/* /mnt/server\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Delete Old Mods\r\nrm -rf /mnt/server/BepInEx/plugins/*\r\n\r\n#Download and extract the modpack dlls files\r\nfor V_MODPACK_DEPENDENCY in $V_MODPACK_DEPENDENCIES; do\r\n #ignore bepinex\r\n if [[ \"$V_MODPACK_DEPENDENCY\" == *\"denikson-BepInExPack_Valheim\"* ]]; then\r\n continue # Skip this dependency\r\n fi\r\n \r\n #replace dashes with slashes for url\r\n V_MODPACK_DEPENDENCY_WITH_SLASH=$(echo \"$V_MODPACK_DEPENDENCY\" | sed 's/-/\\//g')\r\n \r\n #download dependencies\r\n wget -O \"$V_MODPACK_DEPENDENCY.zip\" \"https://thunderstore.io/package/download/$V_MODPACK_DEPENDENCY_WITH_SLASH\"\r\n\r\n #Set the destination directory and ensure it exists\r\n destination_directory=\"/mnt/server/BepInEx/plugins\"\r\n if [ ! -d \"$destination_directory\" ]; then\r\n mkdir -p \"$destination_directory\"\r\n fi\r\n\r\n #Extract DLL files from the ZIP and delete the zip file\r\n unzip -j \"$V_MODPACK_DEPENDENCY.zip\" \"*.dll\" -d \"$destination_directory\"\r\n \r\n #Cleanup\r\n rm $V_MODPACK_DEPENDENCY.zip\r\ndone\r\nfi\r\n\r\n##cleanup\r\necho \"-------------------------------------------------------\"\r\necho \"cleanup files...\"\r\necho \"-------------------------------------------------------\"\r\nrm -fR BepInExPack_Valheim\r\nrm -fR icon.png\r\nrm -fR denikson-BepInExPack_Valheim-*\r\nrm -fR manifest.json\r\nrm -fR README.m\r\n\r\n#rm -fR start_*\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "自动更新",
"description": "",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "备份数量",
"description": "设置将保留的自动备份数量。第一个是“短”备份时长,其余的是“长”备份时长。使用默认值时,表示保留1个2小时前的备份,以及3个间隔12小时的备份。默认值:4。",
"env_variable": "BACKUP_COUNT",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:0",
"field_type": "text"
},
{
"name": "备份间隔",
"description": "更改世界保存的频率(秒)。默认值:1800(30分钟)。",
"env_variable": "BACKUP_INTERVAL",
"default_value": "1800",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:0",
"field_type": "text"
},
{
"name": "长期备份",
"description": "设置连续自动备份之间的间隔时间(秒)。默认值:43200(12小时)。",
"env_variable": "BACKUP_LONGTIME",
"default_value": "43200",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:0",
"field_type": "text"
},
{
"name": "短期备份",
"description": "设置首次自动备份之间的间隔(秒)。默认值:7200(2小时)。",
"env_variable": "BACKUP_SHORTTIME",
"default_value": "7200",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|min:0",
"field_type": "text"
},
{
"name": "[系统] BepInEx 网址",
"description": "",
"env_variable": "BEPINEX_URL",
"default_value": "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/",
"user_viewable": false,
"user_editable": false,
"rules": "required|url",
"field_type": "text"
},
{
"name": "[系统] 控制台过滤器",
"description": "从控制台中移除不需要的输出。",
"env_variable": "CONSOLE_FILTER",
"default_value": "/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$/d; /^([[:space:]]+)?$/d",
"user_viewable": false,
"user_editable": false,
"rules": "string",
"field_type": "text"
},
{
"name": "启用跨平台联机",
"description": "启用跨平台游戏支持",
"env_variable": "ENABLE_CROSSPLAY",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "[系统] LD Library Path",
"description": "需要加载服务器库。",
"env_variable": "LD_LIBRARY_PATH",
"default_value": "./linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "服务器密码",
"description": "服务器密码。",
"env_variable": "PASSWORD",
"default_value": "secret",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:5|max:20",
"field_type": "text"
},
{
"name": "公共服务器",
"description": "",
"env_variable": "PUBLIC_SERVER",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "服务器名称",
"description": "出现在服务器列表中的名称。",
"env_variable": "SERVER_NAME",
"default_value": "My Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:60",
"field_type": "text"
},
{
"name": "[系统] 应用 ID",
"description": "Valheim 自动更新的 Steam 应用 ID。",
"env_variable": "SRCDS_APPID",
"default_value": "896660",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|numeric",
"field_type": "text"
},
{
"name": "测试版分支",
"description": "",
"env_variable": "SRCDS_BETAID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "max:30",
"field_type": "text"
},
{
"name": "测试版密码",
"description": "",
"env_variable": "SRCDS_BETAPASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "max:30",
"field_type": "text"
},
{
"name": "模组包",
"description": "输入要自动安装的整合包的依赖字符串名称。 \n注意:如果整合包更新,您需要使用新的依赖字符串更新此变量。这样做是为了允许使用旧版本。 \n更改此设置需要重新安装服务器。",
"env_variable": "V_MODPACK",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "世界名称",
"description": "在多个已保存的世界之间切换时加载的世界名称。",
"env_variable": "WORLD",
"default_value": "Dedicated",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}