[dev] Désactive le mod 3dmushrooms + nettoyage de code

This commit is contained in:
Sys Quatre 2020-07-01 21:00:29 +02:00
parent fe6effedc0
commit bcc8e939e5
2 changed files with 241 additions and 272 deletions

View File

@ -11,238 +11,240 @@ strip() {
} }
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-1.1 -b 1.1" echo -e "\t$ ./upgrade.sh -m -w nalc-1.1 -b 1.1"
} }
regen_worldmt() { regen_worldmt() {
local worldfile=$serverpath/world.mt local worldfile=$serverpath/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 $serverpath/world.mt.bak cp $worldfile $serverpath/world.mt.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=$serverpath/minetest/mods local mods_minetest=$serverpath/minetest/mods
local mods_custom=$serverpath/custom/mods local mods_custom=$serverpath/custom/mods
rm -f $mods_minetest/* rm -f $mods_minetest/*
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
if [[ -d $mods_cutom/$mod ]]; then if [[ -d $mods_cutom/$mod ]]; then
rm -f $mods_path/$mod rm -f $mods_path/$mod
ln -s $mods_custom/$mod $mods_path/$mod ln -s $mods_custom/$mod $mods_path/$mod
fi fi
done done
fi fi
local i=0 local i=0
local md[1]="" # Mods to disable local md[1]="" # Mods to disable
local mods="3d_armor_ip 3d_armor_sfinv" local mods="3d_armor_ip 3d_armor_sfinv"
if [[ $BRANCH == "1.0" ]]; then if [[ $BRANCH == "1.0" ]]; then
mods="3d_armor_ip 3d_armor_sfinv worldedit_brush" mods="3d_armor_ip 3d_armor_sfinv worldedit_brush"
fi elif [[ $BRANCH == "dev" || $BRANCH == "1.2" ]]; then
for mod in $mods; do mods="3d_armor_ip 3d_armor_sfinv 3dmushrooms"
i=$(( $i+1 )) fi
md[$i]=$mod for mod in $mods; do
done i=$(( $i+1 ))
md[$i]=$mod
ls $mods_path | while read -r mod; do done
if [[ -d $mods_path/$mod ]]; then
ln -s $mods_path/$mod $mods_minetest/$mod ls $mods_path | while read -r mod; do
if [[ -d $mods_path/$mod ]]; then
if [[ -e $mods_path/$mod/modpack.txt || -e $mods_path/$mod/modpack.conf ]]; then ln -s $mods_path/$mod $mods_minetest/$mod
ls $mods_path/$mod | while read -r submod; do
if [[ -d $mods_path/$mod/$submod ]]; then if [[ -e $mods_path/$mod/modpack.txt || -e $mods_path/$mod/modpack.conf ]]; then
local mod_enable="true" ls $mods_path/$mod | while read -r submod; do
for (( modn=1; modn<=$i; modn++ )); do if [[ -d $mods_path/$mod/$submod ]]; then
if [[ ${md[$modn]} == $submod ]]; then local mod_enable="true"
mod_enable="false" for (( modn=1; modn<=$i; modn++ )); do
fi if [[ ${md[$modn]} == $submod ]]; then
done mod_enable="false"
echo "load_mod_$submod = $mod_enable" >> /tmp/world.mt fi
fi done
done echo "load_mod_$submod = $mod_enable" >> /tmp/world.mt
else fi
local mod_enable="true" done
for (( modn=1; modn<=$i; modn++ )); do else
if [[ ${md[$modn]} == $mod ]]; then local mod_enable="true"
mod_enable="false" for (( modn=1; modn<=$i; modn++ )); do
fi if [[ ${md[$modn]} == $mod ]]; then
done mod_enable="false"
echo "load_mod_$mod = $mod_enable" >> /tmp/world.mt fi
fi done
fi echo "load_mod_$mod = $mod_enable" >> /tmp/world.mt
done fi
fi
done
# Remplacement du l'ancien world.mt par le nouveau # Remplacement du l'ancien world.mt par le nouveau
mv /tmp/world.mt $serverpath/world.mt mv /tmp/world.mt $serverpath/world.mt
echo "Regénération terminé." echo "Regénération terminé."
} }
update_mods() { update_mods() {
local mods_path=$serverpath/nalc-server-mods local mods_path=$serverpath/nalc-server-mods
if [[ ! -d $mods_path ]]; then if [[ ! -d $mods_path ]]; then
error "Le répertoire $mods_path n'existe pas" error "Le répertoire $mods_path n'existe pas"
fi fi
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=$serverpath/world local world_repos=$serverpath/world
local world_dest=$serverpath/minetest/worlds/$WORLD_NAME local world_dest=$serverpath/minetest/worlds/$WORLD_NAME
if [[ ! -d $world_repos ]]; then if [[ ! -d $world_repos ]]; then
error "$world_repos n'existe pas" error "$world_repos n'existe pas"
fi fi
if [[ ! -d $world_dest ]]; then if [[ ! -d $world_dest ]]; then
error "$world_dest n'existe pas" error "$world_dest n'existe pas"
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
rm -f $world_dest/world.mt rm -f $world_dest/world.mt
ln -s $serverpath/world.mt $world_dest/world.mt;; ln -s $serverpath/world.mt $world_dest/world.mt;;
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=$serverpath/minetest/minetest.conf file_dest=$serverpath/minetest/minetest.conf
file=$serverpath/minetest-$BRANCH.conf;; file=$serverpath/minetest-$BRANCH.conf;;
*) *)
error;; error;;
esac esac
if [[ $do_copy -eq 1 ]]; then if [[ $do_copy -eq 1 ]]; then
if [[ ! -e $file ]]; then if [[ ! -e $file ]]; then
error "Le fichier $file n'existe pas" error "Le fichier $file n'existe pas"
fi fi
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() {
if [[ ! -d $serverpath ]]; then if [[ ! -d $serverpath ]]; then
error "Le répertoire $serverpath n'existe pas" error "Le répertoire $serverpath n'existe pas"
fi fi
if [[ $UP_MODS -eq 1 ]]; then if [[ $UP_MODS -eq 1 ]]; then
echo "Mise à jour des mods dans $serverpath/nalc-server-mods..." echo "Mise à jour des mods dans $serverpath/nalc-server-mods..."
update_mods update_mods
echo "Mise à jour des mods terminé." echo "Mise à jour des mods terminé."
fi fi
if [[ -n $WORLD_NAME && -n $BRANCH ]]; then if [[ -n $WORLD_NAME && -n $BRANCH ]]; then
echo "Mise à jour de $WORLD_FILE dans $serverpath/minetest/worlds/$WORLD_NAME de la branche $BRANCH..." echo "Mise à jour de $WORLD_FILE dans $serverpath/minetest/worlds/$WORLD_NAME de la branche $BRANCH..."
update_world update_world
echo "Mise à jour des fichiers world terminé." echo "Mise à jour des fichiers world terminé."
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
@ -256,32 +258,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

View File

@ -6,6 +6,18 @@ Contactez moi par mail (/mail sys4) pour vos propositions et afin que je puisse
### NOTES DE VERSIONS / CHANGELOG ### ### NOTES DE VERSIONS / CHANGELOG ###
=== dev === === dev ===
* Mise à jour de la plupart des mods
* Suppression du mod tsm_dungeon_chests
* Désactivation du mod 3dmushrooms
* Ajoute le mod basic_signs
* (#51)[coloredwood] Corrige division stacks des items moreblocks
* [3d_armor] Bouton inventaire en version legacy
* [farming] Supprime génération carottes et maïs
* [moretrees] Corrige spawn palmier sur mud de darkage
* [nalc_flowers] Réécriture génération des nénuphars custom (lily_pad)
* Ajoute biome méditérranéen et change la génération moretrees
* (#33) [maidroid] Corrige duplication avec maidroid-tool
* [nalc] Modifie le lily_pad en version ondulante sur l'eau
* [nalc/ambience] Désactive le son canadianloon2 * [nalc/ambience] Désactive le son canadianloon2
* [nalc] Ajoute biomes et barrières champignons * [nalc] Ajoute biomes et barrières champignons
* [hell] Corrections + intégration nouveau portail en utilisant API du mod nether * [hell] Corrections + intégration nouveau portail en utilisant API du mod nether
@ -13,76 +25,31 @@ Contactez moi par mail (/mail sys4) pour vos propositions et afin que je puisse
* [nalc] Corrige le groupe des minerais dans la pierre du désert * [nalc] Corrige le groupe des minerais dans la pierre du désert
* [invtweak] Corrige affichage boutons de trie * [invtweak] Corrige affichage boutons de trie
* (#31) [global_exchange] Ajoute retrait d'espèces depuis l'ATM * (#31) [global_exchange] Ajoute retrait d'espèces depuis l'ATM
* [gauges] Mise à jour
* [framedglass] Corrige la fabrication des versions colorées * [framedglass] Corrige la fabrication des versions colorées
* [diet] Ajoute support de nouvelles nourritures + corrections * [diet] Ajoute support de nouvelles nourritures + corrections
* [christmas_craft] Ajoute diverses améliorations et corrections * [christmas_craft] Ajoute diverses améliorations et corrections
* [cherry_tree] Ajoute support bonemeal * [cherry_tree] Ajoute support bonemeal
* Corrige drop coppercoin de la terre et augmente sa rareté
* Supprime le mod colddb
* (#31) [bitchange] Rend convertible monnaie bitchange <-> maptools * (#31) [bitchange] Rend convertible monnaie bitchange <-> maptools
* [factions] Retourne à la version MFF + corrections * [factions] Retourne à la version MFF + corrections
* supprime le mod banners * supprime le mod banners
* [arrow_signs] Corrige compatibilité avec le mod locks * [arrow_signs] Corrige compatibilité avec le mod locks
* (#37) [areas] Merge de la version d'origine avec perte icônes cadenas HUD * (#37) [areas] Merge de la version d'origine avec perte icônes cadenas HUD
* (#39) [tsm_pyramids] Maj + Ajoute régénération coffres + modif items générés * (#39) [tsm_pyramids] Maj + Ajoute régénération coffres + modif items générés
* [nalc] Mise à jour
* [vector_extras] Corrige crash au démarrage
* [unified_inventory] Mise à jour
* Remplace le mod u_skins (obsolète) par le mod skinsdb * Remplace le mod u_skins (obsolète) par le mod skinsdb
* (#42) [seaglass] Corrige compatibilité Minetest 5 et crash * (#42) [seaglass] Corrige compatibilité Minetest 5 et crash
* [plantlife_modpack] Mise à jour
* [names_per_ip] Mise à jour
* [farming] Mise à jour
* [biome_lib] Remise à la branche nalc
* [moretrees] Mise à jour + activation barrières et feuilles d'arbres simplifiées * [moretrees] Mise à jour + activation barrières et feuilles d'arbres simplifiées
* [item_drop] Corrige crash
* [moreores] Maj + Corrige problème dépendance circulaire avec toolranks * [moreores] Maj + Corrige problème dépendance circulaire avec toolranks
* [xban2] Mise à jour
* [WorldEdit] Mise à jour
* [warps] Mise à jour
* [unifiedbricks] Mise à jour
* [toolranks] Mise à jour
* [stained_glass] Mise à jour
* [signs_lib] Mise à jour
* [riesenpilz] Mise à jour + désactive pommes 3D * [riesenpilz] Mise à jour + désactive pommes 3D
* [random_messages] Mise à jour
* [quartz] Mise à jour
* [playereffects] Mise à jour
* [moreblocks] Mise à jour
* [mobs_monster] Mise à jour
* [mobs_animal] Mise à jour
* [mobs] Mise à jour
* [mob_horse] Mise à jour
* [mesecons] Mise à jour
* [maptools] Mise à jour
* [item_drop] Mise à jour
* [irc_commands] Mise à jour
* [irc] Mise à jour
* [hudbars] Mise à jour
* [hbsprint] Mise à jour
* [hbhunger] Mise à jour + modifie le son du joueur qui mange * [hbhunger] Mise à jour + modifie le son du joueur qui mange
* [hbarmor] Mise à jour
* [digilines] Mise à jour
* [death_messages] Mise à jour des messages et support de mobs * [death_messages] Mise à jour des messages et support de mobs
* [craftguide] Mise à jour
* [cozy] Rebase dépôt avec celui sur minetest-mods
* [connected_chests] Mise à jour
* [coloredwood] Mise à jour
* [moreblocks] Mise à jour
* [chesttools] Mise à jour
* [bonemeal] Mise à jour
* [bobblocks] Mise à jour + Empêche perte de couleur à la récolte d'un bloc éteint * [bobblocks] Mise à jour + Empêche perte de couleur à la récolte d'un bloc éteint
* [bitchange] Mise à jour
* [biome_lib] Mise à jour
* [3d_armor] Mise à jour
* (#30) [technic] Mise à jour * (#30) [technic] Mise à jour
* (#30) [pipeworks] Mise à jour * (#30) [pipeworks] Mise à jour
* (#30) [unifieddyes] Mise à jour * (#30) [unifieddyes] Mise à jour
* (#30) [basic_materials] Ajout du mod * (#30) [basic_materials] Ajout du mod
* [homedecor_modpack] Mise à jour * [homedecor_modpack] Mise à jour
=== master === === 1.1.3 ===
* [serverguide] Ajoute description de la commande /hotbar * [serverguide] Ajoute description de la commande /hotbar
* (#34) [serverguide][interact] Textes modifiés et ajout d'une règle * (#34) [serverguide][interact] Textes modifiés et ajout d'une règle
* (#38) [gauges] Corrige emplacement de la barre de vie/respiration * (#38) [gauges] Corrige emplacement de la barre de vie/respiration