102 lines
2.9 KiB
Diff
102 lines
2.9 KiB
Diff
From 483938fcb2b3168a64a841adb7b8e720c47dbb11 Mon Sep 17 00:00:00 2001
|
|
From: Jika <vandechat@tutanota.com>
|
|
Date: Fri, 12 Sep 2025 23:59:18 +0200
|
|
Subject: [PATCH 1/9] Add qol scripts for local server dev
|
|
|
|
---
|
|
.pakku/server-overrides/start_server.sh | 22 +++++++++++++
|
|
scripts/update_forge_auto_install.sh | 41 +++++++++++++++++++++++++
|
|
2 files changed, 63 insertions(+)
|
|
create mode 100755 .pakku/server-overrides/start_server.sh
|
|
create mode 100755 scripts/update_forge_auto_install.sh
|
|
|
|
diff --git a/.pakku/server-overrides/start_server.sh b/.pakku/server-overrides/start_server.sh
|
|
new file mode 100755
|
|
index 00000000..5b824061
|
|
--- /dev/null
|
|
+++ b/.pakku/server-overrides/start_server.sh
|
|
@@ -0,0 +1,22 @@
|
|
+#!/usr/bin/env bash
|
|
+set -euo pipefail
|
|
+
|
|
+# Simple Linux server start script.
|
|
+# Usage (from the serverpack root):
|
|
+# chmod +x start_server.sh
|
|
+# ./start_server.sh
|
|
+#
|
|
+# Configure via env vars:
|
|
+# JAVA_BIN=/path/to/java XMS=2G XMX=8G ./start_server.sh
|
|
+
|
|
+JAVA_BIN="${JAVA_BIN:-java}"
|
|
+XMS="${XMS:-1G}"
|
|
+XMX="${XMX:-6G}"
|
|
+
|
|
+if [ ! -f minecraft_server.jar ]; then
|
|
+ echo "minecraft_server.jar not found in $(pwd)." >&2
|
|
+ exit 1
|
|
+fi
|
|
+
|
|
+exec "$JAVA_BIN" -Xms"$XMS" -Xmx"$XMX" -jar minecraft_server.jar nogui
|
|
+
|
|
diff --git a/scripts/update_forge_auto_install.sh b/scripts/update_forge_auto_install.sh
|
|
new file mode 100755
|
|
index 00000000..9c82cc96
|
|
--- /dev/null
|
|
+++ b/scripts/update_forge_auto_install.sh
|
|
@@ -0,0 +1,41 @@
|
|
+#!/usr/bin/env bash
|
|
+set -euo pipefail
|
|
+
|
|
+# Update placeholders in serverpack run file and inside serverpack zip(s)
|
|
+# using values from pakku-lock.json. Mirrors the GitHub workflow logic.
|
|
+
|
|
+
|
|
+LOCK_JSON="./pakku-lock.json"
|
|
+BASE_FILE=".pakku/server-overrides/forge-auto-install.txt"
|
|
+RUN_FILE="./build/serverpack/forge-auto-install.txt"
|
|
+SERVERPACK_DIR="./build/serverpack"
|
|
+
|
|
+# Extract info like in the workflow
|
|
+MC_VERSION=$(jq -r '.mc_versions[0]' "$LOCK_JSON")
|
|
+LOADER_KEY=$(jq -r '.loaders | keys[0]' "$LOCK_JSON")
|
|
+LOADER_VERSION=$(jq -r --arg k "$LOADER_KEY" '.loaders[$k]' "$LOCK_JSON")
|
|
+
|
|
+# Normalize loader type to expected casing
|
|
+case "$LOADER_KEY" in
|
|
+ forge|Forge) LOADER_TYPE="Forge" ;;
|
|
+ neoforge|NeoForge) LOADER_TYPE="NeoForge" ;;
|
|
+ *) LOADER_TYPE="$LOADER_KEY" ;;
|
|
+esac
|
|
+
|
|
+echo "minecraftVersion=$MC_VERSION"
|
|
+echo "loaderType=$LOADER_TYPE"
|
|
+echo "loaderVersion=$LOADER_VERSION"
|
|
+
|
|
+cp "$BASE_FILE" "$RUN_FILE"
|
|
+
|
|
+sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" "$RUN_FILE"
|
|
+sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" "$RUN_FILE"
|
|
+sed -i -e "s/MINECRAFT_VERSION/${MC_VERSION}/g" "$RUN_FILE"
|
|
+
|
|
+for z in "$SERVERPACK_DIR"/*.zip; do
|
|
+ zip -q -u -j "$z" "$RUN_FILE"
|
|
+ echo "patched zip: $z"
|
|
+done
|
|
+
|
|
+rm "$RUN_FILE"
|
|
+
|
|
diff --git a/pakku.json b/pakku.json
|
|
index 3224be1c..1a1328cb 100644
|
|
--- a/pakku.json
|
|
+++ b/pakku.json
|
|
@@ -19,5 +19,6 @@
|
|
"server.properties",
|
|
"server_starter.conf",
|
|
"server-icon.png",
|
|
+ "start_server.sh",
|
|
"start_server.bat",
|
|
"README.md"
|
|
--
|
|
2.51.1.dirty
|
|
|