Add qol scripts for local server dev
This commit is contained in:
22
.pakku/server-overrides/start_server.sh
Executable file
22
.pakku/server-overrides/start_server.sh
Executable file
@@ -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
|
||||
|
||||
@@ -310,4 +310,4 @@
|
||||
"export": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
41
scripts/update_forge_auto_install.sh
Executable file
41
scripts/update_forge_auto_install.sh
Executable file
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user