mirror of
https://github.com/pelican-eggs/minecraft.git
synced 2024-11-22 10:52:34 +01:00
42 lines
5.7 KiB
JSON
42 lines
5.7 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
|
"meta": {
|
|
"update_url": null,
|
|
"version": "PTDL_v2"
|
|
},
|
|
"exported_at": "2024-06-01T19:39:56+00:00",
|
|
"name": "PocketmineMP",
|
|
"author": "info@swisscrafting.ch",
|
|
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
|
|
"features": null,
|
|
"docker_images": {
|
|
"ghcr.io/parkervcp/yolks:debian": "ghcr.io/parkervcp/yolks:debian"
|
|
},
|
|
"file_denylist": [],
|
|
"startup": "./bin/php7/bin/php ./PocketMine-MP.phar --no-wizard",
|
|
"config": {
|
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\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\": \")! \"\r\n}",
|
|
"stop": "stop"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"container": "ghcr.io/parkervcp/installers:debian",
|
|
"entrypoint": "bash",
|
|
"script": "#!/bin/bash\r\n\r\napt-get update\r\napt-get install -y git curl wget jq file tar unzip zip xz-utils\r\n\r\nmkdir -p /mnt/server/ # Not required. Only here for parkervcp's local test setup\r\n\r\ncd /mnt/server || exit 1\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] \u0026\u0026 printf \"amd64\" || printf \"arm64\")\r\n\r\n# Shouldn't be possible to be empty, but default to PM5 if it is and convert to uppercase\r\nVERSION=\"${VERSION:-PM5}\"\r\nVERSION=\"${VERSION^^}\"\r\n\r\n# Helper functions\r\n\r\ndownload_php_binary() {\r\n printf \"Downloading latest PHP %s binary for %s\\n\" \"$REQUIRED_PHP_VERSION\" \"$VERSION\"\r\n curl --location --progress-bar https://github.com/pmmp/PHP-Binaries/releases/download/php-\"$REQUIRED_PHP_VERSION\"-latest/PHP-Linux-x86_64-\"$VERSION\".tar.gz | tar -xzv\r\n}\r\n\r\nset_php_extension_dir() {\r\n printf \"Configuring php.ini\\n\"\r\n EXTENSION_DIR=$(find \"bin\" -name '*debug-zts*')\r\n grep -q '^extension_dir' bin/php7/bin/php.ini \u0026\u0026 sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin/php7/bin/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" \u003e\u003ebin/php7/bin/php.ini\r\n}\r\n\r\ndownload_pmmp() {\r\n DOWNLOAD_LINK=$(curl -sSL https://update.pmmp.io/api?channel=\"$API_CHANNEL\" | jq -r '.download_url')\r\n printf \"Downloading %s from %s\\n\" \"$VERSION\" \"${DOWNLOAD_LINK}\"\r\n curl --location --progress-bar \"${DOWNLOAD_LINK}\" --output PocketMine-MP.phar\r\n}\r\n\r\n# We have to convert VERSION into an API channel\r\nif [[ \"${VERSION}\" == \"PM4\" ]]; then\r\n API_CHANNEL=\"4\"\r\n\r\nelif [[ \"${VERSION}\" == \"PM5\" ]]; then\r\n API_CHANNEL=\"stable\"\r\nelse\r\n printf \"Unsupported version: %s\" \"${VERSION}\"\r\n exit 1\r\nfi\r\n\r\nREQUIRED_PHP_VERSION=$(curl -sSL https://update.pmmp.io/api?channel=\"$API_CHANNEL\" | jq -r '.php_version')\r\n\r\nif [[ \"${ARCH}\" == \"amd64\" ]]; then\r\n download_php_binary\r\n\r\n# There are no ARM64 PHP binaries yet, so we have to compile them\r\nelse\r\n apt install -y make autoconf automake m4 bzip2 bison g++ cmake pkg-config re2c libtool-bin\r\n \r\n mkdir -p /mnt/server/build_cache/archives\r\n mkdir -p /mnt/server/build_cache/compilation\r\n \r\n # Each PHP version has its own compile script, so we have to download the correct one\r\n echo \"running curl --location --progress-bar --remote-name https://raw.githubusercontent.com/pmmp/PHP-Binaries/php/\"$REQUIRED_PHP_VERSION\"/compile.sh\"\r\n curl --location --progress-bar --remote-name https://raw.githubusercontent.com/pmmp/PHP-Binaries/php/\"$REQUIRED_PHP_VERSION\"/compile.sh\r\n chmod +x compile.sh\r\n\r\n cat \u003c\u003cEOF\r\n----------------------------------------\r\n| |\r\n| Compiling PHP Binary for ARM64 |\r\n| |\r\n| This is a time consuming process |\r\n----------------------------------------\r\nEOF\r\n\r\n printf \"\\n\\nCompiling PHP binary, this is a slow process and will take time\\n\"\r\n THREADS=$(grep -c ^processor /proc/cpuinfo) || THREADS=1\r\n ./compile.sh -j \"${THREADS}\" -c /mnt/server/build_cache/archives -l /mnt/server/build_cache/compilation -P ${VERSION:2}\r\n rm compile.sh\r\n rm -rf install_data/\r\n\r\nfi\r\n\r\n# Steps below are the same for both architectures\r\ndownload_pmmp\r\nset_php_extension_dir || exit 1\r\n\r\nif [[ ! -f server.properties ]]; then\r\n printf \"Downloading default server.properties template\\n\"\r\n curl --location --progress-bar --remote-name https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/bedrock/pocketmine_mp/server.properties\r\nfi\r\n\r\nprintf \"Creating default file and folder structure\\n\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs\r\n\r\ncat \u003c\u003cEOF\r\n----------------------------------------\r\n| |\r\n| PocketMine-MP Installation Done |\r\n| |\r\n----------------------------------------\r\nEOF"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "Version to install",
|
|
"description": "Latest PocketMine version to install.",
|
|
"env_variable": "VERSION",
|
|
"default_value": "PM5",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|in:PM5,PM4",
|
|
"field_type": "text"
|
|
}
|
|
]
|
|
} |