|
1
|
|
{
|
|
2
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
|
3
|
|
"meta": {
|
|
展开 43 行未改动
|
|
4
|
|
"update_url": "https://eggs.pterodactyl.top/eggs/157/download/egg-ftb-modpacksch-server.json",
|
|
5
|
|
"version": "PTDL_v2"
|
|
6
|
|
},
|
|
7
|
|
"exported_at": "2024-06-01T19:39:44+00:00",
|
|
8
|
|
"name": "FTB-modpacks.ch Server",
|
|
9
|
|
"author": "runemaster580@gmail.com",
|
|
10
|
|
"description": "自FTB APP发布以来,FTB模组包现在通过modpacks.ch进行分发。此脚本专为支持通过该平台分发的模组包而开发。",
|
|
11
|
|
"features": [
|
|
12
|
|
"eula",
|
|
13
|
|
"java_version",
|
|
14
|
|
"pid_limit"
|
|
15
|
|
],
|
|
16
|
|
"docker_images": {
|
|
17
|
|
"Java 11": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_11",
|
|
18
|
|
"Java 16": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_16",
|
|
19
|
|
"Java 17": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_17",
|
|
20
|
|
"Java 18": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_18",
|
|
21
|
|
"Java 8": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8"
|
|
22
|
|
},
|
|
23
|
|
"file_denylist": [],
|
|
24
|
|
"startup": "java -javaagent:log4jfix/Log4jPatcher-1.0.0.jar -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\" )",
|
|
25
|
|
"config": {
|
|
26
|
|
"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}",
|
|
27
|
|
"logs": "{}",
|
|
28
|
|
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
|
29
|
|
"stop": "stop"
|
|
30
|
|
},
|
|
31
|
|
"scripts": {
|
|
32
|
|
"installation": {
|
|
33
|
|
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:java_8",
|
|
34
|
|
"entrypoint": "bash",
|
|
35
|
|
"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.modpacks.ch/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.modpacks.ch/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.modpacks.ch/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 ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto --noscript --nojava\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/forge/*/unix_args.txt\"; then\r\n ln -sf libraries/net/neoforged/forge/*/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\""
|
|
36
|
|
}
|
|
37
|
|
},
|
|
38
|
|
"variables": [
|
|
39
|
|
{
|
|
40
|
|
"name": "FTB 整合包搜索词",
|
|
41
|
|
"description": "用于查找整合包的搜索词,长度至少需要4个字符。 \n通过使用FTB应用并输入该词进行搜索,确保只返回1个结果。 \n也可通过以下链接搜索:https://api.modpacks.ch/public/modpack/search/8?term={SEARCHTERM} \n\n仅在整合包ID和整合包版本ID未知时需要填写。",
|
|
42
|
|
"env_variable": "FTB_SEARCH_TERM",
|
|
43
|
|
"default_value": "",
|
|
44
|
|
"user_viewable": true,
|
|
45
|
|
"user_editable": true,
|
|
46
|
|
"rules": "nullable|string",
|
|
47
|
|
"field_type": "text"
|
|
48
|
|
},
|
|
49
|
|
{
|
|
50
|
-
|
"name": "FTB 整合包 ID",
|
|
|
|
|
|
51
|
|
"description": "FTB API 整合包 ID。 \n如果未使用搜索变量,则需要填写。 \n\n示例:FTB Interactions 的 ID 为 5。 \nhttps://api.modpacks.ch/public/modpack/5",
|
|
52
|
|
"env_variable": "FTB_MODPACK_ID",
|
|
53
|
|
"default_value": "",
|
|
展开 24 行未改动
|
|
54
|
|
"user_viewable": true,
|
|
55
|
|
"user_editable": true,
|
|
56
|
|
"rules": "nullable|integer",
|
|
57
|
|
"field_type": "text"
|
|
58
|
|
},
|
|
59
|
|
{
|
|
60
|
|
"name": "FTB 整合包版本",
|
|
61
|
|
"description": "要安装的整合包版本。如果使用整合包版本ID变量,则留空。",
|
|
62
|
|
"env_variable": "FTB_VERSION_STRING",
|
|
63
|
|
"default_value": "",
|
|
64
|
|
"user_viewable": true,
|
|
65
|
|
"user_editable": true,
|
|
66
|
|
"rules": "nullable|string",
|
|
67
|
|
"field_type": "text"
|
|
68
|
|
},
|
|
69
|
|
{
|
|
70
|
|
"name": "FTB 整合包版本 ID",
|
|
71
|
|
"description": "模组包API版本ID。 \n若未使用版本字符串,则需要此项。 \n\n例如,FTB Revelations 版本 \"2.0.2\" 的版本ID为86, \n对应链接为:https://api.modpacks.ch/public/modpack/5/86",
|
|
72
|
|
"env_variable": "FTB_MODPACK_VERSION_ID",
|
|
73
|
|
"default_value": "",
|
|
74
|
|
"user_viewable": true,
|
|
75
|
|
"user_editable": true,
|
|
76
|
|
"rules": "nullable|integer",
|
|
77
|
|
"field_type": "text"
|
|
78
|
|
}
|
|
79
|
|
]
|
|
80
|
|
}
|