Files
mc/server/start.sh
T
Anaïs Saraiva b8a283a177 server: start.sh/setup.sh relancent automatiquement via nix-shell si Java 25 absent
Sur NixOS, sans nix-shell le java systeme manque souvent. Le script detecte
l'absence de Java 25 et se re-execute dans le shell Nix du repo (shell.nix),
avec garde SURVIEPOTE_NIX pour eviter toute boucle.
2026-10-19 20:11:09 +02:00

33 lines
1.2 KiB
Bash
Executable File

# SurviePote — lancement serveur Fabric MC 26.3 / Loader 0.20.0 / Java 25
cd "$(dirname "$0")"
ROOT="$(cd .. && pwd)"
# Java 25 absent -> on se replace dans le shell Nix du repo (NixOS / nix-shell).
if ! java -version 2>&1 | grep -q 'version "25'; then
if [ -z "${SURVIEPOTE_NIX:-}" ] && command -v nix-shell >/dev/null 2>&1 && [ -f "$ROOT/shell.nix" ]; then
echo "Java 25 absent -> relance dans le shell Nix du repo (nix-shell)..."
export SURVIEPOTE_NIX=1
exec nix-shell "$ROOT" --run "bash '$ROOT/server/start.sh'"
fi
echo "ERREUR: Java 25 requis (java actuel : $(java -version 2>&1 | head -1))."
echo "Lance depuis la racine du repo : nix-shell . --run 'bash server/start.sh'"
exit 1
fi
# Runtime absent (clone neuf) -> installation automatique.
if [ ! -f fabric-server-launch.jar ] && [ ! -f server.jar ]; then
echo "Runtime serveur absent -> installation automatique (setup.sh)..."
bash setup.sh
fi
if [ -f fabric-server-launch.jar ]; then
JAR=fabric-server-launch.jar
elif [ -f server.jar ]; then
JAR=server.jar
else
echo "Aucun jar serveur trouve (fabric-server-launch.jar / server.jar)."
exit 1
fi
java -Xms4G -Xmx4G -jar "$JAR" nogui