subprocess / start.sh
OrbitMC's picture
Update start.sh
b48ae4d verified
#!/bin/bash
set -e
echo "==== Server Initialization ===="
# --- Server Configuration (runs instantly, no download here) ---
echo ">> Writing eula.txt and server.properties..."
echo "eula=true" > /app/eula.txt
if [ ! -f "/app/server.properties" ]; then
echo "server-port=25565" > /app/server.properties
echo "query.port=25565" >> /app/server.properties
echo "online-mode=false" >> /app/server.properties
else
sed -i "s/^server-port=.*/server-port=25565/" /app/server.properties
sed -i "s/^query\.port=.*/query.port=25565/" /app/server.properties
fi
chmod -R 777 /app 2>/dev/null || true
# KEY FIX: Start the web panel FIRST so HuggingFace health-check passes.
# World download + Minecraft boot now happen as background async tasks
# inside panel.py's lifespan — the HTTP server is ready on port 7860
# before any slow download begins.
echo "=========================================================="
echo ">> Starting Panel on port 7860 (world download will run"
echo " in background after the server is already listening)."
echo "=========================================================="
exec python3 /app/panel.py