F
描述
此蛋旨在方便地从FTB搭建服务器。
59 浏览
6 下载
2026-06-30
更新于 1 天前
预设配置详情
FTB 整合包
一个通用服务,用于从 api.feed-the-beast.com 拉取 FTB 整合包。
通过此服务安装服务器有两种方式。
第一种方式只需知道整合包的名称和版本。
第二种方式需要知道 API 中整合包和版本的 ID。
方法一(推荐)
- FTB_SEARCH_TERM:要查询的整合包名称,长度至少为 4 个字符。
例如:对于 FTB: Interactions,应输入 "interactions"。 - FTB_VERSION_STRING:要安装的版本字符串。
例如:对于 FTB: Interactions 2.12.1,应输入 "2.12.1"。
方法二
- FTB_MODPACK_ID:API 中指向整合包的 ID。
例如:对于 FTB: Interactions,ID 为 "5"。https://api.feed-the-beast.com/v1/modpacks/public/modpack/5 - FTB_MODPACK_VERSION_ID:API 中的版本 ID。
例如:对于 FTB: Interactions 2.12.1,ID 为 "2130"。https://api.feed-the-beast.com/v1/modpacks/public/modpack/5/2130
注意
并非所有 FTB 整合包都附带 server.properties 文件,因此首次启动时 server.properties 文件
可能无法更新为正确的 IP 地址和端口。
请在首次启动后重启服务器以解决此问题。
Neoforged
如果使用 neoforge 整合包时遇到问题,请确保选择最新的 Java 版本。
服务器端口
Minecraft 服务器需要一个端口用于访问(默认 25565),但插件可能需要启用额外端口。
| 端口 | 默认值 |
|---|---|
| 游戏 | 25565 |
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_21
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_25
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_19
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_17
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_16
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_11
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8
java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s "-jar start-server.jar" || printf %s "@unix_args.txt" )
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| FTB 整合包搜索词 | FTB_SEARCH_TERM |
用于查找整合包的搜索词。长度至少需要4个字符。 通过使用FTB应用并以此词进行搜索,找出所需的搜索词。确保只返回1个结果。 也可通过以下链接搜索:https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term={SEARCHTERM} 仅在整合包ID和整合包版本ID未知时需要。 | |
nullable|string
可选 字符串
|
||
| FTB 整合包 ID | FTB_MODPACK_ID |
FTB API 整合包 ID。 如果未使用搜索变量,则需要填写。 示例:FTB Interactions 的 ID 为 5。 https://api.feed-the-beast.com/v1/modpacks/public/modpack/5 | |
nullable|integer
可选 整数
|
||
| FTB 整合包版本 | FTB_VERSION_STRING |
要安装的整合包版本。如果使用整合包版本ID变量,则留空。 | |
nullable|string
可选 字符串
|
||
| FTB 整合包版本 ID | FTB_MODPACK_VERSION_ID |
模组包API版本ID。 若未使用版本字符串,则需要此项。 例如,FTB Revelations 版本 "2.0.2" 的版本ID为86, 对应链接为:https://api.feed-the-beast.com/v1/modpacks/public/modpack/5/86 | |
nullable|integer
可选 整数
|
镜像
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_21
入口
bash
#!/bin/bash
# FTB Pack Installation Script
#
# Server Files: /mnt/server
if [ ! -d /mnt/server ]; then
mkdir -p /mnt/server
fi
cd /mnt/server
# Download needed software.
function install_required {
apt update
apt install -y curl jq
}
function get_modpack_id {
urlencode() {
local string="${1// /%20}"
echo "$string"
}
# if no modpack id is set and modpack search term is set.
if [ -z ${FTB_MODPACK_ID} ] && [ ! -z "${FTB_SEARCH_TERM}" ]; then
encoded_search_term=$(urlencode "$FTB_SEARCH_TERM")
JSON_DATA=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term="${encoded_search_term}")
# grabs the first modpack in array.
FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r ".packs[0]")
fi
if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then
# grabs the correct version id matching the string.
FTB_MODPACK_VERSION_ID=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')
fi
}
function run_installer {
# get architecture for installer
INSTALLER_TYPE=$([ "$(uname -m)" == "x86_64" ] && echo "linux" || echo "arm/linux")
echo "ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}"
# download installer
curl -L https://api.feed-the-beast.com/v1/modpacks/public/modpack/0/0/server/${INSTALLER_TYPE} --output serversetup
chmod +x ./serversetup
# remove old forge files (to allow updating)
rm -rf libraries/net/minecraftforge/forge
rm -rf libraries/net/neoforged/forge
rm -f unix_args.txt
# run installer
./serversetup --pack ${FTB_MODPACK_ID} --version ${FTB_MODPACK_VERSION_ID} --auto --no-java
}
# allows startup command to work
function move_startup_files {
# create symlink for forge unix_args.txt if exists
if compgen -G "libraries/net/minecraftforge/forge/*/unix_args.txt"; then
ln -sf libraries/net/minecraftforge/forge/*/unix_args.txt unix_args.txt
fi
# create symlink for neoforge unix_args.txt if exists
if compgen -G "libraries/net/neoforged/neoforge/*/unix_args.txt"; then
ln -sf libraries/net/neoforged/neoforge/*/unix_args.txt unix_args.txt
fi
# move forge/neoforge/fabric jar file to start-server.jar if exists
if compgen -G "forge-*.jar"; then
mv -f forge-*.jar start-server.jar
elif compgen -G "fabric-*.jar"; then
mv -f fabric-*.jar start-server.jar
fi
}
# installer cleanup
function installer_cleanup {
rm serversetup
rm -f run.bat
rm -f run.sh
}
# run installation steps
install_required
get_modpack_id
run_installer
move_startup_files
installer_cleanup
echo "Finished installing FTB modpack"
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https://eggs.pterodactyl.top/eggs/156/download/egg-ftb-server.json"
},
"exported_at": "2025-02-18T18:11:44+00:00",
"name": "FTB Server",
"author": "runemaster580@gmail.com",
"description": "此蛋旨在方便地从FTB搭建服务器。",
"features": [
"eula",
"java_version",
"pid_limit"
],
"docker_images": {
"Java 21": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_21",
"Java 25": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_25",
"Java 19": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_19",
"Java 17": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_17",
"Java 16": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_16",
"Java 11": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_11",
"Java 8": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar start-server.jar\" || printf %s \"@unix_args.txt\" )",
"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}",
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!/bin/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: /mnt/server\r\nif [ ! -d /mnt/server ]; then\r\n mkdir -p /mnt/server\r\nfi\r\ncd /mnt/server\r\n\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq\r\n}\r\n\r\nfunction get_modpack_id {\r\n urlencode() {\r\n local string=\"${1// /%20}\"\r\n echo \"$string\"\r\n }\r\n \r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ ! -z \"${FTB_SEARCH_TERM}\" ]; then\r\n encoded_search_term=$(urlencode \"$FTB_SEARCH_TERM\")\r\n JSON_DATA=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term=\"${encoded_search_term}\")\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[0]\")\r\n fi\r\n\r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n}\r\n\r\nfunction run_installer {\r\n # get architecture for installer\r\n INSTALLER_TYPE=$([ \"$(uname -m)\" == \"x86_64\" ] && echo \"linux\" || echo \"arm/linux\")\r\n echo \"ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}\"\r\n\r\n # download installer\r\n curl -L https://api.feed-the-beast.com/v1/modpacks/public/modpack/0/0/server/${INSTALLER_TYPE} --output serversetup\r\n chmod +x ./serversetup\r\n \r\n # remove old forge files (to allow updating)\r\n rm -rf libraries/net/minecraftforge/forge\r\n rm -rf libraries/net/neoforged/forge\r\n rm -f unix_args.txt\r\n \r\n # run installer\r\n ./serversetup --pack ${FTB_MODPACK_ID} --version ${FTB_MODPACK_VERSION_ID} --auto --no-java\r\n}\r\n\r\n# allows startup command to work\r\nfunction move_startup_files {\r\n # create symlink for forge unix_args.txt if exists\r\n if compgen -G \"libraries/net/minecraftforge/forge/*/unix_args.txt\"; then\r\n ln -sf libraries/net/minecraftforge/forge/*/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # create symlink for neoforge unix_args.txt if exists\r\n if compgen -G \"libraries/net/neoforged/neoforge/*/unix_args.txt\"; then\r\n ln -sf libraries/net/neoforged/neoforge/*/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # move forge/neoforge/fabric jar file to start-server.jar if exists\r\n if compgen -G \"forge-*.jar\"; then\r\n mv -f forge-*.jar start-server.jar\r\n elif compgen -G \"fabric-*.jar\"; then\r\n mv -f fabric-*.jar start-server.jar\r\n fi\r\n}\r\n\r\n# installer cleanup\r\nfunction installer_cleanup {\r\n rm serversetup\r\n rm -f run.bat\r\n rm -f run.sh\r\n}\r\n\r\n# run installation steps\r\ninstall_required\r\nget_modpack_id\r\nrun_installer\r\nmove_startup_files\r\ninstaller_cleanup\r\n\r\necho \"Finished installing FTB modpack\"",
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_21",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "FTB 整合包搜索词",
"description": "用于查找整合包的搜索词。长度至少需要4个字符。 \n通过使用FTB应用并以此词进行搜索,找出所需的搜索词。确保只返回1个结果。 \n也可通过以下链接搜索:https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term={SEARCHTERM} \n\n仅在整合包ID和整合包版本ID未知时需要。",
"env_variable": "FTB_SEARCH_TERM",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "FTB 整合包 ID",
"description": "FTB API 整合包 ID。 \n如果未使用搜索变量,则需要填写。 \n\n示例:FTB Interactions 的 ID 为 5。 \nhttps://api.feed-the-beast.com/v1/modpacks/public/modpack/5",
"env_variable": "FTB_MODPACK_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|integer",
"field_type": "text"
},
{
"name": "FTB 整合包版本",
"description": "要安装的整合包版本。如果使用整合包版本ID变量,则留空。",
"env_variable": "FTB_VERSION_STRING",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "FTB 整合包版本 ID",
"description": "模组包API版本ID。 \n若未使用版本字符串,则需要此项。 \n\n例如,FTB Revelations 版本 \"2.0.2\" 的版本ID为86, \n对应链接为:https://api.feed-the-beast.com/v1/modpacks/public/modpack/5/86",
"env_variable": "FTB_MODPACK_VERSION_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|integer",
"field_type": "text"
}
]
}附属文件
暂无附属文件
提交历史
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!
统计
59
浏览
6
下载
0
星标
0
复刻
作者
飒
飒爽师叔
UID: 1
279 预设
·
2026-06