Reindent with tabs
This commit is contained in:
parent
cfb302a00c
commit
035d34babd
@ -3,8 +3,12 @@
|
|||||||
|
|
||||||
((lua-mode
|
((lua-mode
|
||||||
(fill-column . 80)
|
(fill-column . 80)
|
||||||
(tab-width . 3)
|
(tab-width . 4)
|
||||||
(indent-tabs-mode . t)))
|
(indent-tabs-mode . t)))
|
||||||
|
|
||||||
|
((sh-mode
|
||||||
|
(fill-column . 80)
|
||||||
|
(tab-width . 4)
|
||||||
|
(indent-tabs-mode . t)))
|
||||||
|
|
||||||
|
|
||||||
|
12
backup.sh
12
backup.sh
@ -10,12 +10,12 @@ bak=$serverpath/backup
|
|||||||
world=$serverpath/minetest/worlds/$worldname
|
world=$serverpath/minetest/worlds/$worldname
|
||||||
|
|
||||||
if [[ ! -d $bak ]]; then
|
if [[ ! -d $bak ]]; then
|
||||||
mkdir -p $bak
|
mkdir -p $bak
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bak_tmp=/var/tmp/$servername
|
bak_tmp=/var/tmp/$servername
|
||||||
if [[ ! -d $bak_tmp ]]; then
|
if [[ ! -d $bak_tmp ]]; then
|
||||||
mkdir $bak_tmp
|
mkdir $bak_tmp
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp $serverpath/minetest/minetest.conf $bak/
|
cp $serverpath/minetest/minetest.conf $bak/
|
||||||
@ -39,9 +39,9 @@ log_dir=$serverpath/logs
|
|||||||
[[ ! -d $log_dir ]] && mkdir $log_dir
|
[[ ! -d $log_dir ]] && mkdir $log_dir
|
||||||
pushd $log_dir
|
pushd $log_dir
|
||||||
if [[ -f moredebug.log ]]; then
|
if [[ -f moredebug.log ]]; then
|
||||||
d=$(date +%Y-%m-%d.%H.%M.%S)
|
d=$(date +%Y-%m-%d.%H.%M.%S)
|
||||||
mv moredebug.log moredebug_$d.log
|
mv moredebug.log moredebug_$d.log
|
||||||
bzip2 moredebug_$d.log
|
bzip2 moredebug_$d.log
|
||||||
tar --label=LOGS-$servername -rf moredebug-logs.tar --remove-files moredebug*.log.bz2
|
tar --label=LOGS-$servername -rf moredebug-logs.tar --remove-files moredebug*.log.bz2
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
|
116
genmap.sh
116
genmap.sh
@ -5,75 +5,75 @@
|
|||||||
# Script pour automatiser la création de la carte de nalc
|
# Script pour automatiser la création de la carte de nalc
|
||||||
|
|
||||||
strip() {
|
strip() {
|
||||||
echo "$1" | cut -d \' -f 2
|
echo "$1" | cut -d \' -f 2
|
||||||
}
|
}
|
||||||
|
|
||||||
verif() {
|
verif() {
|
||||||
if [ $? -gt 0 ]; then
|
if [ $? -gt 0 ]; then
|
||||||
echo "Erreur ! Arrêt du script."
|
echo "Erreur ! Arrêt du script."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
error() {
|
error() {
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
echo "ERREUR : $1 !"
|
echo "ERREUR : $1 !"
|
||||||
else
|
else
|
||||||
echo "ERREUR : paramètres invalides !" >&2
|
echo "ERREUR : paramètres invalides !" >&2
|
||||||
echo "utilisez l'option -h pour en savoir plus" >&2
|
echo "utilisez l'option -h pour en savoir plus" >&2
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage : ./genmap.sh [-h|--help] server_path worldname destination_path"
|
echo "Usage : ./genmap.sh [-h|--help] server_path worldname destination_path"
|
||||||
echo "Génère la carte de nalc vers le fichier destination_path/nalc_map.png"
|
echo "Génère la carte de nalc vers le fichier destination_path/nalc_map.png"
|
||||||
}
|
}
|
||||||
|
|
||||||
action() {
|
action() {
|
||||||
[ -z "$1" ] && error "Argument manquant"
|
[ -z "$1" ] && error "Argument manquant"
|
||||||
local serverpath=$(strip "$1")
|
local serverpath=$(strip "$1")
|
||||||
[ ! -d "$serverpath" ] && error "Le répertoire $serverpath n'existe pas"
|
[ ! -d "$serverpath" ] && error "Le répertoire $serverpath n'existe pas"
|
||||||
|
|
||||||
[ -z "$2" ] && error "Nom du world manquant"
|
[ -z "$2" ] && error "Nom du world manquant"
|
||||||
local world_name=$(strip "$2")
|
local world_name=$(strip "$2")
|
||||||
|
|
||||||
local world="$serverpath/minetest/worlds/$world_name"
|
local world="$serverpath/minetest/worlds/$world_name"
|
||||||
[ ! -d "$world" ] && error "Le répertoire $world n'existe pas"
|
[ ! -d "$world" ] && error "Le répertoire $world n'existe pas"
|
||||||
|
|
||||||
[ -z "$3" ] && error "Chemin de destination manquant"
|
[ -z "$3" ] && error "Chemin de destination manquant"
|
||||||
local destination=$(strip "$3")
|
local destination=$(strip "$3")
|
||||||
[ ! -d "$destination" ] && error "Le répertoire $destination n'existe pas"
|
[ ! -d "$destination" ] && error "Le répertoire $destination n'existe pas"
|
||||||
|
|
||||||
[ ! -d "$serverpath/minetestmapper" ] && error "minetestmapper ne semble pas installé"
|
[ ! -d "$serverpath/minetestmapper" ] && error "minetestmapper ne semble pas installé"
|
||||||
[ ! -d "$serverpath/leaftest" ] && error "leaftest ne semble pas installé"
|
[ ! -d "$serverpath/leaftest" ] && error "leaftest ne semble pas installé"
|
||||||
[ ! -e "$serverpath/colors.txt" ] && error "$serverpath/colors.txt manquant"
|
[ ! -e "$serverpath/colors.txt" ] && error "$serverpath/colors.txt manquant"
|
||||||
|
|
||||||
# Copie du dossier leaftest vers /tmp puis on l'exécute de là
|
# Copie du dossier leaftest vers /tmp puis on l'exécute de là
|
||||||
local config="$serverpath/minetest/minetest.conf"
|
local config="$serverpath/minetest/minetest.conf"
|
||||||
local workdir=$(mktemp -d "/tmp/minetest-mapper.XXXXXXXXX")
|
local workdir=$(mktemp -d "/tmp/minetest-mapper.XXXXXXXXX")
|
||||||
local spawn=$(grep "^static_spawnpoint" "$config" | tr -d " " | cut -f 2 -d "=");
|
local spawn=$(grep "^static_spawnpoint" "$config" | tr -d " " | cut -f 2 -d "=");
|
||||||
local spawnx=$(cut -f 1 -d "," <<<$spawn)
|
local spawnx=$(cut -f 1 -d "," <<<$spawn)
|
||||||
local spawnz=$(cut -f 3 -d "," <<<$spawn)
|
local spawnz=$(cut -f 3 -d "," <<<$spawn)
|
||||||
local mapsize=12288
|
local mapsize=12288
|
||||||
|
|
||||||
cp -a "$serverpath/leaftest" $workdir
|
cp -a "$serverpath/leaftest" $workdir
|
||||||
cp "$serverpath/colors.txt" $workdir/leaftest
|
cp "$serverpath/colors.txt" $workdir/leaftest
|
||||||
|
|
||||||
pushd $workdir/leaftest
|
pushd $workdir/leaftest
|
||||||
|
|
||||||
MAPPERDIR="$serverpath/minetestmapper" \
|
MAPPERDIR="$serverpath/minetestmapper" \
|
||||||
MAPPERPARAMS="--colors $serverpath/colors.txt \
|
MAPPERPARAMS="--colors $serverpath/colors.txt \
|
||||||
--min-y -25 --max-y 300" \
|
--min-y -25 --max-y 300" \
|
||||||
JOBNUM=$(nproc) \
|
JOBNUM=$(nproc) \
|
||||||
$workdir/leaftest/mapper.sh "$world" $spawnx,$spawnz $mapsize
|
$workdir/leaftest/mapper.sh "$world" $spawnx,$spawnz $mapsize
|
||||||
|
|
||||||
# Copie de leaftest vers le dossier web distant normalement déjà monté
|
# Copie de leaftest vers le dossier web distant normalement déjà monté
|
||||||
rm -rf "$destination/$world_name"
|
rm -rf "$destination/$world_name"
|
||||||
cp -rL $workdir/leaftest/www "$destination/$world_name"
|
cp -rL $workdir/leaftest/www "$destination/$world_name"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
rm -rf $workdir
|
rm -rf $workdir
|
||||||
}
|
}
|
||||||
|
|
||||||
# Pas de paramètre
|
# Pas de paramètre
|
||||||
@ -87,17 +87,17 @@ options=$(getopt -o h -l help -- "$@")
|
|||||||
set -- $options
|
set -- $options
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage
|
usage
|
||||||
exit 0;;
|
exit 0;;
|
||||||
--)
|
--)
|
||||||
shift;;
|
shift;;
|
||||||
*)
|
*)
|
||||||
action $1 $2 $3
|
action $1 $2 $3
|
||||||
exit 0
|
exit 0
|
||||||
shift;;
|
shift;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
836
install.sh
836
install.sh
@ -3,436 +3,436 @@
|
|||||||
# License: GPLv3
|
# License: GPLv3
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: ./install_nalc.sh [options] [--] [destination]"
|
echo "Usage: ./install_nalc.sh [options] [--] [destination]"
|
||||||
echo
|
echo
|
||||||
echo "Description:"
|
echo "Description:"
|
||||||
echo -e "\tDownload and install the files needed by the NALC server to the"
|
echo -e "\tDownload and install the files needed by the NALC server to the"
|
||||||
echo -e "\toptional [destination] folder. Otherwise the current directory"
|
echo -e "\toptional [destination] folder. Otherwise the current directory"
|
||||||
echo -e "\twill be used."
|
echo -e "\twill be used."
|
||||||
echo
|
echo
|
||||||
echo -e "\tBut, be carefull!"
|
echo -e "\tBut, be carefull!"
|
||||||
echo -e "\tBy default the ~/.minetest dir will also be used and modified."
|
echo -e "\tBy default the ~/.minetest dir will also be used and modified."
|
||||||
echo -e "\tSo, make a backup of your ~/.minetest directory before the"
|
echo -e "\tSo, make a backup of your ~/.minetest directory before the"
|
||||||
echo -e "\tinstallation of this server or specify a new directory with the"
|
echo -e "\tinstallation of this server or specify a new directory with the"
|
||||||
echo -e "\t --minetest-dir or -d option."
|
echo -e "\t --minetest-dir or -d option."
|
||||||
echo
|
echo
|
||||||
echo "Requirements:"
|
echo "Requirements:"
|
||||||
echo -e "\t- Official Minetest server must be already installed on your system."
|
echo -e "\t- Official Minetest server must be already installed on your system."
|
||||||
echo -e "\tIf it is not the case, please refers to the https://minetest.net"
|
echo -e "\tIf it is not the case, please refers to the https://minetest.net"
|
||||||
echo -e "\twebsite for the installation instructions."
|
echo -e "\twebsite for the installation instructions."
|
||||||
echo -e "\t- You'll also need git, cmake, make."
|
echo -e "\t- You'll also need git, cmake, make."
|
||||||
echo
|
echo
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo -e "\t-h --help\t This help."
|
echo -e "\t-h --help\t This help."
|
||||||
echo -e "\t-b --minetest-bin <path> Minetest server executable path."
|
echo -e "\t-b --minetest-bin <path> Minetest server executable path."
|
||||||
echo -e "\t-d --minetest-dir <dir> Minetest directory to use for installing nalc mods, nalc game, minetest.conf…"
|
echo -e "\t-d --minetest-dir <dir> Minetest directory to use for installing nalc mods, nalc game, minetest.conf…"
|
||||||
echo -e "\t-m --map-backend <sqlite3|leveldb|redis|postgresql|dummy>"
|
echo -e "\t-m --map-backend <sqlite3|leveldb|redis|postgresql|dummy>"
|
||||||
echo -e "\t-p --player-backend <sqlite3|leveldb|postgresql|dummy|files>"
|
echo -e "\t-p --player-backend <sqlite3|leveldb|postgresql|dummy|files>"
|
||||||
echo -e "\t-a --auth-backend <sqlite3|leveldb|postgresql|files>"
|
echo -e "\t-a --auth-backend <sqlite3|leveldb|postgresql|files>"
|
||||||
echo -e "\t-s --mod-storage-backend <sqlite3|files|dummy>"
|
echo -e "\t-s --mod-storage-backend <sqlite3|files|dummy>"
|
||||||
echo -e "\t-M --minetest-mapper Install with minetest mapper support."
|
echo -e "\t-M --minetest-mapper Install with minetest mapper support."
|
||||||
echo -e "\t-w --world <name> Custom world name."
|
echo -e "\t-w --world <name> Custom world name."
|
||||||
echo -e "\t-P --port <port> Custom server port number."
|
echo -e "\t-P --port <port> Custom server port number."
|
||||||
echo -e "\t--url <URL> Custom remote URL."
|
echo -e "\t--url <URL> Custom remote URL."
|
||||||
echo -e "\t--branch <stable|dev> Choose the version to install (stable by default)"
|
echo -e "\t--branch <stable|dev> Choose the version to install (stable by default)"
|
||||||
echo
|
echo
|
||||||
echo "License: GPLv3. Please read the LICENSE file."
|
echo "License: GPLv3. Please read the LICENSE file."
|
||||||
echo "Author: Sys4 - https://sys4.fr#contact"
|
echo "Author: Sys4 - https://sys4.fr#contact"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
strip() {
|
strip() {
|
||||||
echo $1 | cut -d \' -f 2
|
echo $1 | cut -d \' -f 2
|
||||||
}
|
}
|
||||||
|
|
||||||
verif() {
|
verif() {
|
||||||
if [[ $? -gt 0 ]]; then
|
if [[ $? -gt 0 ]]; then
|
||||||
echo "Error! Exit."
|
echo "Error! Exit."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
error() {
|
error() {
|
||||||
if [[ -n $1 ]]; then
|
if [[ -n $1 ]]; then
|
||||||
echo "ERROR: $1"! >&2
|
echo "ERROR: $1"! >&2
|
||||||
else
|
else
|
||||||
echo "ERROR: Invalid option!" >&2
|
echo "ERROR: Invalid option!" >&2
|
||||||
echo "Use -h option for help." >&2
|
echo "Use -h option for help." >&2
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
save_conf() {
|
save_conf() {
|
||||||
local conf="$1"
|
local conf="$1"
|
||||||
echo "MINETEST_BIN=$MINETEST_BIN" > "$conf"
|
echo "MINETEST_BIN=$MINETEST_BIN" > "$conf"
|
||||||
echo "MINETEST_DIR=$MINETEST_DIR" >> "$conf"
|
echo "MINETEST_DIR=$MINETEST_DIR" >> "$conf"
|
||||||
echo "MAP_BACKEND=$MAP_BACKEND" >> "$conf"
|
echo "MAP_BACKEND=$MAP_BACKEND" >> "$conf"
|
||||||
echo "PLAYER_BACKEND=$PLAYER_BACKEND" >> "$conf"
|
echo "PLAYER_BACKEND=$PLAYER_BACKEND" >> "$conf"
|
||||||
echo "AUTH_BACKEND=$AUTH_BACKEND" >> "$conf"
|
echo "AUTH_BACKEND=$AUTH_BACKEND" >> "$conf"
|
||||||
echo "MOD_STORAGE_BACKEND=$MOD_STORAGE_BACKEND" >> "$conf"
|
echo "MOD_STORAGE_BACKEND=$MOD_STORAGE_BACKEND" >> "$conf"
|
||||||
echo "MINETEST_MAPPER=$MINETEST_MAPPER" >> "$conf"
|
echo "MINETEST_MAPPER=$MINETEST_MAPPER" >> "$conf"
|
||||||
echo "URL=$URL" >> "$conf"
|
echo "URL=$URL" >> "$conf"
|
||||||
echo "BRANCH=$BRANCH" >> "$conf"
|
echo "BRANCH=$BRANCH" >> "$conf"
|
||||||
echo "WORLD_NAME=$WORLD_NAME" >> "$conf"
|
echo "WORLD_NAME=$WORLD_NAME" >> "$conf"
|
||||||
echo "PORT=$PORT" >> "$conf"
|
echo "PORT=$PORT" >> "$conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
load_conf() {
|
load_conf() {
|
||||||
. "$1"
|
. "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
install_game() {
|
install_game() {
|
||||||
local game_dir="$MINETEST_DIR/games/nalc_game"
|
local game_dir="$MINETEST_DIR/games/nalc_game"
|
||||||
if [ -d "$game_dir" ]; then
|
if [ -d "$game_dir" ]; then
|
||||||
echo "Previous installation of NALC game detected."
|
echo "Previous installation of NALC game detected."
|
||||||
read -p "Upgrade? ([Y]es/[n]o/clean/[c]ancel) " continue
|
read -p "Upgrade? ([Y]es/[n]o/clean/[c]ancel) " continue
|
||||||
case "$continue" in
|
case "$continue" in
|
||||||
[yY][eE][sS]|[yY]|"")
|
[yY][eE][sS]|[yY]|"")
|
||||||
echo "Upgrading…"
|
echo "Upgrading…"
|
||||||
pushd "$game_dir"
|
pushd "$game_dir"
|
||||||
git pull
|
git pull
|
||||||
verif
|
verif
|
||||||
popd;;
|
popd;;
|
||||||
[cC][lL][eE][aA][nN])
|
[cC][lL][eE][aA][nN])
|
||||||
echo "Cleaning…"
|
echo "Cleaning…"
|
||||||
rm -rf "$game_dir"
|
rm -rf "$game_dir"
|
||||||
verif;;
|
verif;;
|
||||||
[cC][aA][nN][cC][eE][lL]|[cC])
|
[cC][aA][nN][cC][eE][lL]|[cC])
|
||||||
echo "Upgrade cancelled."
|
echo "Upgrade cancelled."
|
||||||
exit 0;;
|
exit 0;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ ! -d "$game_dir" ]; then
|
if [ ! -d "$game_dir" ]; then
|
||||||
local git_branch
|
local git_branch
|
||||||
local depth
|
local depth
|
||||||
case $BRANCH in
|
case $BRANCH in
|
||||||
"stable")
|
"stable")
|
||||||
git_branch="-b master"
|
git_branch="-b master"
|
||||||
depth="--depth 1"
|
depth="--depth 1"
|
||||||
;;
|
;;
|
||||||
"dev")
|
"dev")
|
||||||
git_branch="-b dev"
|
git_branch="-b dev"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[ -z "$git_branch" ] && error "Invalid branch"
|
[ -z "$git_branch" ] && error "Invalid branch"
|
||||||
|
|
||||||
echo "Cloning $URL""nalc/nalc_game.git to $game_dir…"
|
echo "Cloning $URL""nalc/nalc_game.git to $game_dir…"
|
||||||
mkdir -p "$MINETEST_DIR/games"
|
mkdir -p "$MINETEST_DIR/games"
|
||||||
verif
|
verif
|
||||||
git clone $depth $git_branch $URL"nalc/nalc_game.git" "$game_dir"
|
git clone $depth $git_branch $URL"nalc/nalc_game.git" "$game_dir"
|
||||||
verif
|
verif
|
||||||
fi
|
fi
|
||||||
echo "NALC game installed/upgraded."
|
echo "NALC game installed/upgraded."
|
||||||
}
|
}
|
||||||
|
|
||||||
install_mods() {
|
install_mods() {
|
||||||
local mods_dir="$MINETEST_DIR/mods"
|
local mods_dir="$MINETEST_DIR/mods"
|
||||||
if [ -d "$mods_dir" ]; then
|
if [ -d "$mods_dir" ]; then
|
||||||
echo "Mods directory is not empty."
|
echo "Mods directory is not empty."
|
||||||
read -p "Upgrade? ([Y]es/[n]o/clean/[c]ancel) " continue
|
read -p "Upgrade? ([Y]es/[n]o/clean/[c]ancel) " continue
|
||||||
case "$continue" in
|
case "$continue" in
|
||||||
[yY][eE][sS]|[yY]|"")
|
[yY][eE][sS]|[yY]|"")
|
||||||
echo "Upgrading…"
|
echo "Upgrading…"
|
||||||
"$SCRIPT_DIR"/upgrade.sh -m -s "$DESTINATION"
|
"$SCRIPT_DIR"/upgrade.sh -m -s "$DESTINATION"
|
||||||
verif
|
verif
|
||||||
;;
|
;;
|
||||||
[cC][lL][eE][aA][nN])
|
[cC][lL][eE][aA][nN])
|
||||||
echo "Cleaning…"
|
echo "Cleaning…"
|
||||||
rm -rf "$mods_dir"
|
rm -rf "$mods_dir"
|
||||||
verif
|
verif
|
||||||
;;
|
;;
|
||||||
[cC][aA][nN][cC][eE][lL]|[cC])
|
[cC][aA][nN][cC][eE][lL]|[cC])
|
||||||
echo "Upgrade cancelled."
|
echo "Upgrade cancelled."
|
||||||
exit 0;;
|
exit 0;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ ! -d "$mods_dir" ]; then
|
if [ ! -d "$mods_dir" ]; then
|
||||||
local git_branch
|
local git_branch
|
||||||
local depth
|
local depth
|
||||||
case $BRANCH in
|
case $BRANCH in
|
||||||
"stable")
|
"stable")
|
||||||
git_branch="-b master"
|
git_branch="-b master"
|
||||||
depth="--depth 1"
|
depth="--depth 1"
|
||||||
;;
|
;;
|
||||||
"dev")
|
"dev")
|
||||||
git_branch="-b dev"
|
git_branch="-b dev"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[ -z $git_branch ] && error "Invalid branch"
|
[ -z $git_branch ] && error "Invalid branch"
|
||||||
|
|
||||||
echo "Cloning $URL/nalc-server-mods.git to $mods_dir…"
|
echo "Cloning $URL/nalc-server-mods.git to $mods_dir…"
|
||||||
git clone $depth $git_branch $URL"nalc/nalc-server-mods.git" "$mods_dir"
|
git clone $depth $git_branch $URL"nalc/nalc-server-mods.git" "$mods_dir"
|
||||||
verif
|
verif
|
||||||
pushd "$mods_dir"
|
pushd "$mods_dir"
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
verif
|
verif
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
echo "Mods for NALC installed/upgraded."
|
echo "Mods for NALC installed/upgraded."
|
||||||
}
|
}
|
||||||
|
|
||||||
install_world() {
|
install_world() {
|
||||||
local world_dir="$MINETEST_DIR/worlds/$WORLD_NAME"
|
local world_dir="$MINETEST_DIR/worlds/$WORLD_NAME"
|
||||||
if [ -d "$world_dir" ]; then
|
if [ -d "$world_dir" ]; then
|
||||||
echo "World $WORLD_NAME already exist."
|
echo "World $WORLD_NAME already exist."
|
||||||
read -p "Upgrade $WORLD_NAME? ([Y]es/[n]o/[c]lean) " continue
|
read -p "Upgrade $WORLD_NAME? ([Y]es/[n]o/[c]lean) " continue
|
||||||
case "$continue" in
|
case "$continue" in
|
||||||
[yY][eE][sS]|[yY]|"")
|
[yY][eE][sS]|[yY]|"")
|
||||||
echo "Upgrading…"
|
echo "Upgrading…"
|
||||||
[ -d "$world_dir"_old ] && rm -rf "$world_dir"_old
|
[ -d "$world_dir"_old ] && rm -rf "$world_dir"_old
|
||||||
cp -r "$world_dir" "$world_dir"_old
|
cp -r "$world_dir" "$world_dir"_old
|
||||||
verif
|
verif
|
||||||
;;
|
;;
|
||||||
[cC][lL][eE][aA][nN]|[cC])
|
[cC][lL][eE][aA][nN]|[cC])
|
||||||
echo "Cleaning…"
|
echo "Cleaning…"
|
||||||
[ -d "$world_dir"_old ] && rm -rf "$world_dir"_old
|
[ -d "$world_dir"_old ] && rm -rf "$world_dir"_old
|
||||||
mv "$world_dir" "$world_dir"_old
|
mv "$world_dir" "$world_dir"_old
|
||||||
verif
|
verif
|
||||||
;;
|
;;
|
||||||
[nN][oO]|[nN])
|
[nN][oO]|[nN])
|
||||||
echo "Skiping…"
|
echo "Skiping…"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
if [ ! -d "$world_dir" ]; then
|
if [ ! -d "$world_dir" ]; then
|
||||||
mkdir -p "$world_dir/runes"
|
mkdir -p "$world_dir/runes"
|
||||||
verif
|
verif
|
||||||
|
|
||||||
local mt=$world_dir/world.mt
|
local mt=$world_dir/world.mt
|
||||||
echo "Generating $mt""…"
|
echo "Generating $mt""…"
|
||||||
|
|
||||||
echo "gameid = nalc_game" > $mt
|
echo "gameid = nalc_game" > $mt
|
||||||
echo "enable_damage = true" >> $mt
|
echo "enable_damage = true" >> $mt
|
||||||
echo "creative_mod = false" >> $mt
|
echo "creative_mod = false" >> $mt
|
||||||
case $MAP_BACKEND in
|
case $MAP_BACKEND in
|
||||||
"sqlite3"|"")
|
"sqlite3"|"")
|
||||||
echo "backend = sqlite3" >> $mt
|
echo "backend = sqlite3" >> $mt
|
||||||
;;
|
;;
|
||||||
"leveldb")
|
"leveldb")
|
||||||
echo "backend = leveldb" >> $mt
|
echo "backend = leveldb" >> $mt
|
||||||
;;
|
;;
|
||||||
"redis")
|
"redis")
|
||||||
echo "backend = redis" >> $mt
|
echo "backend = redis" >> $mt
|
||||||
read -p "redis_address? " val
|
read -p "redis_address? " val
|
||||||
echo "redis_address = $val" >> $mt
|
echo "redis_address = $val" >> $mt
|
||||||
read -p "redis_hash? " val
|
read -p "redis_hash? " val
|
||||||
echo "redis_hash = $val" >> $mt
|
echo "redis_hash = $val" >> $mt
|
||||||
read -p "redis_port? (6379) " val
|
read -p "redis_port? (6379) " val
|
||||||
[ -z $val ] && val=6379
|
[ -z $val ] && val=6379
|
||||||
echo "redis_port = $val" >> $mt
|
echo "redis_port = $val" >> $mt
|
||||||
;;
|
;;
|
||||||
"postgresql")
|
"postgresql")
|
||||||
echo "backend = postgresql" >> $mt
|
echo "backend = postgresql" >> $mt
|
||||||
read -p "DB address? " val
|
read -p "DB address? " val
|
||||||
read -p "DB user? " val2
|
read -p "DB user? " val2
|
||||||
read -p "DB password? " val3
|
read -p "DB password? " val3
|
||||||
read -p "DB name? " val4
|
read -p "DB name? " val4
|
||||||
read -p "DB port? (5432) " val5
|
read -p "DB port? (5432) " val5
|
||||||
[ -z $val5 ] && val5=5432
|
[ -z $val5 ] && val5=5432
|
||||||
echo "pgsql_connection = host=$val port=$val5 user=$val2 password=$val3 dbname=$val4" >> $mt
|
echo "pgsql_connection = host=$val port=$val5 user=$val2 password=$val3 dbname=$val4" >> $mt
|
||||||
;;
|
;;
|
||||||
"dummy")
|
"dummy")
|
||||||
echo "backend = dummy" >> $mt
|
echo "backend = dummy" >> $mt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
error "$MAP_BACKEND is not valid";;
|
error "$MAP_BACKEND is not valid";;
|
||||||
esac
|
esac
|
||||||
case $PLAYER_BACKEND in
|
case $PLAYER_BACKEND in
|
||||||
"sqlite3"|"")
|
"sqlite3"|"")
|
||||||
echo "player_backend = sqlite3" >> $mt
|
echo "player_backend = sqlite3" >> $mt
|
||||||
;;
|
;;
|
||||||
"leveldb")
|
"leveldb")
|
||||||
echo "player_backend = leveldb" >> $mt
|
echo "player_backend = leveldb" >> $mt
|
||||||
;;
|
;;
|
||||||
"postgresql")
|
"postgresql")
|
||||||
echo "player_backend = postgresql" >> $mt
|
echo "player_backend = postgresql" >> $mt
|
||||||
read -p "DB address? ($val) " vval
|
read -p "DB address? ($val) " vval
|
||||||
read -p "DB user? ($val2) " vval2
|
read -p "DB user? ($val2) " vval2
|
||||||
read -p "DB password? ($val3) " vval3
|
read -p "DB password? ($val3) " vval3
|
||||||
read -p "DB name? (players-$val4) " vval4
|
read -p "DB name? (players-$val4) " vval4
|
||||||
read -p "DB port? ($val5) " vval5
|
read -p "DB port? ($val5) " vval5
|
||||||
[ -z $vval ] && vval=$val
|
[ -z $vval ] && vval=$val
|
||||||
[ -z $vval2 ] && vval2=$val2
|
[ -z $vval2 ] && vval2=$val2
|
||||||
[ -z $vval3 ] && vval3=$val3
|
[ -z $vval3 ] && vval3=$val3
|
||||||
[ -z $vval4 ] && vval4="players-$val4"
|
[ -z $vval4 ] && vval4="players-$val4"
|
||||||
[ -z $vval5 ] && vval5=$val5
|
[ -z $vval5 ] && vval5=$val5
|
||||||
echo "pgsql_player_connection = host=$vval port=$vval5 user=$vval2 password=$vval3 dbname=$vval4" >> $mt
|
echo "pgsql_player_connection = host=$vval port=$vval5 user=$vval2 password=$vval3 dbname=$vval4" >> $mt
|
||||||
;;
|
;;
|
||||||
"dummy")
|
"dummy")
|
||||||
echo "player_backend = dummy" >> $mt
|
echo "player_backend = dummy" >> $mt
|
||||||
;;
|
;;
|
||||||
"files")
|
"files")
|
||||||
echo "player_backend = files" >> $mt
|
echo "player_backend = files" >> $mt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
error "$PLAYER_BACKEND is not valid";;
|
error "$PLAYER_BACKEND is not valid";;
|
||||||
esac
|
esac
|
||||||
case $AUTH_BACKEND in
|
case $AUTH_BACKEND in
|
||||||
"sqlite3"|"")
|
"sqlite3"|"")
|
||||||
echo "auth_backend = sqlite3" >> $mt
|
echo "auth_backend = sqlite3" >> $mt
|
||||||
;;
|
;;
|
||||||
"leveldb")
|
"leveldb")
|
||||||
echo "auth_backend = leveldb" >> $mt
|
echo "auth_backend = leveldb" >> $mt
|
||||||
;;
|
;;
|
||||||
"postgresql")
|
"postgresql")
|
||||||
echo "auth_backend = postgresql" >> $mt
|
echo "auth_backend = postgresql" >> $mt
|
||||||
read -p "DB address? ($val) " vval
|
read -p "DB address? ($val) " vval
|
||||||
read -p "DB user? ($val2) " vval2
|
read -p "DB user? ($val2) " vval2
|
||||||
read -p "DB password? ($val3) " vval3
|
read -p "DB password? ($val3) " vval3
|
||||||
read -p "DB name? (auth-$val4) " vval4
|
read -p "DB name? (auth-$val4) " vval4
|
||||||
read -p "DB port? ($val5) " vval5
|
read -p "DB port? ($val5) " vval5
|
||||||
[ -z $vval ] && vval=$val
|
[ -z $vval ] && vval=$val
|
||||||
[ -z $vval2 ] && vval2=$val2
|
[ -z $vval2 ] && vval2=$val2
|
||||||
[ -z $vval3 ] && vval3=$val3
|
[ -z $vval3 ] && vval3=$val3
|
||||||
[ -z $vval4 ] && vval4="auth-$val4"
|
[ -z $vval4 ] && vval4="auth-$val4"
|
||||||
[ -z $vval5 ] && vval5=$val5
|
[ -z $vval5 ] && vval5=$val5
|
||||||
echo "pgsql_auth_connection = host=$vval port=$vval5 user=$vval2 password=$vval3 dbname=$vval4" >> $mt
|
echo "pgsql_auth_connection = host=$vval port=$vval5 user=$vval2 password=$vval3 dbname=$vval4" >> $mt
|
||||||
;;
|
;;
|
||||||
"files")
|
"files")
|
||||||
echo "auth_backend = files" >> $mt
|
echo "auth_backend = files" >> $mt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
error "$AUTH_BACKEND is not valid";;
|
error "$AUTH_BACKEND is not valid";;
|
||||||
esac
|
esac
|
||||||
case $MOD_STORAGE_BACKEND in
|
case $MOD_STORAGE_BACKEND in
|
||||||
"sqlite3"|"")
|
"sqlite3"|"")
|
||||||
echo "mod_storage_backend = sqlite3" >> $mt
|
echo "mod_storage_backend = sqlite3" >> $mt
|
||||||
;;
|
;;
|
||||||
"files")
|
"files")
|
||||||
echo "mod_storage_backend = files" >> $mt
|
echo "mod_storage_backend = files" >> $mt
|
||||||
;;
|
;;
|
||||||
"dummy")
|
"dummy")
|
||||||
echo "mod_storage_backend = dummy" >> $mt
|
echo "mod_storage_backend = dummy" >> $mt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
error "$MOD_STORAGE_BACKEND is not valid";;
|
error "$MOD_STORAGE_BACKEND is not valid";;
|
||||||
esac
|
esac
|
||||||
read -p "Server announce? (y/N) " val
|
read -p "Server announce? (y/N) " val
|
||||||
if [[ $val =~ [yY][eE][sS]|[yY] ]]; then
|
if [[ $val =~ [yY][eE][sS]|[yY] ]]; then
|
||||||
echo "server_announce = true" >> $mt
|
echo "server_announce = true" >> $mt
|
||||||
else
|
else
|
||||||
echo "server_announce = false" >> $mt
|
echo "server_announce = false" >> $mt
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_mtmapper() {
|
install_mtmapper() {
|
||||||
if [ ! -d "$DESTINATION/minetestmapper" ]; then
|
if [ ! -d "$DESTINATION/minetestmapper" ]; then
|
||||||
echo "Clone Minetest mapper…"
|
echo "Clone Minetest mapper…"
|
||||||
git clone --depth 1 $URL"/minetest/minetestmapper.git" "$DESTINATION/minetestmapper"
|
git clone --depth 1 $URL"/minetest/minetestmapper.git" "$DESTINATION/minetestmapper"
|
||||||
verif
|
verif
|
||||||
else
|
else
|
||||||
echo "Upgrading Minetest mapper…"
|
echo "Upgrading Minetest mapper…"
|
||||||
|
pushd "$DESTINATION/minetestmapper"
|
||||||
|
git pull
|
||||||
|
verif
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
pushd "$DESTINATION/minetestmapper"
|
pushd "$DESTINATION/minetestmapper"
|
||||||
git pull
|
cmake .
|
||||||
|
[ $? -eq 1 ] && error "CMake failed. Check dependencies"
|
||||||
|
make -j$(nproc)
|
||||||
verif
|
verif
|
||||||
popd
|
popd
|
||||||
fi
|
|
||||||
|
|
||||||
pushd "$DESTINATION/minetestmapper"
|
if [ ! -d "$DESTINATION/leaftest" ]; then
|
||||||
cmake .
|
echo "Installing leaftest…"
|
||||||
[ $? -eq 1 ] && error "CMake failed. Check dependencies"
|
git clone --recursive --depth 1 $URL"nalc/leaftest.git" "$DESTINATION/leaftest"
|
||||||
make -j$(nproc)
|
verif
|
||||||
verif
|
else
|
||||||
popd
|
echo "Upgrading leaftest…"
|
||||||
|
pushd "$DESTINATION/leaftest"
|
||||||
if [ ! -d "$DESTINATION/leaftest" ]; then
|
git pull
|
||||||
echo "Installing leaftest…"
|
verif
|
||||||
git clone --recursive --depth 1 $URL"nalc/leaftest.git" "$DESTINATION/leaftest"
|
popd
|
||||||
verif
|
fi
|
||||||
else
|
|
||||||
echo "Upgrading leaftest…"
|
|
||||||
pushd "$DESTINATION/leaftest"
|
|
||||||
git pull
|
|
||||||
verif
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
if [[ "$DESTINATION" != "$SCRIPT_DIR" ]]; then
|
if [[ "$DESTINATION" != "$SCRIPT_DIR" ]]; then
|
||||||
cp "$SCRIPT_DIR/mods_disabled.txt" "$DESTINATION"
|
cp "$SCRIPT_DIR/mods_disabled.txt" "$DESTINATION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
"$SCRIPT_DIR"/upgrade.sh -w $WORLD_NAME -b $BRANCH -s "$DESTINATION"
|
"$SCRIPT_DIR"/upgrade.sh -w $WORLD_NAME -b $BRANCH -s "$DESTINATION"
|
||||||
"$SCRIPT_DIR"/upgrade.sh -w $WORLD_NAME -b $BRANCH -f mtconf -s "$DESTINATION"
|
"$SCRIPT_DIR"/upgrade.sh -w $WORLD_NAME -b $BRANCH -f mtconf -s "$DESTINATION"
|
||||||
|
|
||||||
echo "Please, review and edit the following files:"
|
echo "Please, review and edit the following files:"
|
||||||
echo -e "\t- $MINETEST_DIR/minetest.conf"
|
echo -e "\t- $MINETEST_DIR/minetest.conf"
|
||||||
echo -e "\t- $DESTINATION/mods_disabled.txt"
|
echo -e "\t- $DESTINATION/mods_disabled.txt"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
if [[ $MINETEST_MAPPER -eq 1 ]]; then
|
if [[ $MINETEST_MAPPER -eq 1 ]]; then
|
||||||
echo "The use of Minetest Mapper needs ImageMagick with fontconfig and truetype dependencies."
|
echo "The use of Minetest Mapper needs ImageMagick with fontconfig and truetype dependencies."
|
||||||
echo "You also need to allow read and write permissions for PS. The configuration can be found in the file that manage the security policy of ImageMagick."
|
echo "You also need to allow read and write permissions for PS. The configuration can be found in the file that manage the security policy of ImageMagick."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
action() {
|
action() {
|
||||||
echo "Preparing the installation…"
|
echo "Preparing the installation…"
|
||||||
|
|
||||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
||||||
DESTINATION="$1"
|
DESTINATION="$1"
|
||||||
[ -z $DESTINATION ] && DESTINATION="$SCRIPT_DIR"
|
[ -z $DESTINATION ] && DESTINATION="$SCRIPT_DIR"
|
||||||
|
|
||||||
GIT=$(which git)
|
GIT=$(which git)
|
||||||
CMAKE=$(which cmake)
|
CMAKE=$(which cmake)
|
||||||
MAKE=$(which make)
|
MAKE=$(which make)
|
||||||
[ ! -e "$GIT" ] && error "git not found"
|
[ ! -e "$GIT" ] && error "git not found"
|
||||||
[ ! -e "$CMAKE" ] && error "cmake not found"
|
[ ! -e "$CMAKE" ] && error "cmake not found"
|
||||||
[ ! -e "$MAKE" ] && error "make not found"
|
[ ! -e "$MAKE" ] && error "make not found"
|
||||||
|
|
||||||
if [ -e "$DESTINATION/nalc.conf" ]; then
|
if [ -e "$DESTINATION/nalc.conf" ]; then
|
||||||
read -p "Previous installation is detected. Do you want to load previous settings? [Y/n] " continue
|
read -p "Previous installation is detected. Do you want to load previous settings? [Y/n] " continue
|
||||||
if [ -z $continue ] || [[ "$continue" =~ ^[yY][eE][sS]|[yY]$ ]]; then
|
if [ -z $continue ] || [[ "$continue" =~ ^[yY][eE][sS]|[yY]$ ]]; then
|
||||||
load_conf "$DESTINATION/nalc.conf"
|
load_conf "$DESTINATION/nalc.conf"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
[ -z $MINETEST_BIN ] && MINETEST_BIN=$(which minetestserver)
|
[ -z $MINETEST_BIN ] && MINETEST_BIN=$(which minetestserver)
|
||||||
[ -z $MINETEST_DIR ] && MINETEST_DIR=~/.minetest
|
[ -z $MINETEST_DIR ] && MINETEST_DIR=~/.minetest
|
||||||
[ -z $MAP_BACKEND ] && MAP_BACKEND=sqlite3
|
[ -z $MAP_BACKEND ] && MAP_BACKEND=sqlite3
|
||||||
[ -z $PLAYER_BACKEND ] && PLAYER_BACKEND=sqlite3
|
[ -z $PLAYER_BACKEND ] && PLAYER_BACKEND=sqlite3
|
||||||
[ -z $AUTH_BACKEND ] && AUTH_BACKEND=sqlite3
|
[ -z $AUTH_BACKEND ] && AUTH_BACKEND=sqlite3
|
||||||
[ -z $MOD_STORAGE_BACKEND ] && MOD_STORAGE_BACKEND=sqlite3
|
[ -z $MOD_STORAGE_BACKEND ] && MOD_STORAGE_BACKEND=sqlite3
|
||||||
[ -z $MINETEST_MAPPER ] && MINETEST_MAPPER=0
|
[ -z $MINETEST_MAPPER ] && MINETEST_MAPPER=0
|
||||||
[ -z $PORT ] && PORT=30000
|
[ -z $PORT ] && PORT=30000
|
||||||
[ -z $URL ] && URL="https://sys4.fr/gitea/"
|
[ -z $URL ] && URL="https://sys4.fr/gitea/"
|
||||||
[[ $URL =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+$ ]] && URL="$URL:"
|
[[ $URL =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+$ ]] && URL="$URL:"
|
||||||
[ -z $BRANCH ] && BRANCH="stable"
|
[ -z $BRANCH ] && BRANCH="stable"
|
||||||
[ -z $WORLD_NAME ] && WORLD_NAME="nalc"
|
[ -z $WORLD_NAME ] && WORLD_NAME="nalc"
|
||||||
[ ! -e $MINETEST_BIN ] && error "$MINETEST_BIN not found"
|
[ ! -e $MINETEST_BIN ] && error "$MINETEST_BIN not found"
|
||||||
[ ! -d $MINETEST_DIR ] && error "$MINETEST_DIR not found"
|
[ ! -d $MINETEST_DIR ] && error "$MINETEST_DIR not found"
|
||||||
|
|
||||||
|
|
||||||
echo "Installation summary:"
|
echo "Installation summary:"
|
||||||
echo -e "\t- Server files will be downloaded from $URL"
|
echo -e "\t- Server files will be downloaded from $URL"
|
||||||
echo -e "\t- NALC server will be installed to $DESTINATION."
|
echo -e "\t- NALC server will be installed to $DESTINATION."
|
||||||
echo -e "\t- World of NALC will be installed to $MINETEST_DIR/worlds/$WORLD_NAME"
|
echo -e "\t- World of NALC will be installed to $MINETEST_DIR/worlds/$WORLD_NAME"
|
||||||
echo -e "\t- The minetestserver executable $MINETEST_BIN will be used."
|
echo -e "\t- The minetestserver executable $MINETEST_BIN will be used."
|
||||||
echo -e "\t- The $MINETEST_DIR directory will be used."
|
echo -e "\t- The $MINETEST_DIR directory will be used."
|
||||||
echo -e "\t- $MAP_BACKEND will be used as map backend."
|
echo -e "\t- $MAP_BACKEND will be used as map backend."
|
||||||
echo -e "\t- $PLAYER_BACKEND will be used as player backend."
|
echo -e "\t- $PLAYER_BACKEND will be used as player backend."
|
||||||
echo -e "\t- $AUTH_BACKEND will be used as auth backend."
|
echo -e "\t- $AUTH_BACKEND will be used as auth backend."
|
||||||
echo -e "\t- $MOD_STORAGE_BACKEND will be used as mod storage backend."
|
echo -e "\t- $MOD_STORAGE_BACKEND will be used as mod storage backend."
|
||||||
echo -e "\t- Port used: $PORT."
|
echo -e "\t- Port used: $PORT."
|
||||||
[ $MINETEST_MAPPER -eq 1 ] && echo -e "\t- Minetest mapper support added."
|
[ $MINETEST_MAPPER -eq 1 ] && echo -e "\t- Minetest mapper support added."
|
||||||
echo
|
echo
|
||||||
|
|
||||||
read -p "Installation of NALC server will begin. Continue? [Y/n] " continue
|
read -p "Installation of NALC server will begin. Continue? [Y/n] " continue
|
||||||
if [ -z $continue ] || [[ "$continue" =~ ^[yY][eE][sS]|[yY]$ ]]; then
|
if [ -z $continue ] || [[ "$continue" =~ ^[yY][eE][sS]|[yY]$ ]]; then
|
||||||
save_conf "$DESTINATION/nalc.conf"
|
save_conf "$DESTINATION/nalc.conf"
|
||||||
install_game
|
install_game
|
||||||
install_mods
|
install_mods
|
||||||
install_world
|
install_world
|
||||||
[ $MINETEST_MAPPER -eq 1 ] && install_mtmapper
|
[ $MINETEST_MAPPER -eq 1 ] && install_mtmapper
|
||||||
post_install
|
post_install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "End of the NALC server installation. Good Bye!"
|
echo "End of the NALC server installation. Good Bye!"
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
[ $# -lt 0 ] && usage
|
[ $# -lt 0 ] && usage
|
||||||
@ -441,47 +441,47 @@ OPT=$(getopt -o h,b:,d:,m:,p:,a:,s:,M,w:,P: -l help,minetest-bin:,minetest-dir:,
|
|||||||
set -- $OPT
|
set -- $OPT
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage;;
|
usage;;
|
||||||
-b|--minetest-bin)
|
-b|--minetest-bin)
|
||||||
MINETEST_BIN=$(strip "$2")
|
MINETEST_BIN=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-d|--minetest-dir)
|
-d|--minetest-dir)
|
||||||
MINETEST_DIR=$(strip "$2")
|
MINETEST_DIR=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-m|--map-backend)
|
-m|--map-backend)
|
||||||
MAP_BACKEND=$(strip "$2")
|
MAP_BACKEND=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-p|--player-backend)
|
-p|--player-backend)
|
||||||
PLAYER_BACKEND=$(strip "$2")
|
PLAYER_BACKEND=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-a|--auth-backend)
|
-a|--auth-backend)
|
||||||
AUTH_BACKEND=$(strip "$2")
|
AUTH_BACKEND=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-s|--mod-storage-backend)
|
-s|--mod-storage-backend)
|
||||||
MOD_STORAGE_BACKEND=$(strip "$2")
|
MOD_STORAGE_BACKEND=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-M|--minetest-mapper)
|
-M|--minetest-mapper)
|
||||||
MINETEST_MAPPER=1
|
MINETEST_MAPPER=1
|
||||||
shift 1;;
|
shift 1;;
|
||||||
-w|--world)
|
-w|--world)
|
||||||
WORLD_NAME=$(strip "$2")
|
WORLD_NAME=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-P|--port)
|
-P|--port)
|
||||||
PORT=$(strip $2)
|
PORT=$(strip $2)
|
||||||
shift 2;;
|
shift 2;;
|
||||||
--url)
|
--url)
|
||||||
URL=$(strip "$2")
|
URL=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
--branch)
|
--branch)
|
||||||
BRANCH=$(strip "$2")
|
BRANCH=$(strip "$2")
|
||||||
shift 2;;
|
shift 2;;
|
||||||
--)
|
--)
|
||||||
shift;;
|
shift;;
|
||||||
*)
|
*)
|
||||||
action $(strip "$1")
|
action $(strip "$1")
|
||||||
shift;;
|
shift;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
84
shutdown.sh
84
shutdown.sh
@ -13,34 +13,34 @@ restart=0
|
|||||||
regenmap=0
|
regenmap=0
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "usage: ./shutdown.sh [-h|--help] [-r|--restart] [-b|--bak] [-u|--update]"
|
echo "usage: ./shutdown.sh [-h|--help] [-r|--restart] [-b|--bak] [-u|--update]"
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo -e "\t-h --help\tAffiche cette aide."
|
echo -e "\t-h --help\tAffiche cette aide."
|
||||||
echo -e "\t-r --restart\tRedémarre le serveur après arrêt."
|
echo -e "\t-r --restart\tRedémarre le serveur après arrêt."
|
||||||
echo -e "\t-b --bak\tRéalise une sauvegarde après arrêt."
|
echo -e "\t-b --bak\tRéalise une sauvegarde après arrêt."
|
||||||
echo -e "\t-u --update\tRéalise une mise à jour après arrêt."
|
echo -e "\t-u --update\tRéalise une mise à jour après arrêt."
|
||||||
echo -e "\t-m --regen-map\tRégénère une carte du monde."
|
echo -e "\t-m --regen-map\tRégénère une carte du monde."
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
action() {
|
action() {
|
||||||
kill -s TERM $(pidof minetestserver)
|
kill -s TERM $(pidof minetestserver)
|
||||||
sleep 10
|
sleep 10
|
||||||
|
|
||||||
kill -s TERM $(pidof -x $serverpath/start.sh)
|
kill -s TERM $(pidof -x $serverpath/start.sh)
|
||||||
|
|
||||||
[[ $bak -eq 1 ]] && $serverpath/backup.sh
|
[[ $bak -eq 1 ]] && $serverpath/backup.sh
|
||||||
if [ $regenmap -eq 1 ]; then
|
if [ $regenmap -eq 1 ]; then
|
||||||
mount $mountpoint
|
mount $mountpoint
|
||||||
sleep 3
|
sleep 3
|
||||||
$serverpath/genmap.sh $serverpath $world $mapdest
|
$serverpath/genmap.sh $serverpath $world $mapdest
|
||||||
umount $mountpoint
|
umount $mountpoint
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ $update -eq 1 ]] && $serverpath/upgrade.sh -s $serverpath -m -w $world -b $branch -f $world_file
|
[[ $update -eq 1 ]] && $serverpath/upgrade.sh -s $serverpath -m -w $world -b $branch -f $world_file
|
||||||
[[ $restart -eq 1 ]] && $serverpath/start.sh&
|
[[ $restart -eq 1 ]] && $serverpath/start.sh&
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Pas de paramètre
|
# Pas de paramètre
|
||||||
@ -56,25 +56,25 @@ OPT=$(getopt -o b,r,h,u,m -l bak,restart,help,update,regen-map -- "$@")
|
|||||||
set -- $OPT
|
set -- $OPT
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-b|--bak)
|
-b|--bak)
|
||||||
bak=1
|
bak=1
|
||||||
shift;;
|
shift;;
|
||||||
-r|--restart)
|
-r|--restart)
|
||||||
restart=1
|
restart=1
|
||||||
shift;;
|
shift;;
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage;;
|
usage;;
|
||||||
-u|--update)
|
-u|--update)
|
||||||
update=1
|
update=1
|
||||||
shift;;
|
shift;;
|
||||||
-m|--regen-map)
|
-m|--regen-map)
|
||||||
regenmap=1
|
regenmap=1
|
||||||
shift;;
|
shift;;
|
||||||
--)
|
--)
|
||||||
shift;;
|
shift;;
|
||||||
*)
|
*)
|
||||||
action
|
action
|
||||||
shift;;
|
shift;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
@ -12,10 +12,10 @@
|
|||||||
serverdir="$1"
|
serverdir="$1"
|
||||||
[ -z "$serverdir" ] && serverdir="$(pwd)"
|
[ -z "$serverdir" ] && serverdir="$(pwd)"
|
||||||
if [ ! -e "$serverdir/nalc.conf" ]; then
|
if [ ! -e "$serverdir/nalc.conf" ]; then
|
||||||
echo "ERROR: nalc.conf not found!"
|
echo "ERROR: nalc.conf not found!"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
. "$serverdir/nalc.conf"
|
. "$serverdir/nalc.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#DEBUG=$serverdir/logs/debug.log
|
#DEBUG=$serverdir/logs/debug.log
|
||||||
@ -27,13 +27,13 @@ fi
|
|||||||
# echo "Server restarted at "`date` >>$MOREDEBUG
|
# echo "Server restarted at "`date` >>$MOREDEBUG
|
||||||
# echo "----------------------" >>$MOREDEBUG
|
# echo "----------------------" >>$MOREDEBUG
|
||||||
|
|
||||||
echo "0" >/tmp/players_c.txt
|
echo "0" >/tmp/players_c.txt
|
||||||
|
|
||||||
"$MINETEST_BIN" \
|
"$MINETEST_BIN" \
|
||||||
--world "$MINETEST_DIR/worlds/$WORLD_NAME/" \
|
--world "$MINETEST_DIR/worlds/$WORLD_NAME/" \
|
||||||
--config "$MINETEST_DIR/minetest.conf" \
|
--config "$MINETEST_DIR/minetest.conf" \
|
||||||
--gameid nalc_game \
|
--gameid nalc_game \
|
||||||
--port $PORT \
|
--port $PORT \
|
||||||
# --logfile $DEBUG
|
# --logfile $DEBUG
|
||||||
|
|
||||||
#done &>> $MOREDEBUG
|
#done &>> $MOREDEBUG
|
||||||
|
406
upgrade.sh
406
upgrade.sh
@ -8,222 +8,222 @@ UP_MODS=0
|
|||||||
WORLD_FILE=all
|
WORLD_FILE=all
|
||||||
|
|
||||||
strip() {
|
strip() {
|
||||||
echo $1 | cut -d \' -f 2
|
echo $1 | cut -d \' -f 2
|
||||||
}
|
}
|
||||||
|
|
||||||
verif() {
|
verif() {
|
||||||
if [[ $? -gt 0 ]]; then
|
if [[ $? -gt 0 ]]; then
|
||||||
echo "Erreur ! Arrêt du script."
|
echo "Erreur ! Arrêt du script."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
error() {
|
error() {
|
||||||
if [[ -n $1 ]]; then
|
if [[ -n $1 ]]; then
|
||||||
echo "ERREUR : $1 !"
|
echo "ERREUR : $1 !"
|
||||||
else
|
else
|
||||||
echo "ERREUR : paramètres invalides !" >&2
|
echo "ERREUR : paramètres invalides !" >&2
|
||||||
echo "utilisez l'option -h pour en savoir plus" >&2
|
echo "utilisez l'option -h pour en savoir plus" >&2
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage : ./upgrade.sh [-h|--help] | [-s|--serverpath <path>] [-m|--mods] [ -w|--world <world> < -b|--branch <branch> [-f|--world-file <arg>] > ]"
|
echo "Usage : ./upgrade.sh [-h|--help] | [-s|--serverpath <path>] [-m|--mods] [ -w|--world <world> < -b|--branch <branch> [-f|--world-file <arg>] > ]"
|
||||||
echo "WARNING: This is for an experimental usage. Don't use it!"
|
echo "WARNING: This is for an experimental usage. Don't use it!"
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo -e "\t-h --help\t\tAffiche cette aide"
|
echo -e "\t-h --help\t\tAffiche cette aide"
|
||||||
echo -e "\t-s --serverpath <path>\tRépertoire racine du serveur"
|
echo -e "\t-s --serverpath <path>\tRépertoire racine du serveur"
|
||||||
echo -e "\t-m --mods\t\tMet à jour les mods"
|
echo -e "\t-m --mods\t\tMet à jour les mods"
|
||||||
echo -e "\t-w --world <name>\tNom de la carte"
|
echo -e "\t-w --world <name>\tNom de la carte"
|
||||||
echo -e "\t-b --branch <branch>\tBranche concerné"
|
echo -e "\t-b --branch <branch>\tBranche concerné"
|
||||||
echo -e "\t-f --world-file <arg>\tFichier(s) a mettre à jour :"
|
echo -e "\t-f --world-file <arg>\tFichier(s) a mettre à jour :"
|
||||||
echo -e "\t<arg> doit être une des valeur suivante :"
|
echo -e "\t<arg> doit être une des valeur suivante :"
|
||||||
echo -e "\tall\t\tToutes les mise à jour suivantes seront executés sauf 'mtconf'"
|
echo -e "\tall\t\tToutes les mise à jour suivantes seront executés sauf 'mtconf'"
|
||||||
echo -e "\tnews\t\tLes news du serveur"
|
echo -e "\tnews\t\tLes news du serveur"
|
||||||
echo -e "\ttechnic\t\tLes paramètres de technic"
|
echo -e "\ttechnic\t\tLes paramètres de technic"
|
||||||
echo -e "\tfbn\t\tLes paramètres de forbidden_names"
|
echo -e "\tfbn\t\tLes paramètres de forbidden_names"
|
||||||
echo -e "\tfbnp\t\tLes paramètres de forbidden_names_patterns"
|
echo -e "\tfbnp\t\tLes paramètres de forbidden_names_patterns"
|
||||||
echo -e "\tbitchange\tLes paramètres de bitchange"
|
echo -e "\tbitchange\tLes paramètres de bitchange"
|
||||||
echo -e "\tchristmas\tLes paramètres de christmas_craft"
|
echo -e "\tchristmas\tLes paramètres de christmas_craft"
|
||||||
echo -e "\trandommsg\tLes messages aléatoires"
|
echo -e "\trandommsg\tLes messages aléatoires"
|
||||||
echo -e "\tworldmt\tRégénère le fichier world.mt (peut-être utile avec l'option -m)"
|
echo -e "\tworldmt\tRégénère le fichier world.mt (peut-être utile avec l'option -m)"
|
||||||
echo -e "\tmtconf\tMet à jour le fichier minetest.conf"
|
echo -e "\tmtconf\tMet à jour le fichier minetest.conf"
|
||||||
echo "Exemples:"
|
echo "Exemples:"
|
||||||
echo -e "\tMise à jour des mods :"
|
echo -e "\tMise à jour des mods :"
|
||||||
echo -e "\t$ ./upgrade.sh -m"
|
echo -e "\t$ ./upgrade.sh -m"
|
||||||
echo -e "\tMise à jour du fichier minetest.conf :"
|
echo -e "\tMise à jour du fichier minetest.conf :"
|
||||||
echo -e "\t$ ./upgrade.sh -w nalc-stable -b stable -f mtconf"
|
echo -e "\t$ ./upgrade.sh -w nalc-stable -b stable -f mtconf"
|
||||||
echo -e "\tMise à jour complète (mods et fichiers world, sauf minetest.conf) :"
|
echo -e "\tMise à jour complète (mods et fichiers world, sauf minetest.conf) :"
|
||||||
echo -e "\t$ ./upgrade.sh -m -w nalc-stable -b stable"
|
echo -e "\t$ ./upgrade.sh -m -w nalc-stable -b stable"
|
||||||
}
|
}
|
||||||
|
|
||||||
regen_worldmt() {
|
regen_worldmt() {
|
||||||
local worldfile="$MINETEST_DIR/worlds/$WORLD_NAME/world.mt"
|
local worldfile="$MINETEST_DIR/worlds/$WORLD_NAME/world.mt"
|
||||||
|
|
||||||
echo "Regénération du fichier $worldfile..."
|
echo "Regénération du fichier $worldfile..."
|
||||||
|
|
||||||
# Faire une sauvegarde du fichier world.mt actuel
|
# Faire une sauvegarde du fichier world.mt actuel
|
||||||
cp "$worldfile" "$worldfile".bak
|
cp "$worldfile" "$worldfile".bak
|
||||||
|
|
||||||
# Créer un nouveau fichier temporaire sans les lignes commençant par load_mod
|
# Créer un nouveau fichier temporaire sans les lignes commençant par load_mod
|
||||||
local i=0
|
local i=0
|
||||||
cat "$worldfile" | while read -r line; do
|
cat "$worldfile" | while read -r line; do
|
||||||
local match=$(echo $line | grep load_mod_)
|
local match=$(echo $line | grep load_mod_)
|
||||||
if [[ -z $match ]]; then
|
if [[ -z $match ]]; then
|
||||||
if [[ $i -eq 0 ]]; then
|
if [[ $i -eq 0 ]]; then
|
||||||
echo $line > /tmp/world.mt
|
echo $line > /tmp/world.mt
|
||||||
else
|
else
|
||||||
echo $line >> /tmp/world.mt
|
echo $line >> /tmp/world.mt
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
i=$(( $i+1 ))
|
i=$(( $i+1 ))
|
||||||
done
|
done
|
||||||
|
|
||||||
# Recréation des liens symboliques des mods dans le dossier minetest
|
# Recréation des liens symboliques des mods dans le dossier minetest
|
||||||
# et générer une ligne "load_mod_<mod> = true ou false" pour chaque mod
|
# et générer une ligne "load_mod_<mod> = true ou false" pour chaque mod
|
||||||
# et l'ajouter au fichier
|
# et l'ajouter au fichier
|
||||||
# local mods_path=$serverpath/nalc-server-mods
|
# local mods_path=$serverpath/nalc-server-mods
|
||||||
local mods="$MINETEST_DIR/mods"
|
local mods="$MINETEST_DIR/mods"
|
||||||
local mods_custom="$serverpath/custom/mods"
|
local mods_custom="$serverpath/custom/mods"
|
||||||
|
|
||||||
# Suppression d'éventuels liens symboliques du dossier des mods
|
# Suppression d'éventuels liens symboliques du dossier des mods
|
||||||
ls "$mods" | while read -r mod; do
|
ls "$mods" | while read -r mod; do
|
||||||
[ -L "$mods/$mod" ] && rm -f "$mods/$mod"
|
[ -L "$mods/$mod" ] && rm -f "$mods/$mod"
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -d "$mods_custom" ]; then
|
if [ -d "$mods_custom" ]; then
|
||||||
ls $mods_custom | while read -r mod; do
|
ls $mods_custom | while read -r mod; do
|
||||||
[ -d $mods_custom/$mod ] && ln -s $mods_custom/$mod $mods/$mod
|
[ -d $mods_custom/$mod ] && ln -s $mods_custom/$mod $mods/$mod
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Liste des mods à désactiver
|
||||||
|
readarray -t md < "$serverpath/mods_disabled.txt"
|
||||||
|
|
||||||
|
# Populate world.mt
|
||||||
|
ls "$mods" | while read -r mod; do
|
||||||
|
if [ -d $mods/$mod ]; then
|
||||||
|
if [ -e $mods/$mod/init.lua ]; then
|
||||||
|
local mod_enable="true"
|
||||||
|
for (( modn=0; modn<${#md[@]}; modn++ )); do
|
||||||
|
[ ${md[$modn]} == $mod ] && mod_enable="false"
|
||||||
done
|
done
|
||||||
fi
|
echo "load_mod_$mod = $mod_enable" >> /tmp/world.mt
|
||||||
|
else
|
||||||
|
ls "$mods/$mod" | while read -r submod; do
|
||||||
|
if [ -d "$mods/$mod/$submod" ]; then
|
||||||
|
local mod_enable="true"
|
||||||
|
for (( modn=0; modn<${#md[@]}; modn++ )); do
|
||||||
|
[ ${md[$modn]} == $submod ] && mod_enable="false"
|
||||||
|
done
|
||||||
|
echo "load_mod_$submod = $mod_enable" >> /tmp/world.mt
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Liste des mods à désactiver
|
# Remplacement du l'ancien world.mt par le nouveau
|
||||||
readarray -t md < "$serverpath/mods_disabled.txt"
|
mv /tmp/world.mt "$MINETEST_DIR/worlds/$WORLD_NAME/world.mt"
|
||||||
|
|
||||||
# Populate world.mt
|
echo "Regénération terminé."
|
||||||
ls "$mods" | while read -r mod; do
|
|
||||||
if [ -d $mods/$mod ]; then
|
|
||||||
if [ -e $mods/$mod/init.lua ]; then
|
|
||||||
local mod_enable="true"
|
|
||||||
for (( modn=0; modn<${#md[@]}; modn++ )); do
|
|
||||||
[ ${md[$modn]} == $mod ] && mod_enable="false"
|
|
||||||
done
|
|
||||||
echo "load_mod_$mod = $mod_enable" >> /tmp/world.mt
|
|
||||||
else
|
|
||||||
ls "$mods/$mod" | while read -r submod; do
|
|
||||||
if [ -d "$mods/$mod/$submod" ]; then
|
|
||||||
local mod_enable="true"
|
|
||||||
for (( modn=0; modn<${#md[@]}; modn++ )); do
|
|
||||||
[ ${md[$modn]} == $submod ] && mod_enable="false"
|
|
||||||
done
|
|
||||||
echo "load_mod_$submod = $mod_enable" >> /tmp/world.mt
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Remplacement du l'ancien world.mt par le nouveau
|
|
||||||
mv /tmp/world.mt "$MINETEST_DIR/worlds/$WORLD_NAME/world.mt"
|
|
||||||
|
|
||||||
echo "Regénération terminé."
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update_mods() {
|
update_mods() {
|
||||||
local mods_path="$MINETEST_DIR/mods"
|
local mods_path="$MINETEST_DIR/mods"
|
||||||
[ ! -d "$mods_path" ] && error "$mods_path not found"
|
[ ! -d "$mods_path" ] && error "$mods_path not found"
|
||||||
|
|
||||||
pushd "$mods_path" > /dev/null 2>&1
|
pushd "$mods_path" > /dev/null 2>&1
|
||||||
git pull
|
git pull
|
||||||
verif
|
verif
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
verif
|
verif
|
||||||
popd > /dev/null 2>&1
|
popd > /dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
update_world() {
|
update_world() {
|
||||||
local world_repos="$SCRIPT_DIR/world"
|
local world_repos="$SCRIPT_DIR/world"
|
||||||
local world_dest="$MINETEST_DIR/worlds/$WORLD_NAME"
|
local world_dest="$MINETEST_DIR/worlds/$WORLD_NAME"
|
||||||
|
|
||||||
if [ ! -d "$world_repos" ]; then
|
if [ ! -d "$world_repos" ]; then
|
||||||
error "$world_repos not found"
|
error "$world_repos not found"
|
||||||
fi
|
fi
|
||||||
if [ ! -d "$world_dest" ]; then
|
if [ ! -d "$world_dest" ]; then
|
||||||
error "$world_dest not found"
|
error "$world_dest not found"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $WORLD_FILE == "all" ]; then
|
if [ $WORLD_FILE == "all" ]; then
|
||||||
WORLD_FILE="moretrees news technic fbn fbnp bitchange christmas randommsg worldmt"
|
WORLD_FILE="moretrees news technic fbn fbnp bitchange christmas randommsg worldmt"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for w_file in $WORLD_FILE; do
|
for w_file in $WORLD_FILE; do
|
||||||
local file=""
|
local file=""
|
||||||
local file_dest=""
|
local file_dest=""
|
||||||
local do_copy=1
|
local do_copy=1
|
||||||
case $w_file in
|
case $w_file in
|
||||||
moretrees)
|
moretrees)
|
||||||
file_dest=$world_dest/moretrees_settings.txt
|
file_dest=$world_dest/moretrees_settings.txt
|
||||||
file=$world_repos/moretrees_settings-$BRANCH.txt;;
|
file=$world_repos/moretrees_settings-$BRANCH.txt;;
|
||||||
news)
|
news)
|
||||||
file_dest=$world_dest/news.txt
|
file_dest=$world_dest/news.txt
|
||||||
file=$world_repos/news-$BRANCH.txt;;
|
file=$world_repos/news-$BRANCH.txt;;
|
||||||
technic)
|
technic)
|
||||||
file_dest=$world_dest/technic.conf
|
file_dest=$world_dest/technic.conf
|
||||||
file=$world_repos/technic-$BRANCH.conf;;
|
file=$world_repos/technic-$BRANCH.conf;;
|
||||||
fbn)
|
fbn)
|
||||||
file_dest=$world_dest/forbidden_names.txt
|
file_dest=$world_dest/forbidden_names.txt
|
||||||
file=$world_repos/forbidden_names-$BRANCH.txt;;
|
file=$world_repos/forbidden_names-$BRANCH.txt;;
|
||||||
fbnp)
|
fbnp)
|
||||||
file_dest=$world_dest/forbidden_names_patterns.txt
|
file_dest=$world_dest/forbidden_names_patterns.txt
|
||||||
file=$world_repos/forbidden_names_patterns-$BRANCH.txt;;
|
file=$world_repos/forbidden_names_patterns-$BRANCH.txt;;
|
||||||
bitchange)
|
bitchange)
|
||||||
file_dest=$world_dest/bitchange_config.txt
|
file_dest=$world_dest/bitchange_config.txt
|
||||||
file=$world_repos/bitchange_config-$BRANCH.txt;;
|
file=$world_repos/bitchange_config-$BRANCH.txt;;
|
||||||
christmas)
|
christmas)
|
||||||
file_dest=$world_dest/christmas_craft.conf
|
file_dest=$world_dest/christmas_craft.conf
|
||||||
file=$world_repos/christmas_craft-$BRANCH.conf;;
|
file=$world_repos/christmas_craft-$BRANCH.conf;;
|
||||||
randommsg)
|
randommsg)
|
||||||
file_dest=$world_dest/random_messages
|
file_dest=$world_dest/random_messages
|
||||||
file=$world_repos/random_messages-$BRANCH;;
|
file=$world_repos/random_messages-$BRANCH;;
|
||||||
worldmt)
|
worldmt)
|
||||||
do_copy=0
|
do_copy=0
|
||||||
regen_worldmt;;
|
regen_worldmt;;
|
||||||
mtconf) # Exception ici car n'est pas un fichier world. Doit être appelé seul.
|
mtconf) # Exception ici car n'est pas un fichier world. Doit être appelé seul.
|
||||||
file_dest="$MINETEST_DIR/minetest.conf"
|
file_dest="$MINETEST_DIR/minetest.conf"
|
||||||
file="$SCRIPT_DIR/minetest-$BRANCH.conf";;
|
file="$SCRIPT_DIR/minetest-$BRANCH.conf";;
|
||||||
*)
|
*)
|
||||||
error;;
|
error;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ $do_copy -eq 1 ]; then
|
if [ $do_copy -eq 1 ]; then
|
||||||
[ ! -e $file ] && error "Le fichier $file n'existe pas"
|
[ ! -e $file ] && error "Le fichier $file n'existe pas"
|
||||||
|
|
||||||
echo "Copie de $file vers $file_dest"
|
echo "Copie de $file vers $file_dest"
|
||||||
cp -up $file $file_dest
|
cp -up $file $file_dest
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
action() {
|
action() {
|
||||||
[ ! -d "$serverpath" ] && error "$serverpath not found"
|
[ ! -d "$serverpath" ] && error "$serverpath not found"
|
||||||
. "$serverpath/nalc.conf"
|
. "$serverpath/nalc.conf"
|
||||||
|
|
||||||
if [ $UP_MODS -eq 1 ]; then
|
if [ $UP_MODS -eq 1 ]; then
|
||||||
echo "Updating $MINETEST_DIR/mods…"
|
echo "Updating $MINETEST_DIR/mods…"
|
||||||
update_mods
|
update_mods
|
||||||
echo "Mods updated."
|
echo "Mods updated."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n $WORLD_NAME ] && [ -n $BRANCH ]; then
|
if [ -n $WORLD_NAME ] && [ -n $BRANCH ]; then
|
||||||
echo "Updating $WORLD_FILE from $WORLD_NAME and branch $BRANCH"…
|
echo "Updating $WORLD_FILE from $WORLD_NAME and branch $BRANCH"…
|
||||||
update_world
|
update_world
|
||||||
echo "World files updated."
|
echo "World files updated."
|
||||||
elif [ -n $WORLD_NAME ] || [ -n $BRANCH ]; then
|
elif [ -n $WORLD_NAME ] || [ -n $BRANCH ]; then
|
||||||
error
|
error
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Pas de paramètre
|
# Pas de paramètre
|
||||||
@ -237,32 +237,32 @@ options=$(getopt -o h,s:,m,w:,b:,f: -l help,serverpath:,mods,world:,branch:,worl
|
|||||||
set -- $options
|
set -- $options
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h|--help)
|
-h|--help)
|
||||||
usage
|
usage
|
||||||
exit 0;;
|
exit 0;;
|
||||||
-s|--serverpath)
|
-s|--serverpath)
|
||||||
serverpath=$(strip $2)
|
serverpath=$(strip $2)
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-m|--mods)
|
-m|--mods)
|
||||||
UP_MODS=1
|
UP_MODS=1
|
||||||
shift;;
|
shift;;
|
||||||
-w|--world)
|
-w|--world)
|
||||||
WORLD_NAME=$(strip $2)
|
WORLD_NAME=$(strip $2)
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-b|--branch)
|
-b|--branch)
|
||||||
BRANCH=$(strip $2)
|
BRANCH=$(strip $2)
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-f|--world-file)
|
-f|--world-file)
|
||||||
WORLD_FILE=$(strip $2)
|
WORLD_FILE=$(strip $2)
|
||||||
shift 2;;
|
shift 2;;
|
||||||
--)
|
--)
|
||||||
shift;;
|
shift;;
|
||||||
*)
|
*)
|
||||||
action
|
action
|
||||||
exit 0
|
exit 0
|
||||||
shift;;
|
shift;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user