#!/bin/bash source config-file echo "Stop minetestsrv service" systemctl stop minetestsrv echo "Drop and recreate all databases" sudo -u postgres dropdb minetest sudo -u postgres dropdb minetest_players sudo -u postgres dropdb minetest_auth sudo -u postgres createdb minetest sudo -u postgres createdb minetest_players sudo -u postgres createdb minetest_auth sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password '$psql_postgres_user_password';" sudo -u postgres psql -U postgres -d postgres -c "alter user minetest with password '$psql_minetest_user_password';" sudo -u postgres psql -U postgres -d postgres -c "grant all privileges on database "minetest" to minetest;" sudo -u postgres psql -U postgres -d postgres -c "grant all privileges on database "minetest_players" to minetest;" sudo -u postgres psql -U postgres -d postgres -c "grant all privileges on database "minetest_auth" to minetest;" echo "Backup minetest.conf" mv -f /home/minetest/.minetest/minetest.conf /tmp/minetest.conf echo "Remove /home/minetest" rm -rf /home/minetest echo "Clone minetest_game $mt_version" mkdir -p /home/minetest/.minetest/games/ rm -rf /home/minetest/.minetest/games/minetest git clone --depth 1 --branch "$mt_version" https://github.com/minetest/minetest_game.git /home/minetest/.minetest/games/minetest echo "Restore minetest.conf and regenerate world.mt" mkdir -p /home/minetest/.minetest/worlds/world/ mv -f /tmp/minetest.conf /home/minetest/.minetest/minetest.conf echo "gameid = minetest" > /home/minetest/.minetest/worlds/world/world.mt echo "backend = postgresql" >> /home/minetest/.minetest/worlds/world/world.mt echo "creative_mode = $mt_creative_mode" >> /home/minetest/.minetest/worlds/world/world.mt echo "enable_damage = true" >> /home/minetest/.minetest/worlds/world/world.mt echo "player_backend = postgresql" >> /home/minetest/.minetest/worlds/world/world.mt echo "auth_backend = postgresql" >> /home/minetest/.minetest/worlds/world/world.mt echo "pgsql_connection = host=127.0.0.1 user=minetest password=$psql_minetest_user_password dbname=minetest" >> /home/minetest/.minetest/worlds/world/world.mt echo "pgsql_player_connection = host=127.0.0.1 user=minetest password=$psql_minetest_user_password dbname=minetest_players" >> /home/minetest/.minetest/worlds/world/world.mt echo "pgsql_auth_connection = host=127.0.0.1 user=minetest password=$psql_minetest_user_password dbname=minetest_auth" >> /home/minetest/.minetest/worlds/world/world.mt cat mods-list >> /home/minetest/.minetest/worlds/world/world.mt echo "Copy mods folder" cp -r mods /home/minetest/.minetest/mods echo "Fix privileges on /home/minetest" chown minetest:minetest /home/minetest/ -cR if [ -z "$1" ] then echo "Start minetestsrv service" systemctl start minetestsrv fi