diff --git a/Linux_Fetch_Updates_Production.sh b/Linux_Fetch_Updates_Production.sh index c7d5bcc..5e5db50 100755 --- a/Linux_Fetch_Updates_Production.sh +++ b/Linux_Fetch_Updates_Production.sh @@ -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 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 cd Game clear diff --git a/Linux_Installer.sh b/Linux_Installer.sh index 79a7a32..d538899 100755 --- a/Linux_Installer.sh +++ b/Linux_Installer.sh @@ -207,21 +207,66 @@ elif [ "$choice" == "2" ]; then unzip -o Game/client/cache.zip -d ~/OpenRSC | tee -a installer.log &>/dev/null clear - echo "Next is manual file editing for the website domain and SQL user/pass." - echo "" - echo "It is suggested that you first navigate to your VPS's http://domain:9000" - echo "" - echo "Create a new SQL user and password, grant all permissions, then remove the others." - echo "" - echo "" - echo "When finished, it will be time to edit the files that rely on that new SQL user." - echo "" - echo "(Use Ctrl + X to save each file when done editing) - Press enter when ready." - read next - 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 + echo "Please enter your desired password for SQL user 'openrsc'." + read -s pass + + clear + echo "Please enter your server's domain name." + read -s domain + + clear + echo "Please enter your game's name. (No spaces or edits will fail!)" + read -s gamename + + clear + echo "What should the combat xp multiplier be? ex: 1, 1.5, 2, 5, 10" + read -s xprate + + 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 echo "Importing the game databases." diff --git a/Makefile b/Makefile index 5ac6da7..03bb7c8 100755 --- a/Makefile +++ b/Makefile @@ -67,6 +67,16 @@ restore: restore-windows: @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: @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