diff --git a/README.md b/README.md index 5308636..c294188 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ Otherwise just install everything EXCEPT cme_to_spawners & tsm_pyramids_to_spawn * Updated pipeworks fork by HybridDog: https://github.com/HybridDog/pipeworks ## Known issues: +* spawners to spawners modpack transitional mod included here does not transition dungeon spawners such as `spawners:mobs_stone_monster_spawner_waiting` (in private test world near (?, -1458, -12) * worlds made with older version of enliven use Echoes' throwing, so the following differences must be fixed possibly with a new mod: * Old throwing items that are not in throwing_arrows: * throwing:arrow_steel diff --git a/etc/minetestserver-install-git-all-backends.sh b/etc/minetestserver-install-git-all-backends.sh new file mode 100644 index 0000000..db13adf --- /dev/null +++ b/etc/minetestserver-install-git-all-backends.sh @@ -0,0 +1,57 @@ +#remove non-git version first: +sudo apt update +echo "This script compiles AND installs minetestserver (NOT run-in-place, but rather system-wide) with leveldb, redis, and defaults postgresql, doxygen, sqlite3" +echo +echo +echo "If you want to install the client on your server (not normal practice), change -DBUILD_CLIENT=FALSE to -DBUILD_CLIENT=TRUE before continuing this script." +echo "Removing the non-git (packaged) version first (Press Ctrl C to cancel)..." +sleep 1 +echo "3..." +sleep 1 +echo "2..." +sleep 1 +echo "1..." +sleep 1 +echo +sudo apt remove minetest-server +sudo apt remove minetest + +sudo apt install libncurses5-dev libgettextpo-dev doxygen libspatialindex-dev libpq-dev postgresql-server-dev-all +# added libpq-dev postgresql-server-dev-all (or specific version) are BOTH needed for PostgreSQL development as per https://stackoverflow.com/questions/13920383/findpostgresql-cmake-wont-work-on-ubuntu +# if you skip the above, the below says missing: GetText, Curses, ncurses, Redis, SpatialIndex, Doxygen +sudo apt install -y git build-essential libirrlicht-dev libgettextpo0 libfreetype6-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-openssl-dev libluajit-5.1-dev liblua5.1-0-dev libleveldb-dev +cd +if [ ! -d "Downloads" ]; then + mkdir Downloads +fi +if [ -d minetest ]; then + echo "ERROR: Nothing done since 'minetest' already exists in `pwd`--delete it before cloning, or run the included update script to update." +fi +git clone https://github.com/minetest/minetest.git +git pull --all # see https://forum.minetest.net/viewtopic.php?f=42&t=3837&start=125#p306449 +cd minetest/games +git clone https://github.com/minetest/minetest_game.git +git pull --all +cd .. +# heavily modified from forum url above due to hints from AUR files obtained via git clone https://aur.archlinux.org/minetest-git-leveldb.git +echo "ENABLE_CURSES enables server-side terminal via --terminal option" +cmake . -DENABLE_GETTEXT=on -DENABLE_CURSES=on -DENABLE_FREETYPE=on -DENABLE_LEVELDB=on -DENABLE_CURL=on -DENABLE_GETTEXT=on -DENABLE_REDIS=on -DENABLE_POSTGRESQL=on -DBUILD_SERVER=on -DBUILD_CLIENT=off -DRUN_IN_PLACE=off -DCMAKE_BUILD_TYPE=Release +# NOTE: as long as -DRUN_IN_PLACE=off, above installs correctly without -DCMAKE_INSTALL_PREFIX=/usr which for some reason is used by https://aur.archlinux.org/minetest-git.git +# -DCMAKE_BUILD_TYPE=Release as per https://aur.archlinux.org/minetest-git.git +make -j$(nproc) +sudo make install +if [ -f "`command -v update-desktop-database`" ]; then + echo "updating desktop database as per https://aur.archlinux.org/minetest-git.git" + update-desktop-database &>/dev/null && update-desktop-database -q +fi +if [ -f "`command -v gtk-update-icon-cache`" ]; then + echo "updating gtk icon cache as per https://aur.archlinux.org/minetest-git.git" + gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +fi +# minetest; +echo -e "\n\n\e[1;33mYou can run Minetest Server by typing \"minetestserver\" in a terminal, but using mtsenliven.py is recommended instead and keeps a config file for what world and subgame you want via minetestinfo.py.\e[0m" +echo "The only known uninstall method is:" +echo "sudo xargs rm < install_manifest.txt" +echo "# as per http://irc.minetest.net/minetest/2015-08-06" +# based on https://forum.minetest.net/viewtopic.php?f=42&t=3837 (below) +# sudo apt-get install -y git build-essential libirrlicht-dev libgettextpo0 libfreetype6-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-openssl-dev libluajit-5.1-dev liblua5.1-0-dev libleveldb-dev; cd; git clone https://github.com/minetest/minetest.git; cd minetest/games; git clone https://github.com/minetest/minetest_game.git; cd ..; cmake . -DENABLE_GETTEXT=1 -DENABLE_FREETYPE=1 -DENABLE_LEVELDB=1; make -j$(nproc); sudo make install; minetest; echo -e "\n\n\e[1;33mYou can run Minetest again by typing \"minetest\" in a terminal or selecting it in an applications menu.\nYou can install mods in ~/.minetest/mods, too.\e[0m" diff --git a/etc/minetestserver-uninstall-git-leftovers.sh b/etc/minetestserver-uninstall-git-leftovers.sh new file mode 100644 index 0000000..51d647d --- /dev/null +++ b/etc/minetestserver-uninstall-git-leftovers.sh @@ -0,0 +1,33 @@ +if [ ! -f "install_manifest.txt" ]; then + echo "missing install_manifest.txt, cannot uninstall unless you properly run cmake source and are running this script from the base repo directory" + exit 1 +fi +sudo xargs rm < install_manifest.txt +echo "Remove botched folders from faulty make install path apparently caused by running sudo make install without -DRUN_IN_PLACE=FALSE" +echo "This should be safe since only removes directories if empty (except removes /usr/local/mods recursively)..." +rmdir /usr/local/mods +rmdir /usr/local/textures +rmdir /usr/local/games +rmdir /usr/local/fonts +rmdir /usr/local/builtin +rmdir /usr/local/doc +rmdir /usr/local/unix +rmdir /usr/local/fonts +sudo rm -Rf /usr/local/mods +sudo rmdir /usr/local/textures +sudo rmdir /usr/local/doc +sudo rmdir /usr/local/fonts +sudo rmdir /usr/local/unix/* +#rmdir: failed to remove 'icons': Directory not empty +#rmdir: failed to remove 'man': Directory not empty +sudo rmdir /usr/local/unix/man/man6 +sudo rmdir /usr/local/unix/man +sudo rmdir /usr/local/unix/icons/hicolor/128x128/* +sudo rmdir /usr/local/unix/icons/hicolor/128x128 +sudo rmdir /usr/local/unix/icons/hicolor/scalable/* +sudo rmdir /usr/local/unix/icons/hicolor/scalable +sudo rmdir /usr/local/unix/icons/hicolor +sudo rmdir /usr/local/unix/icons +sudo rmdir /usr/local/unix +sudo rmdir /usr/local/builtin/* +sudo rmdir /usr/local/builtin diff --git a/etc/minetestserver-uninstall-git.sh b/etc/minetestserver-uninstall-git.sh new file mode 100644 index 0000000..fee7f3f --- /dev/null +++ b/etc/minetestserver-uninstall-git.sh @@ -0,0 +1,44 @@ + +LOCAL_REPO_DIR=$HOME/Downloads/minetest +if [ ! -f "$LOCAL_REPO_DIR/install_manifest.txt" ]; then + echo "missing $LOCAL_REPO_DIR/install_manifest.txt, cannot uninstall unless you properly run cmake source and are running this script from the base repo directory (only runs from that specific location specified for safety)" + exit 1 +fi +cd "$LOCAL_REPO_DIR" +sudo xargs rm < install_manifest.txt +echo "Remove botched folders from faulty make install path apparently caused by running sudo make install without -DRUN_IN_PLACE=FALSE" +echo "This should be safe since only removes directories if empty (except removes /usr/local/mods recursively)..." +rmdir /usr/local/mods +rmdir /usr/local/textures +rmdir /usr/local/games +rmdir /usr/local/fonts +rmdir /usr/local/builtin +rmdir /usr/local/doc +rmdir /usr/local/unix +rmdir /usr/local/fonts +sudo rm -Rf /usr/local/mods +sudo rmdir /usr/local/textures +sudo rmdir /usr/local/doc +sudo rmdir /usr/local/fonts +sudo rmdir /usr/local/unix/* +#rmdir: failed to remove 'icons': Directory not empty +#rmdir: failed to remove 'man': Directory not empty +sudo rmdir /usr/local/unix/man/man6 +sudo rmdir /usr/local/unix/man +sudo rmdir /usr/local/unix/icons/hicolor/128x128/* +sudo rmdir /usr/local/unix/icons/hicolor/128x128 +sudo rmdir /usr/local/unix/icons/hicolor/scalable/* +sudo rmdir /usr/local/unix/icons/hicolor/scalable +sudo rmdir /usr/local/unix/icons/hicolor +sudo rmdir /usr/local/unix/icons +sudo rmdir /usr/local/unix +sudo rmdir /usr/local/builtin/* +sudo rmdir /usr/local/builtin +if [ -f "`command -v update-desktop-database`" ]; then + echo "updating desktop database as per https://aur.archlinux.org/minetest-git.git" + update-desktop-database &>/dev/null && update-desktop-database -q +fi +if [ -f "`command -v gtk-update-icon-cache`" ]; then + echo "updating gtk icon cache as per https://aur.archlinux.org/minetest-git.git" + gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +fi diff --git a/etc/minetestserver-update-from-git.sh b/etc/minetestserver-update-from-git.sh new file mode 100644 index 0000000..53c5881 --- /dev/null +++ b/etc/minetestserver-update-from-git.sh @@ -0,0 +1,16 @@ +#!/bin/sh + + +if [ -d "$HOME/Downloads/minetest" ]; then + cd "$HOME/Downloads" + cd minetest; sudo git pull; sudo make -j$(nproc) + #cd games; sudo git pull; sudo make -j$(nproc) + #git config global user.email "" + #git config global user.name "expertmm" + sudo git pull https://github.com/minetest/minetest_game.git + #sudo git fetch + #sudo git checkout HEAD games/minetest_game + #sudo make install +else + echo "ERROR: no minetest in $HOME/Downloads" +fi diff --git a/etc/unused/minetestserver-update-from-git.sh b/etc/unused/minetestserver-update-from-git.sh deleted file mode 100644 index c31377c..0000000 --- a/etc/unused/minetestserver-update-from-git.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -cd -cd minetest; sudo git pull; sudo make -j$(nproc) -#cd games; sudo git pull; sudo make -j$(nproc) -#git config global user.email "tertiary@axlemedia.net" -#git config global user.name "Expert Multimedia" -sudo git pull https://github.com/minetest/minetest_game.git -#sudo git fetch -#sudo git checkout HEAD games/minetest_game -#sudo make install \ No newline at end of file