Browse Source

update for spawners change from mod to modpack

and shell function for install script
master
poikilos 7 years ago
committed by Jacob Gustafson
parent
commit
f0ac32dded
  1. 19
      README.md
  2. 843
      etc/change_hardcoded_world_name_first/game-install-ENLIVEN
  3. 198
      etc/game-install-enliven-testing.sh
  4. 100
      mtsenliven.py
  5. 11
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/README.txt
  6. 6
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/depends.txt
  7. 59
      patches/mods-deprecated/cme_to_spawners-0.4.15-git/init.lua
  8. 2
      patches/mods-stopgap/cme_to_spawners/depends.txt
  9. 18
      patches/mods-stopgap/cme_to_spawners/init.lua
  10. 11
      patches/mods-stopgap/spawners_to_spawners_mobs/README.txt
  11. 6
      patches/mods-stopgap/spawners_to_spawners_mobs/depends.txt
  12. 13
      patches/mods-stopgap/spawners_to_spawners_mobs/init.lua

19
README.md

@ -10,13 +10,19 @@ ENLIVEN is a subgame for minetest with the goals of providing immersion and less
* birthstones, improved fork: <https://github.com/expertmm/minetest-birthstones> * birthstones, improved fork: <https://github.com/expertmm/minetest-birthstones>
### Planned Features ### Planned Features
* trm_pyramids
* see also EnlivenMinetest/etc/game-install-enliven-testing.sh * see also EnlivenMinetest/etc/game-install-enliven-testing.sh
#### Possible Additions
* https://github.com/minetest-mods/woodcutting/archive/master.zip
(sneek click to start auto-harvest tree, sneak again to cancel)
* subterrane: fork of Caverealms, but is just an API and needs other mods to generate anything
* craftguide
* privilegeareas: Privileges granted depending on areas -- https://github.com/minetest-mods/privilegeareas/archive/master.zip
#### Shell Script Deprecation Process #### Shell Script Deprecation Process
##### Goals ##### Goals
* Remove anything running as root, by running as user in web server group * Remove anything running as root, by running as user in web server group
##### Finished ##### Finished
* etc/change_hardcoded_world_name_first/mts-ENLIVEN deprecated by mtsenliven.py * etc/change_hardcoded_world_name_first/mts-ENLIVEN deprecated by mtsenliven.py
@ -75,6 +81,15 @@ Otherwise just install everything EXCEPT cme_to_spawners & tsm_pyramids_to_spawn
* fix exception while trying to recover from exception (see `Could not finish writing r`) * fix exception while trying to recover from exception (see `Could not finish writing r`)
## Changes: ## Changes:
(2018-02-08)
* trm_pyramids added (partial code in game-install-ENLIVEN completed)
(a required treasure table so tsm_pyramids can provide treasure in pyramids)
* switched links to use minetest-mods' versions of:
* throwing (now is an api only so ENLIVEN also installs minetest-mods/throwing_arrows)
* pipeworks
* added anvil mod
* added sling mod (throw any item or stack using sling--accounts for multiplayer)
(2018-02-06) (2018-02-06)
* refactored file structure * refactored file structure
* renamed games/ENLIVEN to patches/subgame * renamed games/ENLIVEN to patches/subgame

843
etc/change_hardcoded_world_name_first/game-install-ENLIVEN

File diff suppressed because it is too large

198
etc/game-install-enliven-testing.sh

@ -28,27 +28,26 @@ echo "* torches: removes ceiling torches"
# * resolve mg_villages error: # * resolve mg_villages error:
#2017-01-30 03:08:37: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'default' in callback item_OnPlace(): ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: attempt to concatenate field 'mts_path' (a nil value) #2017-01-30 03:08:37: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'default' in callback item_OnPlace(): ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: attempt to concatenate field 'mts_path' (a nil value)
#2017-01-30 03:08:37: ERROR[Main]: stack traceback: #2017-01-30 03:08:37: ERROR[Main]: stack traceback:
#2017-01-30 03:08:37: ERROR[Main]: ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: in function 'on_rightclick' #2017-01-30 03:08:37: ERROR[Main]: ...e/minetest/games/enliven/mods/mg_villages/protection.lua:215: in function 'on_rightclick'
#2017-01-30 03:08:37: ERROR[Main]: ...ocal/share/minetest/games/enliven/mods/default/torch.lua:67: in function <...ocal/share/minetest/games/enliven/mods/default/#torch.lua:61> #2017-01-30 03:08:37: ERROR[Main]: ...ocal/share/minetest/games/enliven/mods/default/torch.lua:67: in function <...ocal/share/minetest/games/enliven/mods/default/#torch.lua:61>
#2017-01-30 03:08:37: ACTION[Server]: singleplayer leaves game. List of players: #2017-01-30 03:08:37: ACTION[Server]: singleplayer leaves game. List of players:
#2017-01-30 03:08:37: ACTION[Main]: [fishing] Server shuts down. saving trophies table #2017-01-30 03:08:37: ACTION[Main]: [fishing] Server shuts down. saving trophies table
# * resolve issue where signslib uses small Helvetica Narrow font even if extrafonts is used properly by 31px/* (largest) being copied to signslib/textures/ (see below) # * resolve issue where signslib uses small Helvetica Narrow font even if extrafonts is used properly by 31px/* (largest) being copied to signslib/textures/ (see below)
# * check whether special_picks large picks can break protection # * check whether special_picks large picks can break protection
# * change uses of maxwear=x to uses=1/x as per minetest server startup warnings: plantlife_modpack/vines/shear.lua and worldedit_commands/wand.lua # * change uses of maxwear=x to uses=1/x as per minetest server startup warnings: plantlife_modpack/vines/shear.lua and worldedit_commands/wand.lua
# * sometimes sorting compassgps by location crashes (only on the included user file named yelby in the etc folder) # * sometimes sorting compassgps by location crashes (only on the included user file named yelby in the etc folder)
if [ ! -d "$MT_MYGAME_MODS_PATH" ]; then
echo "bad MT_MYGAME_MODS_PATH=$MT_MYGAME_MODS_PATH, so you must be doing it wrong."
exit 1
fi
#used by mg_villages fork by Sokomine #used by mg_villages fork by Sokomine
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=handle_schematics.zip MTMOD_SRC_ZIP=handle_schematics.zip
MTMOD_UNZ_NAME=handle_schematics-master MTMOD_UNZ_NAME=handle_schematics-master
MTMOD_DEST_NAME=handle_schematics MTMOD_DEST_NAME=handle_schematics
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -56,8 +55,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/Sokomine/handle_schematics/archive/master.zip wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/handle_schematics/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -70,16 +68,12 @@ fi
#This mod is part of minetest_game 0.4.15! #This mod is part of minetest_game 0.4.15!
#With exception of the wieldlight #With exception of the wieldlight
#cd $HOME/Downloads #cd $HOME/Downloads
#MTMOD_DL_ZIP=master.zip
#MTMOD_SRC_ZIP=torches.zip #MTMOD_SRC_ZIP=torches.zip
#MTMOD_UNZ_NAME=torches-master #MTMOD_UNZ_NAME=torches-master
#MTMOD_DEST_NAME=torches #MTMOD_DEST_NAME=torches
#MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME #MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
##if [ -d "$MTMOD_UNZ_NAME" ]; then #if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
#rm -Rf $MTMOD_UNZ_NAME # rm -Rf $MTMOD_UNZ_NAME
##fi
#if [ -f $MTMOD_DL_ZIP ]; then
# rm -f $MTMOD_DL_ZIP
#fi #fi
#if [ -f $MTMOD_SRC_ZIP ]; then #if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP # rm -f $MTMOD_SRC_ZIP
@ -87,8 +81,7 @@ fi
#if [ -d "$MTMOD_DEST_PATH" ]; then #if [ -d "$MTMOD_DEST_PATH" ]; then
# sudo rm -Rf "$MTMOD_DEST_PATH" # sudo rm -Rf "$MTMOD_DEST_PATH"
#fi #fi
#wget https://github.com/BlockMen/torches/archive/master.zip #wget -O $MTMOD_SRC_ZIP https://github.com/BlockMen/torches/archive/master.zip
#mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
#unzip "$MTMOD_SRC_ZIP" #unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" #sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
#if [ ! -d "$MTMOD_DEST_PATH" ]; then #if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -98,16 +91,12 @@ fi
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=moresnow.zip MTMOD_SRC_ZIP=moresnow.zip
MTMOD_UNZ_NAME=moresnow-master MTMOD_UNZ_NAME=moresnow-master
MTMOD_DEST_NAME=moresnow MTMOD_DEST_NAME=moresnow
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -115,8 +104,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/Sokomine/moresnow/archive/master.zip wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/moresnow/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -129,16 +117,12 @@ fi
echo "Installing adrido's (NOT MasterGollum's which is incompatible with moreblocks) darkage..." echo "Installing adrido's (NOT MasterGollum's which is incompatible with moreblocks) darkage..."
#linked from MasterGollum's: https://forum.minetest.net/viewtopic.php?id=3213 #linked from MasterGollum's: https://forum.minetest.net/viewtopic.php?id=3213
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=darkage.zip MTMOD_SRC_ZIP=darkage.zip
MTMOD_UNZ_NAME=darkage-master MTMOD_UNZ_NAME=darkage-master
MTMOD_DEST_NAME=darkage MTMOD_DEST_NAME=darkage
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -146,8 +130,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/adrido/darkage/archive/master.zip wget -O $MTMOD_SRC_ZIP https://github.com/adrido/darkage/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -156,16 +139,12 @@ if [ ! -d "$MTMOD_DEST_PATH" ]; then
fi fi
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=cottages.zip MTMOD_SRC_ZIP=cottages.zip
MTMOD_UNZ_NAME=cottages-master MTMOD_UNZ_NAME=cottages-master
MTMOD_DEST_NAME=cottages MTMOD_DEST_NAME=cottages
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -173,8 +152,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/Sokomine/cottages/archive/master.zip wget $MTMOD_SRC_ZIP https://github.com/Sokomine/cottages/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -183,46 +161,14 @@ if [ ! -d "$MTMOD_DEST_PATH" ]; then
fi fi
#forum post (Sokomine's mg_villages provides villages for all mapgens and is based on is fork of Nores mg mapgen): https://forum.minetest.net/viewtopic.php?f=9&t=13116
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=mg_villages.zip
MTMOD_UNZ_NAME=mg_villages-master
MTMOD_DEST_NAME=mg_villages
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then
rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi
if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP
fi
if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH"
fi
wget https://github.com/Sokomine/mg_villages/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then
echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
exit 1
fi
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=advanced_npc.zip MTMOD_SRC_ZIP=advanced_npc.zip
MTMOD_UNZ_NAME=advanced_npc-master MTMOD_UNZ_NAME=advanced_npc-master
MTMOD_DEST_NAME=advanced_npc MTMOD_DEST_NAME=advanced_npc
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -230,8 +176,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/hkzorman/advanced_npc/archive/master.zip wget -O $MTMOD_SRC_ZIP https://github.com/hkzorman/advanced_npc/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -242,16 +187,12 @@ fi
#forum post (special_picks by cx384): https://forum.minetest.net/viewtopic.php?f=11&t=9574 #forum post (special_picks by cx384): https://forum.minetest.net/viewtopic.php?f=11&t=9574
cd $HOME/Downloads cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip
MTMOD_SRC_ZIP=special_picks.zip MTMOD_SRC_ZIP=special_picks.zip
MTMOD_UNZ_NAME=special_picks-master MTMOD_UNZ_NAME=special_picks-master
MTMOD_DEST_NAME=special_picks MTMOD_DEST_NAME=special_picks
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ -d "$MTMOD_UNZ_NAME" ]; then if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME rm -Rf $MTMOD_UNZ_NAME
#fi
if [ -f $MTMOD_DL_ZIP ]; then
rm -f $MTMOD_DL_ZIP
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then if [ -f $MTMOD_SRC_ZIP ]; then
rm -f $MTMOD_SRC_ZIP rm -f $MTMOD_SRC_ZIP
@ -259,8 +200,7 @@ fi
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/cx384/special_picks/archive/master.zip wget -O $MTMOD_SRC_ZIP https://github.com/cx384/special_picks/archive/master.zip
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP"
unzip "$MTMOD_SRC_ZIP" unzip "$MTMOD_SRC_ZIP"
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
if [ ! -d "$MTMOD_DEST_PATH" ]; then if [ ! -d "$MTMOD_DEST_PATH" ]; then
@ -268,26 +208,78 @@ if [ ! -d "$MTMOD_DEST_PATH" ]; then
exit 1 exit 1
fi fi
cd $HOME/Downloads
MTMOD_DL_ZIP=master.zip # no longer needed since ENLIVEN main branch now uses expertmm travelnet:
MTMOD_SRC_ZIP=travelnet.zip #cd $HOME/Downloads
MTMOD_UNZ_NAME=travelnet-master #MTMOD_SRC_ZIP=travelnet.zip
MTMOD_DEST_NAME=travelnet #MTMOD_UNZ_NAME=travelnet-master
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME #MTMOD_DEST_NAME=travelnet
#if [ -d "$MTMOD_UNZ_NAME" ]; then #MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
rm -Rf $MTMOD_UNZ_NAME #if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
# rm -Rf $MTMOD_UNZ_NAME
#fi
#if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP
#fi #fi
if [ -f $MTMOD_DL_ZIP ]; then #if [ -d "$MTMOD_DEST_PATH" ]; then
rm -f $MTMOD_DL_ZIP # sudo rm -Rf "$MTMOD_DEST_PATH"
#fi
#wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/travelnet/archive/master.zip
#unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
cd "$HOME/Downloads"
#does NOT have a zip extension when downloaded via wget:
MTMOD_SRC_ZIP=mesecons_modpack.zip
MTMOD_UNZ_NAME=mesecons-master
MTMOD_DEST_NAME=mesecons
MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
rm -Rf $MTMOD_UNZ_NAME
fi fi
if [ -f $MTMOD_SRC_ZIP ]; then rm -Rf minetest-mods-mesecons-*
rm -f $MTMOD_SRC_ZIP rm -Rf ""
if [ -f "$MTMOD_SRC_ZIP" ]; then
rm -f "$MTMOD_SRC_ZIP"
fi fi
wget -O $MTMOD_SRC_ZIP https://github.com/minetest-mods/mg/archive/master.zip
unzip $MTMOD_SRC_ZIP
if [ -d "$MTMOD_DEST_PATH" ]; then if [ -d "$MTMOD_DEST_PATH" ]; then
sudo rm -Rf "$MTMOD_DEST_PATH" sudo rm -Rf "$MTMOD_DEST_PATH"
fi fi
wget https://github.com/Sokomine/travelnet/archive/master.zip sudo mv -f $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
mv $MTMOD_DL_ZIP "$MTMOD_SRC_ZIP" if [ ! -d "$MTMOD_DEST_PATH" ]; then
unzip "$MTMOD_SRC_ZIP" echo "ERROR: failed to create $MTMOD_DEST_PATH, so cannot continue." > $err_txt
sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH" cat $err_txt
sleep 3
exit 1
fi
# no longer needed (?) since minetest-mods now maintains an mg with villages
#forum post (Sokomine's mg_villages provides villages for all mapgens and is based on is fork of Nores mg mapgen): https://forum.minetest.net/viewtopic.php?f=9&t=13116
#cd $HOME/Downloads
#MTMOD_SRC_ZIP=mg_villages.zip
#MTMOD_UNZ_NAME=mg_villages-master
#MTMOD_DEST_NAME=mg_villages
#MTMOD_DEST_PATH=$MT_MYGAME_MODS_PATH/$MTMOD_DEST_NAME
#if [ ! -z "`ls | grep $MTMOD_UNZ_NAME`" ]; then # works with wildcard in variable
# rm -Rf $MTMOD_UNZ_NAME
#fi
#if [ -f $MTMOD_SRC_ZIP ]; then
# rm -f $MTMOD_SRC_ZIP
#fi
#if [ -d "$MTMOD_DEST_PATH" ]; then
# sudo rm -Rf "$MTMOD_DEST_PATH"
#fi
#wget -O $MTMOD_SRC_ZIP https://github.com/Sokomine/mg_villages/archive/master.zip
#unzip "$MTMOD_SRC_ZIP"
#sudo mv $MTMOD_UNZ_NAME "$MTMOD_DEST_PATH"
#if [ ! -d "$MTMOD_DEST_PATH" ]; then
# echo "ERROR: failed to unzip $MTMOD_DEST_PATH, so cannot continue."
# exit 1
#fi

100
mtsenliven.py

@ -1,6 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# runs minetestserver using the paths defined by minetestinfo # runs minetestserver using the paths defined by minetestinfo
# NOTE: SIGINT (as opposed to KILL) makes sure minetest server
# shuts down properly (makes sure all processes finish) according to
# dr4Ke on
# https://forum.minetest.net/viewtopic.php?f=11&t=13138&start=50
import os import os
from mtanalyze.minetestinfo import * from mtanalyze.minetestinfo import *
@ -60,29 +64,53 @@ for flag in msg_flags:
# see https://www.endpoint.com/blog/2015/01/28/getting-realtime-output- # see https://www.endpoint.com/blog/2015/01/28/getting-realtime-output-
# using-python # using-python
non_unique_wraps = []
non_unique_wraps.append(
{
"opener":"active block modifiers took ",
"closer":"ms (longer than 200ms)"
}
)
unique_flags = [
"leaves game",
"joins game"
]
def print_unique_only(output, err_flag=False): def print_unique_only(output, err_flag=False):
output_strip = output.strip() output_strip = output.strip()
u_prefix = "active block modifiers took "
u_suffix = "ms (longer than 200ms)"
# (out_bytes is bytes) # (out_bytes is bytes)
show_enable = True show_enable = True
found_flag = None found_flag = None
f_i = None f_i = None
for flag in msg_flags: always_show_enable = False
# such as '2018-02-06 21:08:06: WARNING[Server]: Deprecated call to get_look_yaw, use get_look_horizontal instead' for flag in unique_flags:
# or 2018-02-06 21:08:05: ACTION[Server]: [playereffects] Wrote playereffects data into /home/owner/.minetest/worlds/FCAGameAWorld/playereffects.mt. if flag in output:
f_i = output.find(flag) always_show_enable = True
if f_i >= 0: if not always_show_enable:
found_flag = flag for flag in msg_flags:
break # such as '2018-02-06 21:08:06: WARNING[Server]: Deprecated call to get_look_yaw, use get_look_horizontal instead'
if found_flag: # or 2018-02-06 21:08:05: ACTION[Server]: [playereffects] Wrote playereffects data into /home/owner/.minetest/worlds/FCAGameAWorld/playereffects.mt.
sub_msg = output[f_i+len(flag):].strip() f_i = output.find(flag)
if sub_msg in msg_lists[found_flag]: if f_i >= 0:
show_enable = False found_flag = flag
else: break
msg_lists[found_flag].append(sub_msg) if found_flag:
sub_msg = output[f_i+len(flag):].strip()
for wrap in non_unique_wraps:
if wrap["opener"] in sub_msg and wrap["closer"] in sub_msg:
sub_msg = wrap["opener"] + "..." + wrap["closer"]
break
if sub_msg in msg_lists[found_flag]:
show_enable = False
else:
msg_lists[found_flag].append(sub_msg)
if show_enable: if show_enable:
print(output_strip) print(output_strip)
if found_flag is not None: if found_flag is not None:
print(" [ mtsenliven.py ] previous msg will be repressed") print(" [ mtsenliven.py ] previous msg will be suppressed")
def process_msg(bstring): def process_msg(bstring):
output = bstring output = bstring
@ -104,28 +132,35 @@ def process_msg(bstring):
# see jfs's answer on https://stackoverflow.com/questions/31833897/python-read-from-subprocess-stdout-and-stderr-separately-while-preserving-order # see jfs's answer on https://stackoverflow.com/questions/31833897/python-read-from-subprocess-stdout-and-stderr-separately-while-preserving-order
def reader(pipe, q): def reader(pipe, q):
try: try:
with pipe: try:
for line in iter(pipe.readline, b''): with pipe:
q.put((pipe, line)) for line in iter(pipe.readline, b''):
finally: q.put((pipe, line))
q.put(None) finally:
q.put(None)
except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
pass
q = Queue() q = Queue()
Thread(target=reader, args=[process.stdout, q]).start() Thread(target=reader, args=[process.stdout, q]).start()
Thread(target=reader, args=[process.stderr, q]).start() Thread(target=reader, args=[process.stderr, q]).start()
try:
for _ in range(2): for _ in range(2):
for source, line in iter(q.get, None): for source, line in iter(q.get, None):
# print "%s: %s" % (source, line), # print "%s: %s" % (source, line),
s = source s = source
l = line l = line
# NOTE: source is a string such as "<_io.BufferedReader name=5>" # NOTE: source is a string such as "<_io.BufferedReader name=5>"
try: try:
l = line.decode("utf-8") l = line.decode("utf-8")
except: except:
# this should never happen but doesn't matter anyway # this should never happen but doesn't matter anyway
pass pass
process_msg("%s: %s" % (s, l)) process_msg("%s: %s" % (s, l))
except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
pass
exit(0) exit(0)
@ -145,5 +180,6 @@ while True:
# process_msg(err_bytes) # process_msg(err_bytes)
rc = process.poll() rc = process.poll()
except KeyboardInterrupt: except KeyboardInterrupt:
print("[ mtsenliven.py ] SIGINT should shut down server safely")
break break
# process.kill() # process.kill()

11
patches/mods-deprecated/cme_to_spawners-0.4.15-git/README.txt

@ -0,0 +1,11 @@
Minetest Game mod: cme_to_spawners
=========================
This mod provides a transition from cme (Creatures Mob Engine) so you can use "spawners" mod instead, which uses mobs_monsters [mobs redo monsters] and a new spawners:mummy.
Authors of source code
----------------------
expertmm (github.com/expertmm)
Authors of media (textures)
---------------------------
(no media)

6
patches/mods-deprecated/cme_to_spawners-0.4.15-git/depends.txt

@ -0,0 +1,6 @@
default
farming
mobs
mobs_monster
mobs_animal
spawners

59
patches/mods-deprecated/cme_to_spawners-0.4.15-git/init.lua

@ -0,0 +1,59 @@
-- Copyright 2017 expertmm
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-- NOTE: register_alias is not needed for mobs, since alias_mob calls that
-- minetest.register_alias(name, convert_to)
-- "This means that if the engine finds nodes with the name name in the world the node with the name convert_to is used instead. "
-- <https://dev.minetest.net/minetest.register_alias>
-- minetest.register_alias("creatures:chicken", "mobs_animal:chicken")
-- minetest.register_alias("creatures:sheep", "mobs_animal:sheep_white")
-- minetest.register_alias("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
-- minetest.register_alias("creatures:ghost", "mobs_monster:spider")
-- minetest.register_alias("creatures:mummy", "spawners:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
-- minetest.register_alias("creatures:oerrki", "mobs_monster:oerrki")
-- minetest.register_alias("creatures:zombie", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:chicken", "mobs_animal:chicken")
mobs:alias_mob("creatures:sheep", "mobs_animal:sheep_white")
mobs:alias_mob("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
mobs:alias_mob("creatures:ghost", "mobs_monster:spider")
mobs:alias_mob("creatures:mummy", "spawners:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:oerrki", "mobs_monster:oerrki")
mobs:alias_mob("creatures:zombie", "mobs_monster:stone_monster")
minetest.register_alias("creatures:chicken_spawner", "spawners:mobs_chicken_spawner")
minetest.register_alias("creatures:ghost_spawner", "spawners:mobs_spider_spawner")
minetest.register_alias("creatures:mummy_spawner", "spawners:spawners_mummy_spawner")
minetest.register_alias("creatures:oerrki_spawner", "spawners:mobs_oerkki_spawner")
minetest.register_alias("creatures:sheep_spawner", "spawners:mobs_sheep_white_spawner")
minetest.register_alias("creatures:zombie_spawner", "spawners:mobs_stone_monster_spawner")
-- meat:
minetest.register_alias("creatures:chicken_flesh", "mobs:chicken_raw")
minetest.register_alias("creatures:chicken_meat", "mobs:chicken_cooked")
minetest.register_alias("creatures:rotten_flesh", "")
minetest.register_alias("creatures:grilled_rotten_flesh", "")
minetest.register_alias("creatures:flesh", "mobs:meat_raw")
minetest.register_alias("creatures:meat", "mobs:meat")
-- non-meat food:
minetest.register_alias("creatures:egg", "mobs:egg")
minetest.register_alias("creatures:fried_egg", "mobs:chicken_egg_fried")
-- materials:
minetest.register_alias("creatures:feather", "farming:string")
-- tools:
minetest.register_alias("creatures:shears", "mobs:shears")
-- eggs (there is no true chicken spawner egg item (at least in egg texture) in spawners or mobs, so using regular chicken which works the same (could also use mobs:egg for partial effectiveness) instead):
minetest.register_alias("creatures:chicken_spawn_egg", "mobs_animal:chicken")
minetest.register_alias("creatures:ghost_spawn_egg", "mobs_monster:spider")
minetest.register_alias("creatures:mummy_spawn_egg", "spawners:mummy")
minetest.register_alias("creatures:oerrki_spawn_egg", "mobs_monster:oerkki")
minetest.register_alias("creatures:sheep_spawn_egg", "mobs:sheep_white")
minetest.register_alias("creatures:zombie_spawn_egg", "mobs_monster:stone_monster")

2
patches/mods-stopgap/cme_to_spawners/depends.txt

@ -3,4 +3,4 @@ farming
mobs mobs
mobs_monster mobs_monster
mobs_animal mobs_animal
spawners spawners_mobs

18
patches/mods-stopgap/cme_to_spawners/init.lua

@ -11,7 +11,7 @@
-- minetest.register_alias("creatures:sheep", "mobs_animal:sheep_white") -- minetest.register_alias("creatures:sheep", "mobs_animal:sheep_white")
-- minetest.register_alias("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod -- minetest.register_alias("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
-- minetest.register_alias("creatures:ghost", "mobs_monster:spider") -- minetest.register_alias("creatures:ghost", "mobs_monster:spider")
-- minetest.register_alias("creatures:mummy", "spawners:mummy") -- minetest.register_alias("creatures:mummy", "spawners_mobs:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster") -- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
-- minetest.register_alias("creatures:oerrki", "mobs_monster:oerrki") -- minetest.register_alias("creatures:oerrki", "mobs_monster:oerrki")
-- minetest.register_alias("creatures:zombie", "mobs_monster:stone_monster") -- minetest.register_alias("creatures:zombie", "mobs_monster:stone_monster")
@ -20,17 +20,17 @@ mobs:alias_mob("creatures:chicken", "mobs_animal:chicken")
mobs:alias_mob("creatures:sheep", "mobs_animal:sheep_white") mobs:alias_mob("creatures:sheep", "mobs_animal:sheep_white")
mobs:alias_mob("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod mobs:alias_mob("mobs_animal:sheep", "mobs_animal:sheep_white") -- this is to fix an earlier bug in this mod
mobs:alias_mob("creatures:ghost", "mobs_monster:spider") mobs:alias_mob("creatures:ghost", "mobs_monster:spider")
mobs:alias_mob("creatures:mummy", "spawners:mummy") mobs:alias_mob("creatures:mummy", "spawners_mobs:mummy")
-- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster") -- minetest.register_alias("creatures:mummy", "mobs_monster:stone_monster")
mobs:alias_mob("creatures:oerrki", "mobs_monster:oerrki") mobs:alias_mob("creatures:oerrki", "mobs_monster:oerrki")
mobs:alias_mob("creatures:zombie", "mobs_monster:stone_monster") mobs:alias_mob("creatures:zombie", "mobs_monster:stone_monster")
minetest.register_alias("creatures:chicken_spawner", "spawners:mobs_chicken_spawner") minetest.register_alias("creatures:chicken_spawner", "spawners_mobs:mobs_chicken_spawner")
minetest.register_alias("creatures:ghost_spawner", "spawners:mobs_spider_spawner") minetest.register_alias("creatures:ghost_spawner", "spawners_env:mobs_spider_spawner")
minetest.register_alias("creatures:mummy_spawner", "spawners:spawners_mummy_spawner") minetest.register_alias("creatures:mummy_spawner", "spawners_mobs:spawners_mobs_mummy_spawner")
minetest.register_alias("creatures:oerrki_spawner", "spawners:mobs_oerkki_spawner") minetest.register_alias("creatures:oerrki_spawner", "spawners_mobs:mobs_oerkki_spawner")
minetest.register_alias("creatures:sheep_spawner", "spawners:mobs_sheep_white_spawner") minetest.register_alias("creatures:sheep_spawner", "spawners_mobs:mobs_sheep_white_spawner")
minetest.register_alias("creatures:zombie_spawner", "spawners:mobs_stone_monster_spawner") minetest.register_alias("creatures:zombie_spawner", "spawners_mobs:mobs_stone_monster_spawner")
-- meat: -- meat:
minetest.register_alias("creatures:chicken_flesh", "mobs:chicken_raw") minetest.register_alias("creatures:chicken_flesh", "mobs:chicken_raw")
@ -53,7 +53,7 @@ minetest.register_alias("creatures:shears", "mobs:shears")
-- eggs (there is no true chicken spawner egg item (at least in egg texture) in spawners or mobs, so using regular chicken which works the same (could also use mobs:egg for partial effectiveness) instead): -- eggs (there is no true chicken spawner egg item (at least in egg texture) in spawners or mobs, so using regular chicken which works the same (could also use mobs:egg for partial effectiveness) instead):
minetest.register_alias("creatures:chicken_spawn_egg", "mobs_animal:chicken") minetest.register_alias("creatures:chicken_spawn_egg", "mobs_animal:chicken")
minetest.register_alias("creatures:ghost_spawn_egg", "mobs_monster:spider") minetest.register_alias("creatures:ghost_spawn_egg", "mobs_monster:spider")
minetest.register_alias("creatures:mummy_spawn_egg", "spawners:mummy") minetest.register_alias("creatures:mummy_spawn_egg", "spawners_mobs:mummy")
minetest.register_alias("creatures:oerrki_spawn_egg", "mobs_monster:oerkki") minetest.register_alias("creatures:oerrki_spawn_egg", "mobs_monster:oerkki")
minetest.register_alias("creatures:sheep_spawn_egg", "mobs:sheep_white") minetest.register_alias("creatures:sheep_spawn_egg", "mobs:sheep_white")
minetest.register_alias("creatures:zombie_spawn_egg", "mobs_monster:stone_monster") minetest.register_alias("creatures:zombie_spawn_egg", "mobs_monster:stone_monster")

11
patches/mods-stopgap/spawners_to_spawners_mobs/README.txt

@ -0,0 +1,11 @@
Minetest Game mod: spawners_to_spawners_mobs
=========================
This mod provides a transition from spawners (old non-modpack version) in case of existing worlds, so you can use the new modpack version of spawners instead, which still uses mobs_monsters [mobs redo monsters] but also uses spawners_mobs:mummy (formerly spawners:mummy).
Authors of source code
----------------------
expertmm (github.com/expertmm)
Authors of media (textures)
---------------------------
(no media)

6
patches/mods-stopgap/spawners_to_spawners_mobs/depends.txt

@ -0,0 +1,6 @@
default
farming
mobs
mobs_monster
mobs_animal
spawners_mobs

13
patches/mods-stopgap/spawners_to_spawners_mobs/init.lua

@ -0,0 +1,13 @@
-- Copyright 2017 expertmm
-- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-- NOTE: register_alias is not needed for mobs, since alias_mob calls that
-- minetest.register_alias(name, convert_to)
-- "This means that if the engine finds nodes with the name name in the world the node with the name convert_to is used instead. "
-- <https://dev.minetest.net/minetest.register_alias>
mobs:alias_mob("spawners:mummy", "spawners_mobs:mummy")
mobs:alias_mob("spawners:bunny_evil", "spawners_mobs:bunny_evil")
mobs:alias_mob("spawners:uruk_hai", "spawners_mobs:uruk_hai")
Loading…
Cancel
Save