Spaces:
Paused
Paused
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -1,6 +1,11 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
set -e
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
DATA_DIR="/data"
|
| 5 |
SERVER_JAR="${DATA_DIR}/server.jar"
|
| 6 |
LOG_DIR="${DATA_DIR}/logs"
|
|
@@ -21,18 +26,19 @@ echo " World : ${MC_WORLD}"
|
|
| 21 |
echo " Port : ${SERVER_PORT}"
|
| 22 |
echo "ββββββββββββββββββββββββββββββββββββββββββ"
|
| 23 |
|
| 24 |
-
# ββ 1. HTTP status page (required by HF Spaces) ββ
|
| 25 |
echo "[~] Starting HTTP status server on port 7860..."
|
| 26 |
python3 /home/minecraft/status_server.py &
|
| 27 |
echo "[β] HTTP status server running."
|
| 28 |
|
| 29 |
-
# ββ 2. Accept EULA βββββββββββββββββββββββββββ
|
| 30 |
echo "eula=true" > "${DATA_DIR}/eula.txt"
|
| 31 |
echo "[β] EULA accepted."
|
| 32 |
|
| 33 |
-
# ββ 3. Download server JAR ββββββββββββββββββ
|
| 34 |
if [ ! -f "${SERVER_JAR}" ]; then
|
| 35 |
echo "[~] Fetching Minecraft ${MC_VERSION} server JAR..."
|
|
|
|
| 36 |
MANIFEST_URL="https://launchermeta.mojang.com/mc/game/version_manifest.json"
|
| 37 |
VERSION_URL=$(curl -sL "${MANIFEST_URL}" | \
|
| 38 |
python3 -c "
|
|
@@ -44,12 +50,15 @@ for v in data['versions']:
|
|
| 44 |
print(v['url'])
|
| 45 |
break
|
| 46 |
")
|
|
|
|
| 47 |
if [ -z "${VERSION_URL}" ]; then
|
| 48 |
-
echo "[β] Version ${MC_VERSION} not found!"
|
| 49 |
exit 1
|
| 50 |
fi
|
|
|
|
| 51 |
SERVER_URL=$(curl -sL "${VERSION_URL}" | \
|
| 52 |
python3 -c "import sys, json; d=json.load(sys.stdin); print(d['downloads']['server']['url'])")
|
|
|
|
| 53 |
curl -L "${SERVER_URL}" -o "${SERVER_JAR}"
|
| 54 |
echo "[β] Server JAR downloaded."
|
| 55 |
else
|
|
@@ -65,13 +74,13 @@ if [ ! -f "${PROPS_FILE}" ]; then
|
|
| 65 |
/home/minecraft/server.properties.template > "${PROPS_FILE}"
|
| 66 |
echo "[β] server.properties created."
|
| 67 |
else
|
| 68 |
-
echo "[β] server.properties already exists."
|
| 69 |
fi
|
| 70 |
|
| 71 |
# ββ 5. Move to data dir ββββββββββββββββββββββββββββββββββββ
|
| 72 |
cd "${DATA_DIR}"
|
| 73 |
|
| 74 |
-
# ββ 6. Launch Minecraft βββββββββββββββββββββββββββββββββββ
|
| 75 |
echo ""
|
| 76 |
echo "[β
] Starting Minecraft server..."
|
| 77 |
echo ""
|
|
@@ -96,4 +105,5 @@ exec java \
|
|
| 96 |
-XX:SurvivorRatio=32 \
|
| 97 |
-XX:+PerfDisableSharedMem \
|
| 98 |
-XX:MaxTenuringThreshold=1 \
|
|
|
|
| 99 |
-jar "${SERVER_JAR}" nogui
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
set -e
|
| 3 |
|
| 4 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 5 |
+
# Minecraft Java Server β startup script
|
| 6 |
+
# Runs inside Docker on Hugging Face Spaces
|
| 7 |
+
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 8 |
+
|
| 9 |
DATA_DIR="/data"
|
| 10 |
SERVER_JAR="${DATA_DIR}/server.jar"
|
| 11 |
LOG_DIR="${DATA_DIR}/logs"
|
|
|
|
| 26 |
echo " Port : ${SERVER_PORT}"
|
| 27 |
echo "ββββββββββββββββββββββββββββββββββββββββββ"
|
| 28 |
|
| 29 |
+
# ββ 1. Start HTTP status page (required by HF Spaces on port 7860) ββ
|
| 30 |
echo "[~] Starting HTTP status server on port 7860..."
|
| 31 |
python3 /home/minecraft/status_server.py &
|
| 32 |
echo "[β] HTTP status server running."
|
| 33 |
|
| 34 |
+
# ββ 2. Accept EULA automatically βββββββββββββββββββββββββββ
|
| 35 |
echo "eula=true" > "${DATA_DIR}/eula.txt"
|
| 36 |
echo "[β] EULA accepted."
|
| 37 |
|
| 38 |
+
# ββ 3. Download server JAR if not cached ββββββββββββββββββ
|
| 39 |
if [ ! -f "${SERVER_JAR}" ]; then
|
| 40 |
echo "[~] Fetching Minecraft ${MC_VERSION} server JAR..."
|
| 41 |
+
|
| 42 |
MANIFEST_URL="https://launchermeta.mojang.com/mc/game/version_manifest.json"
|
| 43 |
VERSION_URL=$(curl -sL "${MANIFEST_URL}" | \
|
| 44 |
python3 -c "
|
|
|
|
| 50 |
print(v['url'])
|
| 51 |
break
|
| 52 |
")
|
| 53 |
+
|
| 54 |
if [ -z "${VERSION_URL}" ]; then
|
| 55 |
+
echo "[β] Version ${MC_VERSION} not found in Mojang manifest!"
|
| 56 |
exit 1
|
| 57 |
fi
|
| 58 |
+
|
| 59 |
SERVER_URL=$(curl -sL "${VERSION_URL}" | \
|
| 60 |
python3 -c "import sys, json; d=json.load(sys.stdin); print(d['downloads']['server']['url'])")
|
| 61 |
+
|
| 62 |
curl -L "${SERVER_URL}" -o "${SERVER_JAR}"
|
| 63 |
echo "[β] Server JAR downloaded."
|
| 64 |
else
|
|
|
|
| 74 |
/home/minecraft/server.properties.template > "${PROPS_FILE}"
|
| 75 |
echo "[β] server.properties created."
|
| 76 |
else
|
| 77 |
+
echo "[β] server.properties already exists β skipping."
|
| 78 |
fi
|
| 79 |
|
| 80 |
# ββ 5. Move to data dir ββββββββββββββββββββββββββββββββββββ
|
| 81 |
cd "${DATA_DIR}"
|
| 82 |
|
| 83 |
+
# ββ 6. Launch Minecraft! βββββββββββββββββββββββββββββββββββ
|
| 84 |
echo ""
|
| 85 |
echo "[β
] Starting Minecraft server..."
|
| 86 |
echo ""
|
|
|
|
| 105 |
-XX:SurvivorRatio=32 \
|
| 106 |
-XX:+PerfDisableSharedMem \
|
| 107 |
-XX:MaxTenuringThreshold=1 \
|
| 108 |
+
-Dusing.aikars.flags=https://mcflags.emc.gs \
|
| 109 |
-jar "${SERVER_JAR}" nogui
|