Automated file edits, SQL user handling

This commit is contained in:
Marwolf
2018-08-25 02:00:51 -04:00
parent 83fce1fa99
commit 45f109403b
3 changed files with 70 additions and 40 deletions

View File

@@ -25,31 +25,6 @@ sudo chmod -R 777 Game | tee -a ../updater.log &>/dev/null
sudo setfacl -m user:$USER:rw /var/run/docker.sock | tee -a ../updater.log &>/dev/null sudo setfacl -m user:$USER:rw /var/run/docker.sock | tee -a ../updater.log &>/dev/null
cd .. cd ..
clear
echo "Do you need to do any manual file editing?"
echo ""
echo "${RED}1${NC} - Yes, lets begin."
echo "${RED}2${NC} - No, continue."
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
read edit
if [ "$edit" == "1" ]; then
clear
sudo nano .env
sudo nano Game/client/src/org/openrsc/client/Config.java
sudo nano Game/Launcher/src/Main.java
sudo nano Game/server/config/config.xml
clear
echo "Restarting Ghost container"
sudo docker stop ghost && sudo docker start ghost | tee -a updater.log &>/dev/null
fi
if [ "$edit" == "2" ]; then
echo ""
fi
# Server # Server
cd Game cd Game
clear clear

View File

@@ -207,21 +207,66 @@ elif [ "$choice" == "2" ]; then
unzip -o Game/client/cache.zip -d ~/OpenRSC | tee -a installer.log &>/dev/null unzip -o Game/client/cache.zip -d ~/OpenRSC | tee -a installer.log &>/dev/null
clear clear
echo "Next is manual file editing for the website domain and SQL user/pass." echo "Please enter your desired password for SQL user 'openrsc'."
echo "" read -s pass
echo "It is suggested that you first navigate to your VPS's http://domain:9000"
echo "" clear
echo "Create a new SQL user and password, grant all permissions, then remove the others." echo "Please enter your server's domain name."
echo "" read -s domain
echo ""
echo "When finished, it will be time to edit the files that rely on that new SQL user." clear
echo "" echo "Please enter your game's name. (No spaces or edits will fail!)"
echo "(Use Ctrl + X to save each file when done editing) - Press enter when ready." read -s gamename
read next
sudo nano .env clear
sudo nano Game/client/src/org/openrsc/client/Config.java echo "What should the combat xp multiplier be? ex: 1, 1.5, 2, 5, 10"
sudo nano Game/Launcher/src/Main.java read -s xprate
sudo nano Game/server/config/config.xml
clear
echo "What should the skill xp multiplier be? ex: 1, 1.5, 2, 5, 10"
read -s skillrate
clear
echo "Should batched skills be enabled? 0 = disabled, 1 = try till success, 2 = full auto till empty"
read -s loopmode
clear
echo "Creating SQL user 'openrsc'."
sudo make create-user
clear
echo "Removing pre-existing SQL users."
sudo make clean-users
clear
echo "Configuring Open RSC based on your input."
sudo sed -i 's/URL=http:\/\/localhost\/blog/URL=http:\/\/'$domain'\/blog/g' .env | tee -a installer.log &>/dev/null
sudo sed -i 's/NGINX_HOST=localhost/NGINX_HOST='$domain'/g' .env | tee -a installer.log &>/dev/null
sudo sed -i 's/MARIADB_ROOT_USER=root/MARIADB_ROOT_USER=openrsc/g' .env | tee -a installer.log &>/dev/null
sudo sed -i 's/MARIADB_ROOT_PASSWORD=root/MARIADB_ROOT_PASSWORD='$pass'/g' .env | tee -a installer.log &>/dev/null
# Automated file edits
sudo sed -i 's/DB_LOGIN">root/DB_LOGIN">openrsc/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/DB_PASS">root/DB_PASS">'$pass'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/NAME">Open RSC/NAME">'$gamename'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/\@OpenRSC/\@'$gamename'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/COMBAT\_XP\_RATE">1/COMBAT\_XP\_RATE">'$xprate'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/SKILL_XP_RATE">1/SKILL_XP_RATE">'$skillrate'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/SKILL_LOOP_MODE">0/SKILL_LOOP_MODE">'$loopmode'/g' Game/server/config/config.xml | tee -a installer.log &>/dev/null
sudo sed -i 's/String IP = "127.0.0.1";/String IP = "'$domain'";/g' Game/client/src/org/openrsc/client/Config.java | tee -a installer.log &>/dev/null
sudo sed -i 's/String Domain = "localhost";/String Domain = "'$domain'";/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
# Leave disabled, Tomcat handles :8080, useful with HTTPS
#sudo sed -i 's/:8080";/:80";/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
# Disables the extra dev buttons
sudo sed -i 's/toolBar.getChildren().add(Dev/\/\/toolBar.getChildren().add(Dev/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/2930.png",/2930.png"/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/"2937/\/\/"2930.png",/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/"News",/"News"/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/"Dev Server News"/\/\/"Dev Server News"/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/Secure+Domain,/Secure+Domain/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
sudo sed -i 's/Secure+Dev_Domain/\/\/Secure+Dev_Domain/g' Game/Launcher/src/Main.java | tee -a installer.log &>/dev/null
clear clear
echo "Importing the game databases." echo "Importing the game databases."

View File

@@ -67,6 +67,16 @@ restore:
restore-windows: restore-windows:
@docker exec -i mysql mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < $(MYSQL_DUMPS_DIR)/db.sql @docker exec -i mysql mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < $(MYSQL_DUMPS_DIR)/db.sql
create-user:
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "DROP USER IF EXISTS 'openrsc'@'%';FLUSH PRIVILEGES;" 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"root" -p"root" -Bse "CREATE USER 'openrsc'@'%' IDENTIFIED BY '$(MARIADB_ROOT_PASSWORD)';GRANT ALL PRIVILEGES ON * . * TO 'openrsc'@'%';FLUSH PRIVILEGES;" 2>/dev/null
clean-users:
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'root'@'localhost';FLUSH PRIVILEGES;" 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'root'@'%';FLUSH PRIVILEGES;" 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'user'@'%';FLUSH PRIVILEGES;" 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" -Bse "DROP USER IF EXISTS 'Any'@'%';FLUSH PRIVILEGES;" 2>/dev/null
import-game: import-game:
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < Game/Databases/openrsc_config.sql 2>/dev/null @docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < Game/Databases/openrsc_config.sql 2>/dev/null
@docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < Game/Databases/openrsc_logs.sql 2>/dev/null @docker exec -i $(shell sudo docker-compose ps -q mysqldb) mysql -u"$(MARIADB_ROOT_USER)" -p"$(MARIADB_ROOT_PASSWORD)" < Game/Databases/openrsc_logs.sql 2>/dev/null