Valheim Plus 模组 v1.0.2

飒爽师叔 · 2026-06-30 10:32

更新日志

[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/135/download/egg-valheim-plus-mod.json"
    },
    "exported_at": "2026-01-03T15:23:08+00:00",
    "name": "Valheim Plus Mod",
    "author": "eggs@goover.dev",
    "description": "一款残酷的探索与生存游戏,支持1-10名玩家,设定在一个受维京文化启发的程序生成炼狱中。",
    "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_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=./BepInEx/core/BepInEx.Preloader.dll; export DOORSTOP_CORLIB_OVERRIDE_PATH=./unstripped_corlib; export LD_LIBRARY_PATH=\"./doorstop_libs:$LD_LIBRARY_PATH\"; export LD_PRELOAD=\"libdoorstop_x64.so:$LD_PRELOAD\"; export templdpath=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH=\"./linux64:$LD_LIBRARY_PATH\"; export SteamAppId=892970; export LD_LIBRARY_PATH=$templdpath; ./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\": \"DungeonDB Start\"\n}",
        "logs": "{}",
        "stop": "^C"
    },
    "scripts": {
        "installation": {
            "script": "#!/bin/bash\r\n# steamcmd Base Installation Script\r\n\r\nclear\r\nRED='\\033[0;31m'\r\nGREEN='\\033[0;32m'\r\nYELLOW='\\033[1;33m'\r\nBLUE='\\033[0;34m'\r\nNC='\\033[0m'\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}Valheim+ Installscript${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\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\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates jq wget\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\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}download and install steamcmd${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\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\necho -e \"${GREEN}...done${NC}\"\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}install Valheim with SteamCMD${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\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\necho -e \"${GREEN}...done${NC}\"\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}downloading V+ from Github${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n    DOWNLOAD_LINK=$(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_LINK=$(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_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n    fi\r\nfi\r\n\r\ncd /mnt/server\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH\r\nrm -fR $MATCH\r\necho -e \"${GREEN}...done${NC}\"\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${GREEN}Installation completed${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"",
            "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": "[系统] 控制台过滤器",
            "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": "[系统] 过滤器",
            "description": "",
            "env_variable": "FILTER",
            "default_value": "/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$/d; /^([[:space:]]+)?$/d",
            "user_viewable": false,
            "user_editable": false,
            "rules": "string",
            "field_type": "text"
        },
        {
            "name": "[V+] Github 包",
            "description": "",
            "env_variable": "GITHUB_PACKAGE",
            "default_value": "Grantapher/ValheimPlus",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string|max:40",
            "field_type": "text"
        },
        {
            "name": "[系统] LD 库路径",
            "description": "加载服务器库所必需的。",
            "env_variable": "LD_LIBRARY_PATH",
            "default_value": "./linux64",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string",
            "field_type": "text"
        },
        {
            "name": "[V+] 匹配",
            "description": "",
            "env_variable": "MATCH",
            "default_value": "UnixServer.zip",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string|max:20",
            "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": "服务器的公开可见性。设置为false可使服务器不可见,仅能通过“加入IP”按钮加入。",
            "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": "[系统] Steam 应用ID",
            "description": "瓦尔海姆自动更新的Steam应用ID。",
            "env_variable": "SRCDS_APPID",
            "default_value": "896660",
            "user_viewable": true,
            "user_editable": false,
            "rules": "nullable|numeric",
            "field_type": "text"
        },
        {
            "name": "Beta 分支",
            "description": "",
            "env_variable": "SRCDS_BETAID",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "max:30",
            "field_type": "text"
        },
        {
            "name": "Beta 密码",
            "description": "",
            "env_variable": "SRCDS_BETAPASS",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "max:30",
            "field_type": "text"
        },
        {
            "name": "[V+] 版本",
            "description": "",
            "env_variable": "VERSION",
            "default_value": "latest",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string|max:20",
            "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"
        }
    ]
}