#!/bin/bash # Startup command for Pterodactyl: "./start.sh" # Don't forget to give execute permissions (chmod +x start.sh) # Exit on error set -e # static variables PREFIX="\033[90m[\033[32mstart.sh\033[90m]\033[0m" ###### # cleanup logs ###### echo -e "${PREFIX} ๐Ÿงน Deleting logs older than 30 days..." find ./logs -type f -mtime +30 -name '*.log.gz' -exec rm -f {} \; ###### # cleanup worlds ###### echo -e "${PREFIX} ๐Ÿ” Starting region cleanup for world" echo -e "${PREFIX} ๐Ÿ“ Ensuring backup folder exists..." mkdir -p ./world/region_backups echo -e "${PREFIX} ๐Ÿ“ฆ Moving region files older than 90 days to backup folder..." find ./world/region -type f -name '*.mca' -mtime +90 | while read -r file; do mv -fv "$file" ./world/region_backups/ touch ./world/region_backups/"$(basename "$file")" done echo -e "${PREFIX} ๐Ÿ” Starting region cleanup for world_the_end" echo -e "${PREFIX} ๐Ÿ“ Ensuring backup folder exists..." mkdir -p ./world_the_end/DIM1/region_backups echo -e "${PREFIX} ๐Ÿ“ฆ Moving region files older than 7 days to backup folder..." find ./world_the_end/DIM1/region -type f -name '*.mca' -mtime +7 | while read -r file; do mv -fv "$file" ./world_the_end/DIM1/region_backups/ touch ./world_the_end/DIM1/region_backups/"$(basename "$file")" done echo -e "${PREFIX} ๐Ÿงน Deleting backup region files older than 7 days..." find ./world/region_backups -type f -name '*.mca' -mtime +7 -exec rm -fv {} \; find ./world_the_end/DIM1/region_backups -type f -name '*.mca' -mtime +7 -exec rm -fv {} \; ###### # Start the Server ###### echo -e "${PREFIX} ๐Ÿš€ Starting Minecraft server..." java -Xms128M -XX:MaxRAMPercentage=95.0 -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:G1HeapWastePercent=5 -XX:G1MaxNewSizePercent=40 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1NewSizePercent=30 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:G1ReservePercent=20 -XX:InitiatingHeapOccupancyPercent=15 -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=32 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui