Captures live config state of nullstone Purpur 1.21.11 server: - docker-compose.yml (itzg/minecraft-server image, MODRINTH_PROJECTS + PLUGINS lists) - All plugin configs under live-server/plugins/ (no DBs, no jars, no world data) - Server core: bukkit.yml, spigot.yml, purpur.yml, paper-global.yml, paper-world-defaults.yml, server.properties Excluded via .gitignore: - World data (world/, world_nether/, world_the_end/, auth_limbo/) - Sensitive: AuthMe DB (password hashes), Lands DB, CoreProtect DB, Essentials userdata - Jars (auto-fetched), logs, caches, .paper-remapped
91 lines
2.7 KiB
YAML
91 lines
2.7 KiB
YAML
services:
|
|
mc:
|
|
image: itzg/minecraft-server:latest
|
|
container_name: minecraft-mc
|
|
environment:
|
|
EULA: "TRUE"
|
|
# TYPE=CUSTOM bypasses itzg's auto-loader detection; honors MODRINTH_LOADER override
|
|
TYPE: CUSTOM
|
|
CUSTOM_SERVER: "https://api.purpurmc.org/v2/purpur/1.21.11/latest/download"
|
|
VERSION: "1.21.11"
|
|
|
|
MEMORY_SIZE: "16G"
|
|
JVM_OPTS: "-Xms8192M -Xmx16384M"
|
|
|
|
DIFFICULTY: hard
|
|
GAMEMODE: survival
|
|
HARDCORE: "false"
|
|
MAX_PLAYERS: "69"
|
|
VIEW_DISTANCE: 20
|
|
SIMULATION_DISTANCE: 10
|
|
ONLINE_MODE: "false"
|
|
SPAWN_PROTECTION: 0
|
|
MOTD: "racked.ru — experience the game the way it should have always been"
|
|
|
|
USE_AIKAR_FLAGS: "true"
|
|
MAX_TICK_TIME: "-1"
|
|
|
|
ENABLE_RCON: "true"
|
|
RCON_PASSWORD: "*redacted*"
|
|
|
|
TZ: "Europe/London"
|
|
ENABLE_ROLLING_LOGS: "true"
|
|
|
|
UID: "1000"
|
|
GID: "1000"
|
|
|
|
# Modrinth auto-DL — TYPE=CUSTOM lets MODRINTH_LOADER=paper actually work
|
|
MODRINTH_PROJECTS: |
|
|
luckperms
|
|
placeholderapi
|
|
fastasyncworldedit
|
|
simple-voice-chat
|
|
minimotd
|
|
skinsrestorer
|
|
vaultunlocked
|
|
proantitab
|
|
voidworldgenerator
|
|
homestead-plugin
|
|
# EssentialsX + spark not on Modrinth as paper jars — direct GH/CI URLs
|
|
PLUGINS: |
|
|
https://github.com/EssentialsX/Essentials/releases/download/2.21.2/EssentialsX-2.21.2.jar
|
|
https://ci.lucko.me/job/spark/lastSuccessfulBuild/artifact/spark-bukkit/build/libs/spark-1.10.172-bukkit.jar
|
|
https://github.com/HaHaWTH/AuthMeReReloaded/releases/download/b49/AuthMe-5.6.0-FORK-Universal.jar
|
|
https://github.com/dmulloy2/ProtocolLib/releases/download/dev-build/ProtocolLib.jar
|
|
https://github.com/VoidemLIVE/Help-Command-Plugin/releases/download/v2.9.2/HelpCommand-2.9.2.jar
|
|
https://cdn.modrinth.com/data/Lu3KuzdV/versions/HD2IvrxS/CoreProtect-CE-23.1.jar
|
|
https://cdn.modrinth.com/data/gG7VFbG0/versions/uWACk3HR/TAB%20v6.0.1.jar
|
|
MODRINTH_DOWNLOAD_DEPENDENCIES: none
|
|
MODRINTH_PROJECTS_DEFAULT_VERSION_TYPE: release
|
|
MODRINTH_LOADER: paper
|
|
SPIGET_RESOURCES: ""
|
|
REMOVE_OLD_MODS: "true"
|
|
REMOVE_OLD_MODS_INCLUDE: "*.jar"
|
|
REMOVE_OLD_MODS_EXCLUDE: "RackedLimbo*.jar"
|
|
volumes:
|
|
- /opt/docker/minecraft:/data
|
|
ports:
|
|
- "25565:25565/tcp"
|
|
- "25575:25575/tcp"
|
|
networks:
|
|
- proxy
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "mc-health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 240s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 18G
|
|
cpus: '6'
|
|
reservations:
|
|
memory: 8G
|
|
labels:
|
|
- "traefik.enable=false"
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|