mirror of
https://gitlab.com/2009scape/singleplayer/linux.git
synced 2026-08-01 14:39:15 -06:00
99 lines
2 KiB
Bash
Executable file
99 lines
2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#Prompt user with options on what to do
|
|
export LD_LIBRARY_PATH=$(pwd)/data/libs
|
|
echo "What would you like to do? (Type a number)"
|
|
echo "1. Run the game."
|
|
echo "2. Initialize the database. (Only has to be done once!)"
|
|
echo "3. Reset the database."
|
|
echo "4. Grant a player admin rights."
|
|
read -r playerChoice
|
|
|
|
initDB() {
|
|
cd database
|
|
if [ ! -d ./data ]; then
|
|
mkdir ./data
|
|
fi
|
|
bin/mysqld --console --skip-grant-tables --lc-messages-dir="./share/" --datadir="./data" &
|
|
sleep 5
|
|
echo | bin/mysql -u root -e "CREATE DATABASE server;"
|
|
echo | bin/mysql -u root -e "CREATE DATABASE global;"
|
|
echo | bin/mysql -u root server < ../data/server.sql
|
|
echo | bin/mysql -u root global < ../data/global.sql
|
|
sleep 10
|
|
killall mysqld
|
|
copy_cache
|
|
sleep 3
|
|
clear
|
|
echo "Database initialized, you can now run the game!"
|
|
}
|
|
|
|
copy_cache(){
|
|
# shellcheck disable=SC2164
|
|
cd database
|
|
if [ ! -d "$HOME/.runite_rs/runescape " ]; then
|
|
mkdir "$HOME/.runite_rs"
|
|
mkdir "$HOME/.runite_rs/runescape"
|
|
fi
|
|
cd ..
|
|
pwd
|
|
cp -f data/cache/* "$HOME"/.runite_rs/runescape/
|
|
}
|
|
|
|
run() {
|
|
# shellcheck disable=SC2164
|
|
cd database
|
|
bin/mysqld --console --skip-grant-tables --lc-messages-dir="./share/" --datadir="./data" &
|
|
sleep 5
|
|
cd ..
|
|
java -jar ms.jar &
|
|
sleep 1
|
|
java -jar server.jar &
|
|
sleep 20
|
|
java -jar client.jar
|
|
killall java
|
|
killall mysqld
|
|
sleep 5
|
|
clear
|
|
}
|
|
|
|
reset_db(){
|
|
# shellcheck disable=SC2164
|
|
cd database
|
|
rm -fr data
|
|
mkdir data
|
|
cd ..
|
|
initDB
|
|
}
|
|
|
|
set_Admin(){
|
|
echo "Enter the username for the player: "
|
|
read -r USERNAME
|
|
cd database
|
|
bin/mysqld --console --skip-grant-tables --lc-messages-dir="./share/" --datadir="./data" &
|
|
sleep 5
|
|
bin/mysql -u root -e "USE global; UPDATE members SET rights=2 WHERE username = '$USERNAME';"
|
|
sleep 2
|
|
killall mysqld
|
|
sleep 3
|
|
clear
|
|
}
|
|
|
|
|
|
|
|
if [ "$playerChoice" = "1" ] ; then
|
|
run
|
|
fi
|
|
|
|
if [ "$playerChoice" = "2" ] ; then
|
|
initDB
|
|
fi
|
|
|
|
if [ "$playerChoice" = "3" ]; then
|
|
reset_db
|
|
fi
|
|
|
|
if [ "$playerChoice" = "4" ]; then
|
|
set_Admin
|
|
fi
|
|
|