Merge branch 'master' of yunohost:NotreAmiLeCube/nalc-server
This commit is contained in:
commit
647b4db86f
31
backup.sh
Executable file
31
backup.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
bak=/home/minetest/nalc-server-0.4/backup
|
||||||
|
if [[ ! -d $bak ]]; then
|
||||||
|
mkdir $bak
|
||||||
|
fi
|
||||||
|
|
||||||
|
bak_tmp=/var/tmp/nalc-0.4_dump
|
||||||
|
if [[ ! -d $bak_tmp ]]; then
|
||||||
|
mkdir $bak_tmp
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -r /home/minetest/nalc-server-0.4/minetest/worlds/nalc/rollback.sqlite
|
||||||
|
tar -I pbzip2 -cvf $bak/world.tar.bz2 /home/minetest/nalc-server-0.4/minetest/worlds/nalc
|
||||||
|
|
||||||
|
pg_dump nalc-0.4 > $bak_tmp/nalc-0.4.sql
|
||||||
|
pg_dump players-nalc-0.4 > $bak_tmp/players-nalc-0.4.sql
|
||||||
|
|
||||||
|
if [[ -e $bak/dump_sql.tar.bz2 ]]; then
|
||||||
|
cd $bak
|
||||||
|
tar -jxvf dump_sql.tar.bz2
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
rdiff-backup --no-file-statistics $bak_tmp $bak
|
||||||
|
|
||||||
|
cd $bak
|
||||||
|
tar -I pbzip2 -cvf dump_sql.tar.bz2 --remove-files *.sql
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
rm -rf $bak_tmp
|
99
install.sh
99
install.sh
@ -25,9 +25,9 @@ usage() {
|
|||||||
echo "--makeopt | -j : Passer des options à make."
|
echo "--makeopt | -j : Passer des options à make."
|
||||||
echo "--ssh <user@host>: Identifiants ssh."
|
echo "--ssh <user@host>: Identifiants ssh."
|
||||||
echo "--url <URL>: URL distante personnalisée."
|
echo "--url <URL>: URL distante personnalisée."
|
||||||
|
echo -e "\tSi l'option --ssh est passée en option, il s'agira du chemin distant."
|
||||||
echo "--irrlicht | -i : Chemin personnalisé des sources irrlicht."
|
echo "--irrlicht | -i : Chemin personnalisé des sources irrlicht."
|
||||||
echo "--postgresql | -p : Si vous voulez que le serveur soit configuré avec postgresql"
|
echo "--postgresql | -p : Si vous voulez que le serveur soit configuré avec postgresql"
|
||||||
echo -e "\tSi l'option --ssh est passée en option, il s'agira du chemin distant."
|
|
||||||
echo "Commandes :"
|
echo "Commandes :"
|
||||||
echo -e "\t0.5 : Installation du serveur avec minetest-0.5.x. Suivez les instructions..."
|
echo -e "\t0.5 : Installation du serveur avec minetest-0.5.x. Suivez les instructions..."
|
||||||
echo -e "\t0.4 : Installation du serveur avec minetest-0.4.x. Suivez les instructions..."
|
echo -e "\t0.4 : Installation du serveur avec minetest-0.4.x. Suivez les instructions..."
|
||||||
@ -67,17 +67,17 @@ postgresql() {
|
|||||||
read -p "Indiquez le mot de passe : " pg_password
|
read -p "Indiquez le mot de passe : " pg_password
|
||||||
read -p "Indiquez le nom de la BDD à utiliser : " pg_dbname
|
read -p "Indiquez le nom de la BDD à utiliser : " pg_dbname
|
||||||
|
|
||||||
echo "gameid = minetest_game" > worldmt.conf
|
echo "gameid = minetest_game" > world.mt
|
||||||
echo "backend = postgresql" >> worldmt.conf
|
echo "backend = postgresql" >> world.mt
|
||||||
echo "player_backend = postgresql" >> worldmt.conf
|
echo "player_backend = postgresql" >> world.mt
|
||||||
echo "pgsql_connection = host=$pg_url user=$pg_user password=$pg_password dbname=$pg_dbname" >> worldmt.conf
|
echo "pgsql_connection = host=$pg_url user=$pg_user password=$pg_password dbname=$pg_dbname" >> world.mt
|
||||||
echo "pgsql_player_connection = host=$pg_url user=$pg_user password=$pg_password dbname=players-$pg_dbname" >> worldmt.conf
|
echo "pgsql_player_connection = host=$pg_url user=$pg_user password=$pg_password dbname=players-$pg_dbname" >> world.mt
|
||||||
}
|
}
|
||||||
|
|
||||||
install_0.4() {
|
install_0.4() {
|
||||||
if [[ -d server-0.4 ]]; then
|
if [[ -d server-0.4 ]]; then
|
||||||
echo "Installation précédente détecté. Voulez-vous faire la mise à jour ?"
|
echo "Installation précédente détecté. Voulez-vous faire la mise à jour ?"
|
||||||
read -p "Continuer ? (y or n) " continuer
|
read -p "Votre choix ? (y, n, clean) " continuer
|
||||||
if [[ $continuer == "y" ]]; then
|
if [[ $continuer == "y" ]]; then
|
||||||
cd server-0.4
|
cd server-0.4
|
||||||
git pull
|
git pull
|
||||||
@ -85,6 +85,14 @@ install_0.4() {
|
|||||||
git submodule update --remote --recursive
|
git submodule update --remote --recursive
|
||||||
verif
|
verif
|
||||||
cd ..
|
cd ..
|
||||||
|
elif [[ $continuer == "clean" ]]; then
|
||||||
|
rm -rf server-0.4
|
||||||
|
git clone https://github.com/sys4-fr/server-nalc.git server-0.4
|
||||||
|
verif
|
||||||
|
cd server-0.4
|
||||||
|
git submodule update --init --recursive
|
||||||
|
verif
|
||||||
|
cd ..
|
||||||
else
|
else
|
||||||
echo "Mise à jour annulé."
|
echo "Mise à jour annulé."
|
||||||
fi
|
fi
|
||||||
@ -128,11 +136,11 @@ install_minetest() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -d minetest ]]; then
|
if [[ ! -d minetest ]]; then
|
||||||
|
local branch="-b master"
|
||||||
if [[ $ver == "0.4" ]]; then
|
if [[ $ver == "0.4" ]]; then
|
||||||
git clone -b backport-0.4 https://github.com/minetest/minetest.git
|
branch="-b backport-0.4"
|
||||||
else
|
|
||||||
git clone $URL/minetest.git
|
|
||||||
fi
|
fi
|
||||||
|
git clone $branch $URL/minetest.git
|
||||||
verif
|
verif
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -146,7 +154,7 @@ install_minetest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_minetest_game() {
|
install_minetest_game() {
|
||||||
if [[ -d minetest_game && ! $ver == "0.4" ]]; then
|
if [[ -d minetest_game ]]; then
|
||||||
echo "Installation précédente du jeux Minetest détecté."
|
echo "Installation précédente du jeux Minetest détecté."
|
||||||
read -p "Mettre à jour ? (y,n,clean,cancel) " continue
|
read -p "Mettre à jour ? (y,n,clean,cancel) " continue
|
||||||
if [[ $continue == "y" ]]; then
|
if [[ $continue == "y" ]]; then
|
||||||
@ -172,21 +180,16 @@ install_minetest_game() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -d minetest_game ]]; then
|
if [[ ! -d minetest_game ]]; then
|
||||||
if [[ ! $ver == "0.4" ]]; then
|
local branch="-b master"
|
||||||
git clone $URL/minetest_game.git
|
if [[ $ver == "0.4" ]]; then
|
||||||
verif
|
branch="-b backport-0.4"
|
||||||
echo "Clonage de minetest_game terminé."
|
|
||||||
else
|
|
||||||
ln -s $(pwd)/server-0.4/minetest_game minetest_game
|
|
||||||
fi
|
fi
|
||||||
elif [[ $ver == "0.4" ]]; then
|
git clone $branch $URL/minetest_game.git
|
||||||
if [[ -a minetest_game ]]; then
|
verif
|
||||||
rm minetest_game
|
echo "Clonage de minetest_game terminé."
|
||||||
fi
|
|
||||||
ln -s $(pwd)/server-0.4/minetest_game minetest_game
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -a minetest/games/minetest_game ]]; then
|
if [[ ! -L minetest/games/minetest_game ]]; then
|
||||||
ln -s $(pwd)/minetest_game minetest/games/minetest_game
|
ln -s $(pwd)/minetest_game minetest/games/minetest_game
|
||||||
echo "Lien symbolique minetest/games/minetest_game vers $(pwd)/minetest_game créé."
|
echo "Lien symbolique minetest/games/minetest_game vers $(pwd)/minetest_game créé."
|
||||||
fi
|
fi
|
||||||
@ -218,20 +221,57 @@ install_world() {
|
|||||||
|
|
||||||
if [[ ! -d minetest/worlds/nalc ]]; then
|
if [[ ! -d minetest/worlds/nalc ]]; then
|
||||||
mkdir -p minetest/worlds/nalc
|
mkdir -p minetest/worlds/nalc
|
||||||
if [[ $ver == "0.4" ]]; then
|
if [[ -n $pg_dbname ]]; then
|
||||||
ln -s $(pwd)/server-0.4/worlds/minetestforfun/world.mt minetest/worlds/nalc/world.mt
|
createdb $pg_dbname
|
||||||
else
|
createdb players-$pg_dbname
|
||||||
ln -s $(pwd)/world.mt minetest/worlds/nalc/world.mt
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ln -s $(pwd)/world.mt minetest/worlds/nalc/world.mt
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_mods() {
|
install_mods() {
|
||||||
if [[ $ver == "0.4" ]]; then
|
if [[ $ver == "0.4" ]]; then
|
||||||
|
local i=0
|
||||||
|
local md[1]="" # Mods to disable
|
||||||
|
for mod in mysql_auth watershed mobs_old magicmithril obsidian eventobjects player_inactive random_messages irc irc_commands profilerdumper profnsched; do
|
||||||
|
i=$(( $i+1 ))
|
||||||
|
md[$i]=$mod
|
||||||
|
done
|
||||||
|
|
||||||
if [[ -d minetest/mods ]]; then
|
if [[ -d minetest/mods ]]; then
|
||||||
rm -rf minetest/mods
|
rm -rf minetest/mods
|
||||||
ln -s $(pwd)/server-0.4/mods minetest/mods
|
ln -s $(pwd)/server-0.4/mods minetest/mods
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -a world.mt && -z $pg_dbname ]]; then
|
||||||
|
rm world.mt
|
||||||
|
cp worldmt.conf world.mt
|
||||||
|
fi
|
||||||
|
|
||||||
|
ls server-0.4/mods | while read -r mod; do
|
||||||
|
if [[ -a server-0.4/mods/$mod/modpack.txt ]]; then
|
||||||
|
ls server-0.4/mods/$mod | while read -r submod; do
|
||||||
|
if [[ -d server-0.4/mods/$mod/$submod ]]; then
|
||||||
|
local mod_enable="true"
|
||||||
|
for (( modn=1; modn<=$i; modn++ )); do
|
||||||
|
if [[ ${md[$modn]} == $submod ]]; then
|
||||||
|
mod_enable="false"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "load_mod_$submod = $mod_enable" >> world.mt
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
local mod_enable="true"
|
||||||
|
for (( modn=1; modn<=$i; modn++ )); do
|
||||||
|
if [[ ${md[$modn]} == $mod ]]; then
|
||||||
|
mod_enable="false"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "load_mod_$mod = $mod_enable" >> world.mt
|
||||||
|
fi
|
||||||
|
done
|
||||||
else
|
else
|
||||||
if [[ -d nalc-server-mods ]]; then
|
if [[ -d nalc-server-mods ]]; then
|
||||||
echo "Le dossier de mods est déjà présent. Que souhaitez-vous faire ?"
|
echo "Le dossier de mods est déjà présent. Que souhaitez-vous faire ?"
|
||||||
@ -262,12 +302,11 @@ install_mods() {
|
|||||||
# Recréation des liens symboliques et du fichier world.mt (dans tous les cas)
|
# Recréation des liens symboliques et du fichier world.mt (dans tous les cas)
|
||||||
rm minetest/mods/*
|
rm minetest/mods/*
|
||||||
|
|
||||||
if [[ -a world.mt ]]; then
|
if [[ -a world.mt && -z $pg_dbname ]]; then
|
||||||
rm world.mt
|
rm world.mt
|
||||||
|
cp worldmt.conf world.mt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp worldmt.conf world.mt
|
|
||||||
|
|
||||||
if [[ -d custom/mods ]]; then
|
if [[ -d custom/mods ]]; then
|
||||||
ls custom/mods | while read -r mod; do
|
ls custom/mods | while read -r mod; do
|
||||||
if [[ -d custom/mods/$mod ]]; then
|
if [[ -d custom/mods/$mod ]]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user