tModloader v1.0.1

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

更新日志

[AI翻译] 描述、说明、JSON描述、变量

版本内容

{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
    "meta": {
        "version": "PTDL_v2",
        "update_url": "https://eggs.pterodactyl.top/eggs/249/download/egg-tmodloader.json"
    },
    "exported_at": "2024-06-15T09:58:09+02:00",
    "name": "tModloader",
    "author": "parker@parkervcp.com",
    "description": "tModLoader本质上是一个模组,它提供了一种在不直接处理泰拉瑞亚源代码的情况下加载你自己模组的方式。这意味着你可以轻松制作与其他人的模组兼容的模组,省去反编译和重新编译Terraria.exe的麻烦,并且不必理解泰拉瑞亚源代码中所有晦涩难懂的“复杂之处”。它被设计为适用于泰拉瑞亚1.3及以上版本。",
    "features": [],
    "docker_images": {
        "Dotnet 8": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:dotnet_8",
        "Dotnet 6": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:dotnet_6"
    },
    "file_denylist": [],
    "startup": "./tModLoaderServer -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -password \"{{SERVER_PASSWORD}}\" -motd \"{{MOTD}}\" -lang {{LANGUAGE}} -world ~/saves/Worlds/{{WORLD_NAME}}.wld -worldname {{WORLD_NAME}} -autocreate {{WORLD_SIZE}} -config serverconfig.txt -savedirectory ~/ -tmlsavedirectory ~/saves -modpath ~/mods",
    "config": {
        "files": "{\r\n    \"serverconfig.txt\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"difficulty\": \"difficulty={{env.DIFFICULTY}}\"\r\n        }\r\n    }\r\n}",
        "startup": "{\r\n    \"done\": \"Type 'help' for a list of commands\"\r\n}",
        "logs": "{}",
        "stop": "exit"
    },
    "scripts": {
        "installation": {
            "script": "#!/bin/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y file \r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n    echo -e \"using anon api call\"\r\nelse\r\n    echo -e \"user and oauth token set\"\r\n    alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/tmodloader/tmodloader/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/tmodloader/tmodloader/releases\")\r\n\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n    echo -e \"defaulting to latest release\"\r\n    DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\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        if [[ \"$VERSION\" == v0* ]]; then\r\n            DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux | grep -i zip)\r\n        else\r\n            DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i tmodloader.zip)\r\n        fi\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 | grep -i tmodloader.zip)\r\n    fi\r\nfi\r\n\r\n## mkdir and cd to /mnt/server/\r\nmkdir -p /mnt/server\r\n\r\ncd /mnt/server || exit 5\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n    tar xzvf ${DOWNLOAD_LINK##*/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n    unzip -o ${DOWNLOAD_LINK##*/}\r\nelse\r\n    echo -e \"unknown filetype. Exiting\"\r\n    exit 2\r\nfi\r\n\r\nif [[ \"$VERSION\" == v0* ]]; then\r\n    chmod +x tModLoaderServer.bin.x86_64\r\n    chmod +x tModLoaderServer\r\nelse\r\n    #tiny startup script for backward compatibility\r\n    echo 'dotnet tModLoader.dll -server \"$@\"' > tModLoaderServer\r\n    chmod +x tModLoaderServer\r\nfi\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-*.zip rm ${DOWNLOAD_LINK##*/}\r\nif [[ \"$VERSION\" != v0* ]]; then\r\n    rm -rf DedicatedServerUtils LaunchUtils PlatformVariantLibs tModPorter RecentGitHubCommits.txt *.bat *.sh\r\nfi\r\n\r\n## using config for difficulty as the startup parameter does not work -> config parser\r\nmv /mnt/server/serverconfig.txt /mnt/server/config.txt\r\nsed 's/#difficulty/difficulty/' /mnt/server/config.txt > /mnt/server/serverconfig.txt\r\nrm /mnt/server/config.txt\r\n\r\n## install end\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": "WORLD_NAME",
            "default_value": "world",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:20",
            "field_type": "text"
        },
        {
            "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": "定义世界的尺寸。3种尺寸:1(小型)、2(中型)、3(大型)。",
            "env_variable": "WORLD_SIZE",
            "default_value": "1",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:1,2,3",
            "field_type": "text"
        },
        {
            "name": "tModloader 版本",
            "description": "要使用的 tModloader 版本。",
            "env_variable": "VERSION",
            "default_value": "latest",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:20",
            "field_type": "text"
        },
        {
            "name": "GitHub用户",
            "description": "用于API调用的GitHub用户。\n\n如果你在多台服务器上频繁调用GitHub API,才需要设置此项。",
            "env_variable": "GITHUB_USER",
            "default_value": "",
            "user_viewable": false,
            "user_editable": false,
            "rules": "string|nullable",
            "field_type": "text"
        },
        {
            "name": "GitHub OAuth Token",
            "description": "这可以是OAuth或Personal Access Token。如果你设置了用户,则在安装时需要此项。",
            "env_variable": "GITHUB_OAUTH_TOKEN",
            "default_value": "",
            "user_viewable": false,
            "user_editable": false,
            "rules": "string|nullable",
            "field_type": "text"
        },
        {
            "name": "难度",
            "description": "设置使用自动创建时的世界难度。选项:0(正常),1(专家),2(大师),3(旅途)",
            "env_variable": "DIFFICULTY",
            "default_value": "0",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:0,1,2,3",
            "field_type": "text"
        },
        {
            "name": "服务器密码",
            "description": "用户连接服务器所需的密码。  \n留空表示无密码。",
            "env_variable": "SERVER_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:20",
            "field_type": "text"
        },
        {
            "name": "MOTD",
            "description": "服务器每日消息",
            "env_variable": "MOTD",
            "default_value": "Please don’t cut the purple trees!",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:40",
            "field_type": "text"
        },
        {
            "name": "语言",
            "description": "设置服务器语言\n1:英语,\n2:德语,\n3:意大利语,\n4:法语,\n5:西班牙语",
            "env_variable": "LANGUAGE",
            "default_value": "1",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|in:1,2,3,4,5",
            "field_type": "text"
        }
    ]
}