mirror of
https://github.com/pelican-dev/panel.git
synced 2025-09-09 00:58:36 +02:00
158 lines
5.3 KiB
YAML
158 lines
5.3 KiB
YAML
_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
|
|
meta:
|
|
version: PLCN_v2
|
|
update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.yaml'
|
|
exported_at: '2025-08-05T21:00:17+00:00'
|
|
name: Sponge
|
|
author: panel@example.com
|
|
uuid: f0d2f88f-1ff3-42a0-b03f-ac44c5571e6d
|
|
description: 'A community-driven open source Minecraft: Java Edition modding platform.'
|
|
tags:
|
|
- minecraft
|
|
features:
|
|
- eula
|
|
- java_version
|
|
- pid_limit
|
|
docker_images:
|
|
'Java 21': 'ghcr.io/parkervcp/yolks:java_21'
|
|
'Java 17': 'ghcr.io/parkervcp/yolks:java_17'
|
|
'Java 16': 'ghcr.io/parkervcp/yolks:java_16'
|
|
'Java 11': 'ghcr.io/parkervcp/yolks:java_11'
|
|
'Java 8': 'ghcr.io/parkervcp/yolks:java_8'
|
|
file_denylist: { }
|
|
startup: 'java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}'
|
|
config:
|
|
files:
|
|
server.properties:
|
|
parser: properties
|
|
find:
|
|
server-ip: ''
|
|
server-port: '{{server.allocations.default.port}}'
|
|
query.port: '{{server.allocations.default.port}}'
|
|
startup:
|
|
done: ')! For help, type '
|
|
logs: { }
|
|
stop: stop
|
|
scripts:
|
|
installation:
|
|
script: |-
|
|
#!/bin/ash
|
|
# Sponge Installation Script
|
|
#
|
|
# Server Files: /mnt/server
|
|
|
|
cd /mnt/server
|
|
|
|
if [ $MINECRAFT_VERSION = 'latest' ] || [ -z $MINECRAFT_VERSION ]; then
|
|
TARGET_VERSION_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/latest?recommended=true)
|
|
if [ -z "${TARGET_VERSION_JSON}" ]; then
|
|
echo -e "Failed to find latest recommended version!"
|
|
exit 1
|
|
fi
|
|
echo -e "Found latest version for ${SPONGE_TYPE}"
|
|
else
|
|
if [ $SPONGE_TYPE = 'spongevanilla' ]; then
|
|
VERSIONS_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions?tags=,minecraft:${MINECRAFT_VERSION}&offset=0&limit=1)
|
|
else
|
|
FORGETAG='forge'
|
|
if [ $SPONGE_TYPE = 'spongeneo' ]; then
|
|
FORGETAG='neoforge'
|
|
fi
|
|
VERSIONS_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions?tags=,minecraft:${MINECRAFT_VERSION},${FORGETAG}:${FORGE_VERSION}&offset=0&limit=1)
|
|
fi
|
|
|
|
if [ -z "${VERSIONS_JSON}" ]; then
|
|
echo -e "Failed to find recommended ${MINECRAFT_VERSION} version for ${SPONGE_TYPE} ${FORGE_VERSION}!"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION_KEY=$(echo $VERSIONS_JSON | jq -r '.artifacts | to_entries[0].key')
|
|
TARGET_VERSION_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions/${VERSION_KEY})
|
|
|
|
if [ -z "${TARGET_VERSION_JSON}" ]; then
|
|
echo -e "Failed to find ${VERSION_KEY} for ${SPONGE_TYPE} ${FORGE_VERSION}!"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "Found ${MINECRAFT_VERSION} for ${SPONGE_TYPE}"
|
|
fi
|
|
|
|
TARGET_VERSION=`echo $TARGET_VERSION_JSON | jq '.assets[] | select(.classifier == "universal")'`
|
|
if [ -z "${TARGET_VERSION}" ]; then
|
|
TARGET_VERSION=`echo $TARGET_VERSION_JSON | jq '.assets[] | select(.classifier == "" and .extension == "jar")'`
|
|
fi
|
|
|
|
if [ -z "${TARGET_VERSION}" ]; then
|
|
echo -e "Failed to get download url data from the selected version"
|
|
exit 1
|
|
fi
|
|
|
|
SPONGE_URL=$(echo $TARGET_VERSION | jq -r '.downloadUrl')
|
|
CHECKSUM=$(echo $TARGET_VERSION | jq -r '.md5')
|
|
echo -e "Found file at ${SPONGE_URL} with checksum ${CHECKSUM}"
|
|
|
|
echo -e "running: curl -o ${SERVER_JARFILE} ${SPONGE_URL}"
|
|
curl -o ${SERVER_JARFILE} ${SPONGE_URL}
|
|
|
|
if [ $(basename $(md5sum ${SERVER_JARFILE})) = ${CHECKSUM} ] ; then
|
|
echo "Checksum passed"
|
|
else
|
|
echo "Checksum failed"
|
|
fi
|
|
|
|
echo -e "Install Complete"
|
|
container: 'ghcr.io/parkervcp/installers:alpine'
|
|
entrypoint: ash
|
|
variables:
|
|
-
|
|
name: 'Forge/Neoforge Version'
|
|
description: |-
|
|
The modding api target version if set to `spongeforge` or `spongeneo`. Leave blank if using
|
|
`spongevanilla`
|
|
env_variable: FORGE_VERSION
|
|
default_value: ''
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- string
|
|
sort: 3
|
|
-
|
|
name: 'Minecraft Version'
|
|
description: |-
|
|
The version of Minecraft to target. Use "latest" to install the latest version. Go to Settings >
|
|
Reinstall Server to apply.
|
|
env_variable: MINECRAFT_VERSION
|
|
default_value: latest
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- string
|
|
- 'between:3,15'
|
|
sort: 1
|
|
-
|
|
name: 'Server Jar File'
|
|
description: 'The name of the Jarfile to use when running Sponge.'
|
|
env_variable: SERVER_JARFILE
|
|
default_value: server.jar
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- 'regex:/^([\w\d._-]+)(\.jar)$/'
|
|
sort: 4
|
|
-
|
|
name: 'Sponge Type'
|
|
description: |-
|
|
SpongeVanilla if you are only using Sponge plugins.
|
|
SpongeForge when using Forge mods and Sponge plugins.
|
|
SpongeNeo when using NeoForge mods and Sponge plugins.
|
|
env_variable: SPONGE_TYPE
|
|
default_value: spongevanilla
|
|
user_viewable: true
|
|
user_editable: true
|
|
rules:
|
|
- required
|
|
- 'in:spongevanilla,spongeforge,spongeneo'
|
|
sort: 2
|