Spaces:
Running
Running
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -34,8 +34,8 @@ PAPER_MAX_MB=$(( TOTAL_MEM_MB - BUNGEE_MAX_MB - 768 ))
|
|
| 34 |
PAPER_MIN_MB=8192
|
| 35 |
|
| 36 |
echo "========================================"
|
| 37 |
-
echo " Eaglercraft 1.
|
| 38 |
-
echo "
|
| 39 |
echo "========================================"
|
| 40 |
echo ""
|
| 41 |
echo " CPUs: $CPU_CORES | RAM: ${TOTAL_MEM_MB}MB"
|
|
@@ -86,6 +86,23 @@ PAPER_JVM_FLAGS=(
|
|
| 86 |
-DIReallyKnowWhatIAmDoingISwear
|
| 87 |
-Dusing.aikars.flags=https://mcflags.emc.gs
|
| 88 |
-Daikars.new.flags=true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
)
|
| 90 |
|
| 91 |
BUNGEE_JVM_FLAGS=(
|
|
@@ -108,6 +125,9 @@ BUNGEE_JVM_FLAGS=(
|
|
| 108 |
-Dio.netty.allocator.numDirectArenas=${NETTY_THREADS}
|
| 109 |
-Dio.netty.allocator.numHeapArenas=${NETTY_THREADS}
|
| 110 |
-Deaglerxbungee.stfu=true
|
|
|
|
|
|
|
|
|
|
| 111 |
)
|
| 112 |
|
| 113 |
# =============================================================
|
|
@@ -128,9 +148,9 @@ mc_command() {
|
|
| 128 |
}
|
| 129 |
|
| 130 |
# =============================================================
|
| 131 |
-
#
|
| 132 |
# =============================================================
|
| 133 |
-
|
| 134 |
cd "$BACKEND_DIR"
|
| 135 |
$JAVA "${PAPER_JVM_FLAGS[@]}" -jar server.jar nogui --noconsole >> /tmp/paper.log 2>&1 &
|
| 136 |
BACKEND_PID=$!
|
|
@@ -296,12 +316,12 @@ done
|
|
| 296 |
echo ""
|
| 297 |
|
| 298 |
# =============================================================
|
| 299 |
-
# STEP 2: Core server configs + Start
|
| 300 |
# =============================================================
|
| 301 |
cd "$BACKEND_DIR"
|
| 302 |
echo "eula=true" > eula.txt
|
| 303 |
|
| 304 |
-
echo "[2/7] Writing core server configs + starting
|
| 305 |
|
| 306 |
cat > server.properties << 'EOF'
|
| 307 |
server-port=25565
|
|
@@ -400,63 +420,19 @@ world-settings:
|
|
| 400 |
enable-zombie-pigmen-portal-spawns: false
|
| 401 |
EOF
|
| 402 |
|
| 403 |
-
cat > windspigot.yml << 'EOF'
|
| 404 |
-
settings:
|
| 405 |
-
async:
|
| 406 |
-
entity-tracking: true
|
| 407 |
-
path-searching: true
|
| 408 |
-
tnt-explosions: true
|
| 409 |
-
lighting: true
|
| 410 |
-
tnt:
|
| 411 |
-
optimize-movement: true
|
| 412 |
-
optimize-liquid-explosions: true
|
| 413 |
-
fast-operators: true
|
| 414 |
-
stop-decoding-itemstack-on-place: true
|
| 415 |
-
modern-tick-loop:
|
| 416 |
-
enabled: false
|
| 417 |
-
tcp-fast-open: true
|
| 418 |
-
reduced-chunk-loads: true
|
| 419 |
-
lag-compensated-potions: false
|
| 420 |
-
anti-xray:
|
| 421 |
-
enabled: true
|
| 422 |
-
engine-mode: 2
|
| 423 |
-
hit-detection:
|
| 424 |
-
enabled: true
|
| 425 |
-
threshold: 1.0
|
| 426 |
-
combat:
|
| 427 |
-
knockback:
|
| 428 |
-
friction: 2.0
|
| 429 |
-
horizontal: 0.35
|
| 430 |
-
vertical: 0.35
|
| 431 |
-
vertical-limit: 0.4
|
| 432 |
-
extra-horizontal: 0.425
|
| 433 |
-
extra-vertical: 0.085
|
| 434 |
-
chunk:
|
| 435 |
-
threads: 1
|
| 436 |
-
players-per-thread: 25
|
| 437 |
-
EOF
|
| 438 |
-
|
| 439 |
-
cat > nacho.yml << 'EOF'
|
| 440 |
-
settings:
|
| 441 |
-
stop-notify-bungee: true
|
| 442 |
-
anti-malware: true
|
| 443 |
-
use-tcp-nodelay: true
|
| 444 |
-
brand-name: "1.12.2"
|
| 445 |
-
EOF
|
| 446 |
-
|
| 447 |
setup_op_account
|
| 448 |
|
| 449 |
> /tmp/paper.log
|
| 450 |
-
|
| 451 |
-
echo "
|
| 452 |
|
| 453 |
for i in $(seq 1 120); do
|
| 454 |
if grep -q "Done" /tmp/paper.log 2>/dev/null; then
|
| 455 |
-
echo "
|
| 456 |
break
|
| 457 |
fi
|
| 458 |
if ! kill -0 $BACKEND_PID 2>/dev/null; then
|
| 459 |
-
echo "
|
| 460 |
tail -30 /tmp/paper.log
|
| 461 |
exit 1
|
| 462 |
fi
|
|
@@ -537,7 +513,7 @@ servers:
|
|
| 537 |
restricted: false
|
| 538 |
listeners:
|
| 539 |
- query_port: 25577
|
| 540 |
-
motd: '&6Eaglercraft 1.
|
| 541 |
tab_list: GLOBAL_PING
|
| 542 |
query_enabled: false
|
| 543 |
proxy_protocol: false
|
|
@@ -571,12 +547,12 @@ echo " Full server reload done"
|
|
| 571 |
echo ""
|
| 572 |
|
| 573 |
# =============================================================
|
| 574 |
-
# STEP 6:
|
| 575 |
# =============================================================
|
| 576 |
LISTENERS_FILE=$(find_listeners_yml)
|
| 577 |
|
| 578 |
if [ -z "$LISTENERS_FILE" ]; then
|
| 579 |
-
echo "[6/7] Generating
|
| 580 |
cd "$BUNGEE_DIR"
|
| 581 |
$JAVA "${BUNGEE_JVM_FLAGS[@]}" \
|
| 582 |
-cp "sqlite-jdbc.jar:BungeeCord.jar" \
|
|
@@ -585,7 +561,7 @@ if [ -z "$LISTENERS_FILE" ]; then
|
|
| 585 |
|
| 586 |
for i in $(seq 1 60); do
|
| 587 |
if nc -z 127.0.0.1 8081 2>/dev/null || nc -z 127.0.0.1 7860 2>/dev/null; then
|
| 588 |
-
echo "
|
| 589 |
break
|
| 590 |
fi
|
| 591 |
if ! kill -0 $GEN_PID 2>/dev/null; then
|
|
@@ -605,7 +581,7 @@ if [ -z "$LISTENERS_FILE" ]; then
|
|
| 605 |
done
|
| 606 |
sleep 2
|
| 607 |
else
|
| 608 |
-
echo "[6/7]
|
| 609 |
fi
|
| 610 |
|
| 611 |
echo " Starting BungeeCord..."
|
|
@@ -724,10 +700,10 @@ while true; do
|
|
| 724 |
LOOP_COUNT=$((LOOP_COUNT + 1))
|
| 725 |
|
| 726 |
if ! kill -0 $BACKEND_PID 2>/dev/null; then
|
| 727 |
-
echo "[$(date '+%H:%M:%S')]
|
| 728 |
hf_push_saves
|
| 729 |
IDLE_MODE=false
|
| 730 |
-
|
| 731 |
sleep 45
|
| 732 |
# Wait for RCON to be available before sending commands
|
| 733 |
for i in $(seq 1 30); do
|
|
|
|
| 34 |
PAPER_MIN_MB=8192
|
| 35 |
|
| 36 |
echo "========================================"
|
| 37 |
+
echo " Eaglercraft 1.12.2 PVP Server"
|
| 38 |
+
echo " Paper 1.12.2 + HuggingFace Buckets"
|
| 39 |
echo "========================================"
|
| 40 |
echo ""
|
| 41 |
echo " CPUs: $CPU_CORES | RAM: ${TOTAL_MEM_MB}MB"
|
|
|
|
| 86 |
-DIReallyKnowWhatIAmDoingISwear
|
| 87 |
-Dusing.aikars.flags=https://mcflags.emc.gs
|
| 88 |
-Daikars.new.flags=true
|
| 89 |
+
# Java 17 Compatibility overrides for 1.12.2
|
| 90 |
+
--add-opens=java.base/java.lang=ALL-UNNAMED
|
| 91 |
+
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
|
| 92 |
+
--add-opens=java.base/java.math=ALL-UNNAMED
|
| 93 |
+
--add-opens=java.base/java.net=ALL-UNNAMED
|
| 94 |
+
--add-opens=java.base/java.nio=ALL-UNNAMED
|
| 95 |
+
--add-opens=java.base/java.security=ALL-UNNAMED
|
| 96 |
+
--add-opens=java.base/java.text=ALL-UNNAMED
|
| 97 |
+
--add-opens=java.base/java.util=ALL-UNNAMED
|
| 98 |
+
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
|
| 99 |
+
--add-opens=java.base/jdk.internal.math=ALL-UNNAMED
|
| 100 |
+
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
|
| 101 |
+
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
|
| 102 |
+
--add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED
|
| 103 |
+
--add-opens=java.base/sun.security.action=ALL-UNNAMED
|
| 104 |
+
--add-opens=java.base/sun.security.util=ALL-UNNAMED
|
| 105 |
+
--add-opens=java.base/sun.security.x509=ALL-UNNAMED
|
| 106 |
)
|
| 107 |
|
| 108 |
BUNGEE_JVM_FLAGS=(
|
|
|
|
| 125 |
-Dio.netty.allocator.numDirectArenas=${NETTY_THREADS}
|
| 126 |
-Dio.netty.allocator.numHeapArenas=${NETTY_THREADS}
|
| 127 |
-Deaglerxbungee.stfu=true
|
| 128 |
+
# Additional Bungee reflection backups
|
| 129 |
+
--add-opens=java.base/java.lang=ALL-UNNAMED
|
| 130 |
+
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
|
| 131 |
)
|
| 132 |
|
| 133 |
# =============================================================
|
|
|
|
| 148 |
}
|
| 149 |
|
| 150 |
# =============================================================
|
| 151 |
+
# Paper starter
|
| 152 |
# =============================================================
|
| 153 |
+
start_paper() {
|
| 154 |
cd "$BACKEND_DIR"
|
| 155 |
$JAVA "${PAPER_JVM_FLAGS[@]}" -jar server.jar nogui --noconsole >> /tmp/paper.log 2>&1 &
|
| 156 |
BACKEND_PID=$!
|
|
|
|
| 316 |
echo ""
|
| 317 |
|
| 318 |
# =============================================================
|
| 319 |
+
# STEP 2: Core server configs + Start Paper
|
| 320 |
# =============================================================
|
| 321 |
cd "$BACKEND_DIR"
|
| 322 |
echo "eula=true" > eula.txt
|
| 323 |
|
| 324 |
+
echo "[2/7] Writing core server configs + starting Paper..."
|
| 325 |
|
| 326 |
cat > server.properties << 'EOF'
|
| 327 |
server-port=25565
|
|
|
|
| 420 |
enable-zombie-pigmen-portal-spawns: false
|
| 421 |
EOF
|
| 422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 423 |
setup_op_account
|
| 424 |
|
| 425 |
> /tmp/paper.log
|
| 426 |
+
start_paper
|
| 427 |
+
echo " Paper PID: $BACKEND_PID"
|
| 428 |
|
| 429 |
for i in $(seq 1 120); do
|
| 430 |
if grep -q "Done" /tmp/paper.log 2>/dev/null; then
|
| 431 |
+
echo " Paper READY (~${i}s)"
|
| 432 |
break
|
| 433 |
fi
|
| 434 |
if ! kill -0 $BACKEND_PID 2>/dev/null; then
|
| 435 |
+
echo " PAPER CRASHED!"
|
| 436 |
tail -30 /tmp/paper.log
|
| 437 |
exit 1
|
| 438 |
fi
|
|
|
|
| 513 |
restricted: false
|
| 514 |
listeners:
|
| 515 |
- query_port: 25577
|
| 516 |
+
motd: '&6Eaglercraft 1.12.2 PVP'
|
| 517 |
tab_list: GLOBAL_PING
|
| 518 |
query_enabled: false
|
| 519 |
proxy_protocol: false
|
|
|
|
| 547 |
echo ""
|
| 548 |
|
| 549 |
# =============================================================
|
| 550 |
+
# STEP 6: EaglerXServer generation + Start BungeeCord
|
| 551 |
# =============================================================
|
| 552 |
LISTENERS_FILE=$(find_listeners_yml)
|
| 553 |
|
| 554 |
if [ -z "$LISTENERS_FILE" ]; then
|
| 555 |
+
echo "[6/7] Generating EaglerXServer config..."
|
| 556 |
cd "$BUNGEE_DIR"
|
| 557 |
$JAVA "${BUNGEE_JVM_FLAGS[@]}" \
|
| 558 |
-cp "sqlite-jdbc.jar:BungeeCord.jar" \
|
|
|
|
| 561 |
|
| 562 |
for i in $(seq 1 60); do
|
| 563 |
if nc -z 127.0.0.1 8081 2>/dev/null || nc -z 127.0.0.1 7860 2>/dev/null; then
|
| 564 |
+
echo " EaglerXServer started (~$((i*2))s)"
|
| 565 |
break
|
| 566 |
fi
|
| 567 |
if ! kill -0 $GEN_PID 2>/dev/null; then
|
|
|
|
| 581 |
done
|
| 582 |
sleep 2
|
| 583 |
else
|
| 584 |
+
echo "[6/7] EaglerXServer config exists"
|
| 585 |
fi
|
| 586 |
|
| 587 |
echo " Starting BungeeCord..."
|
|
|
|
| 700 |
LOOP_COUNT=$((LOOP_COUNT + 1))
|
| 701 |
|
| 702 |
if ! kill -0 $BACKEND_PID 2>/dev/null; then
|
| 703 |
+
echo "[$(date '+%H:%M:%S')] Paper crashed — restarting..."
|
| 704 |
hf_push_saves
|
| 705 |
IDLE_MODE=false
|
| 706 |
+
start_paper
|
| 707 |
sleep 45
|
| 708 |
# Wait for RCON to be available before sending commands
|
| 709 |
for i in $(seq 1 30); do
|