Spigot v1.0.2

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

更新日志

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

版本内容

{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
    "meta": {
        "update_url": "https://eggs.pterodactyl.top/eggs/172/download/egg-spigot.json",
        "version": "PTDL_v2"
    },
    "exported_at": "2024-06-01T19:39:58+00:00",
    "name": "Spigot",
    "author": "support@pterodactyl.io",
    "description": "Spigot 是全球使用最广泛的 Minecraft 模组服务器软件。它为众多顶级 Minecraft 服务器网络提供支持,确保它们能够应对庞大的玩家群体,并保障玩家的满意度。Spigot 通过减少和消除许多卡顿原因,同时添加便捷的功能和设置,让服务器管理工作变得更加轻松。",
    "features": [
        "eula",
        "java_version",
        "pid_limit"
    ],
    "docker_images": {
        "Java 8": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8",
        "Java 11": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_11",
        "Java 16": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_16",
        "Java 17": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_17",
        "Java 21": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_21",
        "Java 25": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_25"
    },
    "file_denylist": [],
    "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
    "config": {
        "files": "{\r\n    \"server.properties\": {\r\n        \"parser\": \"properties\",\r\n        \"find\": {\r\n            \"server-ip\": \"0.0.0.0\",\r\n            \"server-port\": \"{{server.build.default.port}}\",\r\n            \"query.port\": \"{{server.build.default.port}}\"\r\n        }\r\n    }\r\n}",
        "logs": "{}",
        "startup": "{\r\n    \"done\": \")! For help, type \"\r\n}",
        "stop": "stop"
    },
    "scripts": {
        "installation": {
            "container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
            "entrypoint": "bash",
            "script": "#!/bin/bash\r\n# Spigot Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n\r\nmkdir -p /usr/share/man/man1\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"x64\" || echo \"aarch64\")\r\n    \r\nfunction install_java() {\r\n  echo \"ARCH: ${ARCH}\\nDownload URl: $1\"\r\n  curl -L $1 -o java.tar.gz\r\n  tar xzf java.tar.gz\r\n  export PATH=$PWD/$2/bin:$PATH\r\n  java -version\r\n}\r\n\r\nfunction build_spigot()\r\n{\r\n  java -Xms$1M -jar BuildTools.jar --rev ${DL_VERSION} || { echo -e \"\\n install failed! Attempted to install ${DL_VERSION} with memory of ${SERVER_MEMORY} and Java version of:\"; java -version; exit 1; }\r\n}\r\n\r\n# Detect the required Java version for building Spigot. Currently temurin only provides archives of their releases, and adoptopenjdk is deprecated. Update this when packages are released.\r\nif [[ $DL_VERSION =~ ^1\\.(20.5|20.6) || $DL_VERSION == \"latest\" ]]; then\r\n    install_java \"https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz\" jdk-21.0.3+9\r\nelif [[ $DL_VERSION =~ ^1\\.(18|19|20|20.1|20.2|20.3|20.4) ]]; then\r\n    install_java \"https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz\" jdk-17.0.1+12\r\nelif [[ $DL_VERSION =~ ^1\\.(17) ]]; then\r\n    install_java \"https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz\" jdk-16.0.2+7\r\nelse\r\n    install_java \"https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u312-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz\" jdk8u312-b07\r\nfi\r\n\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n    cd /mnt/server\r\n    MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's/{{/${/g' -e 's/}}/}/g')`\r\n    echo -e \"Using custom provided download link ${MODIFIED_DOWNLOAD}\"\r\n    curl -L ${MODIFIED_DOWNLOAD} -o ${SERVER_JARFILE}\r\nelse\r\n    mkdir -p /srv/\r\n    cd /srv/\r\n    curl -L https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -o BuildTools.jar\r\n\r\n    # Force the minimum Wings install container memory should someone provide less or 0 as it will break the Java build process\r\n    if [ $SERVER_MEMORY -lt 1024 ]; then\r\n        echo -e \"Do not use 0 for memory with Java applications. Defaulting to 1024MB.\\n WARNING! 1024MB might not be enough to build 1.17+ releases.\"\r\n        SERVER_MEMORY=1024\r\n        build_spigot ${SERVER_MEMORY}\r\n    else\r\n        build_spigot ${SERVER_MEMORY}\r\n    fi\r\n    mv spigot-*.jar /mnt/server/${SERVER_JARFILE}\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\""
        }
    },
    "variables": [
        {
            "name": "服务器Jar文件",
            "description": "用于运行服务器的服务器jar文件名。",
            "env_variable": "SERVER_JARFILE",
            "default_value": "server.jar",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/",
            "field_type": "text"
        },
        {
            "name": "下载路径",
            "description": "用于下载Spigot的URL,而非在服务器上构建它。此内容对用户不可见。在URL中使用<code>{{DL_VERSION}}</code>可自动将指定版本插入URL。若未输入URL,Spigot将在容器内直接构建(低内存容器中此操作将失败)。",
            "env_variable": "DL_PATH",
            "default_value": "",
            "user_viewable": false,
            "user_editable": false,
            "rules": "nullable|string",
            "field_type": "text"
        },
        {
            "name": "Spigot 版本",
            "description": "要下载的Spigot版本(使用来自https://hub.spigotmc.org/versions的--rev标签)。使用\"latest\"获取最新版本。",
            "env_variable": "DL_VERSION",
            "default_value": "latest",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|between:3,10",
            "field_type": "text"
        }
    ]
}