tshock v1.0.1

飒爽师叔 · 2026-07-01 04:02

更新日志

[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/251/download/egg-tshock.json"
    },
    "exported_at": "2026-05-22T10:36:06+00:00",
    "name": "tshock",
    "author": "parker@parkervcp.com",
    "description": "这是一个T-Shock模组的泰拉瑞亚服务器。 https://tshock.co/",
    "features": [],
    "docker_images": {
        "Dotnet 6": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:dotnet_6",
        "Dotnet 9": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:dotnet_9"
    },
    "file_denylist": [],
    "startup": "./TShock.Server -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -world {{WORLD_NAME}}.wld -autocreate {{WORLD_SIZE}}",
    "config": {
        "files": "{}",
        "startup": "{\n    \"done\": \"Type 'help' for a list of commands\"\n}",
        "logs": "{}",
        "stop": "exit"
    },
    "scripts": {
        "installation": {
            "script": "#!/bin/bash\n# Vanilla tModloader Installation Script\n#\n# Server Files: /mnt/server\n## install packages to get version and download links\n\n## get release info and download links\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/Pryaxis/TShock/releases/latest\")\nRELEASES=$(curl --silent \"https://api.github.com/repos/Pryaxis/TShock/releases\")\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\n\necho ${MATCH}\n\nif [ -z \"$TSHOCK_VERSION\" ] || [ \"$TSHOCK_VERSION\" == \"latest\" ]; then\n    DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH} | head -1 )\nelse\n    VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\n    if [ \"$TSHOCK_VERSION\" == \"$VERSION_CHECK\" ]; then\n        DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$TSHOCK_VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' |  grep -i ${MATCH} | head -1 )\n    else\n        echo -e \"defaulting to latest release\"\n        DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH} | head -1)\n    fi\nfi\n\n## mkdir and cd to /mnt/server/\nmkdir -p /mnt/server\n\ncd /mnt/server\n\n## download release\necho -e \"running: wget $DOWNLOAD_LINK\"\ncurl -sSL $DOWNLOAD_LINK -o TShock.zip\n\nunzip -o TShock.zip\n\ntar xvf TShock-*.tar\n\nrm TShock.zip TShock-*.tar\n\nchmod +x TShock.Server\n\necho -e \"install complete\"",
            "container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
            "entrypoint": "/bin/bash"
        }
    },
    "variables": [
        {
            "name": "最大玩家数",
            "description": "服务器能容纳的最大玩家数量。",
            "env_variable": "MAX_PLAYERS",
            "default_value": "8",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|numeric|digits_between:1,3",
            "field_type": "text"
        },
        {
            "name": "世界名称",
            "description": "世界文件的名称。",
            "env_variable": "WORLD_NAME",
            "default_value": "world",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:20",
            "field_type": "text"
        },
        {
            "name": "世界大小",
            "description": "定义世界的尺寸。3种尺寸:1(小型)、2(中型)、3(大型)。",
            "env_variable": "WORLD_SIZE",
            "default_value": "1",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|string|alpha_dash|max:20",
            "field_type": "text"
        },
        {
            "name": "Tshock 版本",
            "description": "要安装的tshock版本。默认是最新的非预发布版。",
            "env_variable": "TSHOCK_VERSION",
            "default_value": "latest",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|string|max:20",
            "field_type": "text"
        }
    ]
}