|
1
|
|
{
|
|
2
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
|
3
|
|
"meta": {
|
|
展开 90 行未改动
|
|
4
|
|
"update_url": "https://eggs.pterodactyl.top/eggs/159/download/egg-feed-the-beast.json",
|
|
5
|
|
"version": "PTDL_v2"
|
|
6
|
|
},
|
|
7
|
|
"exported_at": "2024-06-01T19:39:42+00:00",
|
|
8
|
|
"name": "Feed the Beast",
|
|
9
|
|
"author": "aevum@decess.us",
|
|
10
|
|
"description": "Egg to handle all official FTB Modpacks",
|
|
11
|
|
"features": [
|
|
12
|
|
"eula",
|
|
13
|
|
"java_version",
|
|
14
|
|
"pid_limit"
|
|
15
|
|
],
|
|
16
|
|
"docker_images": {
|
|
17
|
|
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:java_8"
|
|
18
|
|
},
|
|
19
|
|
"file_denylist": [],
|
|
20
|
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar FTBserv*.jar",
|
|
21
|
|
"config": {
|
|
22
|
|
"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 \"level-name\": \"{{server.build.env.LEVEL_NAME}}\",\r\n \"level-seed\": \"{{server.build.env.LEVEL_SEED}}\",\r\n \"max-players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.MOTD}}\"\r\n }\r\n }\r\n}",
|
|
23
|
|
"logs": "{\r\n\r\n}",
|
|
24
|
|
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
|
25
|
|
"stop": "stop"
|
|
26
|
|
},
|
|
27
|
|
"scripts": {
|
|
28
|
|
"installation": {
|
|
29
|
|
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:alpine",
|
|
30
|
|
"entrypoint": "ash",
|
|
31
|
|
"script": "#!/bin/ash\r\n# Generic FTB Server Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n# MODPACK_VERSION = version of the modpack, set in variables\r\n# i.e MODPACK_VERSION=1.5.0\r\n# MODPACK_URL = url base of the pack, set in variables, hardcoded\r\n# i.e https://www.feed-the-beast.com/projects/ftb-revelation/files\r\n# MODPACK_URL=ftb-revelation\r\n\r\n## Correcting for bad variables\r\nGETPACK=$(echo ${MODPACK_URL} | cut -d \"/\" -f 5 )\r\necho -e \"\\n The pack being downloaded is $GETPACK \\n\"\r\n\r\n## Getting the Base URL\r\nBASEURL=https://www.feed-the-beast.com/projects/${GETPACK}/files\r\necho \"The base URL is ${BASEURL}\"\r\n\r\n## This is meant to get the pack ID that is unique and not exactly clear \r\n\r\n\r\nif [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASEURL} | grep -i -A9 'title=\"release\"' | grep -i -o 'href=\".*\"' | cut -d \"/\" -f5 | sed s/\\\"//g`\r\n echo \"ID: ${ID}\"\r\nelse \r\n ID=`curl -sl ${BASEURL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m1 -oE 'href=\"[^\\\"]+\"' | cut -d \"/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\nfi\r\n\r\nSECONDURL=${BASEURL}/${ID}\r\necho \"SECONDURL: ${SECONDURL}\"\r\n\r\nGOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\necho \"GOOD_ID: ${GOOD_ID}\"\r\n\r\nDL_URL=${BASEURL}/${GOOD_ID}/download\r\necho \"Download_URL: ${DL_URL}\"\r\n\r\ncd /mnt/server\r\n\r\necho \"Executing curl -L ${DL_URL} -o $GETPACK.zip\"\r\ncurl -L ${DL_URL} -o $GETPACK.zip\r\n\r\nunzip ${GETPACK}.zip\r\n\r\nrm -rf ${GETPACK}.zip\r\n\r\necho \"Running FTBInstall.sh\"\r\nif [ -f ./FTBInstall.sh ]; then\r\n sh ./FTBInstall.sh\r\nelse\r\n echo -e \"No FTBInstall script found. Assumeing it's not needed.\"\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\""
|
|
32
|
|
}
|
|
33
|
|
},
|
|
34
|
|
"variables": [
|
|
35
|
|
{
|
|
36
|
|
"name": "Modpack URL Name",
|
|
37
|
|
"description": "Name of the modpack as referenced in URL's on feed-the-beast.com\r\ni.e\r\nhttps://www.feed-the-beast.com/projects/<MODPACK_URL>",
|
|
38
|
|
"env_variable": "MODPACK_URL",
|
|
39
|
|
"default_value": "",
|
|
40
|
|
"user_viewable": true,
|
|
41
|
|
"user_editable": true,
|
|
42
|
|
"rules": "nullable|regex:([a-z-0-9]+$)",
|
|
43
|
|
"field_type": "text"
|
|
44
|
|
},
|
|
45
|
|
{
|
|
46
|
|
"name": "Modpack Version",
|
|
47
|
|
"description": "Version of the modpack to use.",
|
|
48
|
|
"env_variable": "MODPACK_VERSION",
|
|
49
|
|
"default_value": "latest",
|
|
50
|
|
"user_viewable": true,
|
|
51
|
|
"user_editable": true,
|
|
52
|
|
"rules": "required|string|max:20",
|
|
53
|
|
"field_type": "text"
|
|
54
|
|
},
|
|
55
|
|
{
|
|
56
|
|
"name": "Level Seed",
|
|
57
|
|
"description": "Optional specified level seed for map generation",
|
|
58
|
|
"env_variable": "LEVEL_SEED",
|
|
59
|
|
"default_value": "",
|
|
60
|
|
"user_viewable": true,
|
|
61
|
|
"user_editable": true,
|
|
62
|
|
"rules": "nullable|string|max:40",
|
|
63
|
|
"field_type": "text"
|
|
64
|
|
},
|
|
65
|
|
{
|
|
66
|
|
"name": "Max Players",
|
|
67
|
|
"description": "Max # of players on the server",
|
|
68
|
|
"env_variable": "MAX_PLAYERS",
|
|
69
|
|
"default_value": "20",
|
|
70
|
|
"user_viewable": true,
|
|
71
|
|
"user_editable": true,
|
|
72
|
|
"rules": "required|integer|max:100",
|
|
73
|
|
"field_type": "text"
|
|
74
|
|
},
|
|
75
|
|
{
|
|
76
|
|
"name": "Level Name",
|
|
77
|
|
"description": "Name of the world save",
|
|
78
|
|
"env_variable": "LEVEL_NAME",
|
|
79
|
|
"default_value": "world",
|
|
80
|
|
"user_viewable": true,
|
|
81
|
|
"user_editable": true,
|
|
82
|
|
"rules": "required|alpha_dash|max:20",
|
|
83
|
|
"field_type": "text"
|
|
84
|
|
},
|
|
85
|
|
{
|
|
86
|
|
"name": "MOTD",
|
|
87
|
|
"description": "Message to appear when viewing the server in browser and on login",
|
|
88
|
|
"env_variable": "MOTD",
|
|
89
|
|
"default_value": "A Minecraft Server",
|
|
90
|
|
"user_viewable": true,
|
|
91
|
|
"user_editable": true,
|
|
92
|
|
"rules": "required|string|max:20",
|
|
93
|
|
"field_type": "text"
|
|
94
|
|
}
|
|
95
|
|
]
|
|
96
|
|
}
|