41 lines
1.7 KiB
Bash
41 lines
1.7 KiB
Bash
#!/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 configs"
|
|
mv -f /home/minetest/.minetest/minetest.conf /tmp/minetest.conf
|
|
mv -f /home/minetest/.minetest/worlds/world/world.mt /tmp/world.mt
|
|
|
|
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 configs"
|
|
mkdir -p /home/minetest/.minetest/worlds/world/
|
|
mv -f /tmp/minetest.conf /home/minetest/.minetest/minetest.conf
|
|
mv -f /tmp/world.mt /home/minetest/.minetest/worlds/world/world.mt
|
|
|
|
echo "Fix privileges on /home/minetest"
|
|
chown minetest:minetest /home/minetest/ -cR
|
|
|
|
echo "Start minetestsrv service"
|
|
systemctl start minetestsrv
|