forked from nalc/nalc-server
Ajout du script upgrade.sh
This commit is contained in:
parent
5cf1a04c01
commit
874c473670
132
install.sh
132
install.sh
|
@ -7,57 +7,105 @@ verif() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Affichage de l'aide si demandé en paramètres
|
||||
if [[ $1 = "--help" ]]; then
|
||||
error() {
|
||||
echo "ERREUR : paramètres invalides !" >&2
|
||||
echo "utilisez l'option -h pour en savoir plus" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "Usage : ./install.sh [options]"
|
||||
echo ""
|
||||
echo "Options :"
|
||||
echo "--help : Cette aide"
|
||||
echo "--git-user <utilisateur@serveur> : Utilisateur git"
|
||||
exit 0
|
||||
fi
|
||||
echo "--help ou -h : Afficher l'aide"
|
||||
echo "--ssh : Authentification par ssh"
|
||||
echo "--https : Authentification publique anonyme"
|
||||
}
|
||||
|
||||
# Récupération de l'utilisateur du dépot git
|
||||
if [[ $1 = "--git-user" ]] && [[ -n $2 ]]; then
|
||||
USER=$2\:
|
||||
else
|
||||
USER="https://sys4.fr/gogs/"
|
||||
fi
|
||||
install() {
|
||||
if [[ $1 == "ssh" ]]; then
|
||||
read -p "Please enter <username>@<host> : " ident
|
||||
ident=$ident\:
|
||||
else
|
||||
ident="https://sys4.fr/gogs/"
|
||||
fi
|
||||
|
||||
# On clone le dépot du moteur du jeux Minetest à la racine
|
||||
git clone $USER"NotreAmiLeCube/minetest.git"
|
||||
verif
|
||||
# On clone le dépot du moteur du jeux Minetest à la racine
|
||||
git clone $ident"NotreAmiLeCube/minetest.git"
|
||||
verif
|
||||
|
||||
# On clone le dépot du sous-jeux minetest_game à la racine
|
||||
git clone $USER"NotreAmiLeCube/minetest_game.git"
|
||||
verif
|
||||
# On clone le dépot du sous-jeux minetest_game à la racine
|
||||
git clone $ident"NotreAmiLeCube/minetest_game.git"
|
||||
verif
|
||||
|
||||
# On clone les mods de nalc à la racine
|
||||
git clone $USER"NotreAmiLeCube/nalc-server-mods.git"
|
||||
verif
|
||||
# On clone les mods de nalc à la racine
|
||||
git clone $ident"NotreAmiLeCube/nalc-server-mods.git"
|
||||
verif
|
||||
|
||||
# On initialise les sous-modules du dépot des mods
|
||||
cd nalc-server-mods
|
||||
git submodule update --init --recursive
|
||||
# On initialise les sous-modules du dépot des mods
|
||||
cd nalc-server-mods
|
||||
git submodule update --init --recursive
|
||||
|
||||
# On créé les liens symboliques nécessaires
|
||||
cd ..
|
||||
ln -s $(pwd)/minetest_game minetest/games/minetest_game
|
||||
while [ -r mod ]
|
||||
do
|
||||
# On créé les liens symboliques nécessaires
|
||||
cd ..
|
||||
ln -s $(pwd)/minetest_game minetest/games/minetest_game
|
||||
while read -r mod
|
||||
do
|
||||
ln -s $(pwd)/nalc-server-mods/$mod minetest/mods/$mod
|
||||
done <<< $(ls nalc-server-mods)
|
||||
done <<< $(ls nalc-server-mods)
|
||||
|
||||
# TODO Lien symbolique minetest.conf
|
||||
# TODO Lien symbolique minetest.conf
|
||||
|
||||
# Création du répertoire de la map
|
||||
mkdir -p minetest/world/nalc
|
||||
# TODO Lien symbolique world.mt
|
||||
#ln -s ($pwd)/world.mt minetest/world/nalc/world.mt
|
||||
# Création du répertoire de la map
|
||||
mkdir -p minetest/world/nalc
|
||||
|
||||
# Compilation de Minetest
|
||||
cd minetest
|
||||
cmake . -DRUN_IN_PLACE=true -DENABLE_GETTEXT=true
|
||||
make -j33
|
||||
# Compilation de Minetest
|
||||
cd minetest
|
||||
cmake . -DRUN_IN_PLACE=true -DENABLE_GETTEXT=true
|
||||
make -j33
|
||||
|
||||
echo "Installation terminé. Bravo !"
|
||||
verif
|
||||
cd ..
|
||||
exec ./upgrade.sh --mods-link
|
||||
|
||||
echo "Installation terminé. Bravo !"
|
||||
|
||||
}
|
||||
|
||||
sshinstall() {
|
||||
if [[ -z `pidof ssh-agent` ]]; then
|
||||
echo "Exécutez les commandes suivantes :"
|
||||
echo "$ eval \`ssh-agent -s\`"
|
||||
echo "$ ssh-add <chemin vers votre clé privé>"
|
||||
echo "Relancez de nouveau le script : ./install.sh --ssh"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
install "ssh"
|
||||
}
|
||||
|
||||
# Pas de paramètre
|
||||
[[ $# -lt 1 ]] && error
|
||||
|
||||
# -o : Options courtes
|
||||
# -l : options longues
|
||||
options=$(getopt -o h -l help,https,ssh -- "$@")
|
||||
|
||||
# éclatement de $options en $1, $2...
|
||||
set -- $options
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
--ssh) sshinstall
|
||||
#shift 2;;
|
||||
exit 0;;
|
||||
--https) install
|
||||
#shift;;
|
||||
exit 0;;
|
||||
-h|--help) usage
|
||||
exit 0;;
|
||||
--)
|
||||
shift
|
||||
break;;
|
||||
*) error
|
||||
shift;;
|
||||
esac
|
||||
done
|
||||
|
|
54
upgrade.sh
Executable file
54
upgrade.sh
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
|
||||
verif() {
|
||||
if [[ $? -gt 0 ]]; then
|
||||
echo "Erreur ! Arrêt du script."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Affichage de l'aide si demandé en paramètres
|
||||
if [[ $1 = "--help" ]]; then
|
||||
echo "Usage : ./upgrade.sh [options]"
|
||||
echo ""
|
||||
echo "Options :"
|
||||
echo "--help : Cette aide"
|
||||
echo "--mods-link : Met à jour les liens symboliques des mods seulement"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Mise à jour de tous les liens symboliques des mods
|
||||
if [[ $1 == "--mods-link" ]]; then
|
||||
# Suppression des liens
|
||||
rm minetest/mods/*
|
||||
|
||||
# Supression du world.mt
|
||||
rm world.mt
|
||||
# Création du fichier world.mt depuis sa conf
|
||||
cp worldmt.conf world.mt
|
||||
|
||||
# Création des liens
|
||||
while read -r mod
|
||||
do
|
||||
if [[ -d nalc-server-mods/$mod ]]; then
|
||||
ln -s $(pwd)/nalc-server-mods/$mod minetest/mods/$mod
|
||||
|
||||
# Ajout dans world.mt
|
||||
if [[ -a nalc-server-mods/$mod/modpack.txt ]]; then
|
||||
while read -r submod
|
||||
do
|
||||
echo "load_mod_"$submod" = true" >> world.mt
|
||||
done <<< $(ls nalc-server-mods/$mod)
|
||||
else
|
||||
echo "load_mod_"$mod" = true" >> world.mt
|
||||
fi
|
||||
fi
|
||||
done <<< $(ls nalc-server-mods)
|
||||
|
||||
# Lien symbolique world.mt
|
||||
if [[ ! -a minetest/world/nalc/world.mt ]]; then
|
||||
ln -s $(pwd)/world.mt minetest/world/nalc/world.mt
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
5
worldmt.conf
Normal file
5
worldmt.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
gameid = minetest_game
|
||||
backend = redis
|
||||
redis_hash = nalc
|
||||
redis_address = localhost
|
||||
|
Loading…
Reference in New Issue
Block a user