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.
46 lines
1.6 KiB
Bash
Executable File
46 lines
1.6 KiB
Bash
Executable File
# SurviePote — installe/repare le runtime serveur Fabric (MC 26.3 / Loader 0.20.0).
|
|
# Les jars vanilla/Fabric, libraries/ et versions/ ne sont PAS versionnes (voir .gitignore) :
|
|
# ce script les (re)genere dans le dossier courant. A lancer une fois sur le serveur, avant ./start.sh.
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
ROOT="$(cd .. && pwd)"
|
|
|
|
# Java absent -> on se replace dans le shell Nix du repo (NixOS / nix-shell).
|
|
if ! command -v java >/dev/null 2>&1; then
|
|
if [ -z "${SURVIEPOTE_NIX:-}" ] && command -v nix-shell >/dev/null 2>&1 && [ -f "$ROOT/shell.nix" ]; then
|
|
echo "Java absent -> relance dans le shell Nix du repo (nix-shell)..."
|
|
export SURVIEPOTE_NIX=1
|
|
exec nix-shell "$ROOT" --run "bash '$ROOT/server/setup.sh'"
|
|
fi
|
|
echo "ERREUR: java introuvable."
|
|
echo "Depuis la racine du repo : nix-shell . --run 'bash server/setup.sh'"
|
|
exit 1
|
|
fi
|
|
|
|
MC_VERSION=26.3
|
|
LOADER_VERSION=0.20.0
|
|
INSTALLER_VERSION=1.1.2
|
|
INSTALLER_JAR=fabric-installer.jar
|
|
LAUNCH_JAR=fabric-server-launch.jar
|
|
|
|
if [ -f "$LAUNCH_JAR" ]; then
|
|
echo "Runtime deja installe ($LAUNCH_JAR present) — rien a faire."
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -f "$INSTALLER_JAR" ]; then
|
|
echo "== Telechargement de fabric-installer $INSTALLER_VERSION =="
|
|
curl -fSL -o "$INSTALLER_JAR" \
|
|
"https://maven.fabricmc.net/net/fabricmc/fabric-installer/${INSTALLER_VERSION}/fabric-installer-${INSTALLER_VERSION}.jar"
|
|
fi
|
|
|
|
echo "== Installation du serveur Fabric (MC $MC_VERSION / Loader $LOADER_VERSION) =="
|
|
java -jar "$INSTALLER_JAR" server \
|
|
-dir . \
|
|
-mcversion "$MC_VERSION" \
|
|
-loader "$LOADER_VERSION" \
|
|
-downloadMinecraft
|
|
|
|
echo
|
|
echo "OK — runtime installe. Lance le serveur avec : ./start.sh"
|