Merge pull request #30 from Marwolf/master

No verbose output
This commit is contained in:
Marwolf
2018-08-21 12:40:56 -04:00
committed by GitHub
5 changed files with 98 additions and 156 deletions

View File

@@ -5,14 +5,12 @@ source .env
# Check for any updates to the game server
clear
echo "Pulling recent updates from the Open-RSC Game repository."
echo ""
echo ""
cd Game
sudo git pull
echo ""
sudo git pull &>/dev/null
# Verifies permissions are set correctly
sudo chmod -R 777 Game
sudo setfacl -m user:$USER:rw /var/run/docker.sock
sudo chmod -R 777 Game &>/dev/null
sudo setfacl -m user:$USER:rw /var/run/docker.sock &>/dev/null
cd ..
clear
@@ -22,8 +20,6 @@ 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."
echo ""
echo ""
read edit
if [ "$edit" == "1" ]; then
@@ -33,7 +29,10 @@ sudo nano Game/client/src/org/openrsc/client/Config.java
sudo nano Game/Launcher/src/Main.java
sudo nano Game/server/config/config.xml
sudo nano etc/ghost/config.production.json
sudo make stop && sudo make start
clear
echo "Restarting Ghost container"
sudo docker stop ghost && sudo docker start ghost &>/dev/null
fi
if [ "$edit" == "2" ]; then
@@ -43,41 +42,38 @@ fi
# Server
cd Game
clear
echo "Preparing the game server."
echo ""
sudo ant -f "server/build.xml" compile
echo "Compiling the game server. Any errors will be in compile.log"
touch ../compile.log && chmod 777 ../compile.log &>/dev/null
sudo ant -f "server/build.xml" compile | tee ../compile.log &>/dev/null
# Client
clear
echo "Preparing the game client."
echo ""
sudo ant -f "client/build.xml" compile
echo "Compiling and preparing the game client. Any errors will be in compile.log"
sudo ant -f "client/build.xml" compile | tee -a ../compile.log &>/dev/null
cd client
sudo zip -r "client.zip" "Open_RSC_Client.jar"
sudo zip -r "client.zip" "Open_RSC_Client.jar" &>/dev/null
cd ../
yes | sudo cp -rf "client/client.zip" "../Website/downloads/"
sudo rm "client/client.zip"
yes | sudo cp -rf "client/client.zip" "../Website/downloads/" &>/dev/null
sudo rm "client/client.zip" &>/dev/null
# Launcher
clear
echo "Preparing the game launcher."
echo ""
sudo ant -f "Launcher/build.xml" jar
yes | sudo cp -rf "Launcher/dist/Open_RSC_Launcher.jar" "../Website/downloads/"
echo "Compiling and preparing the game launcher. Any errors will be in compile.log"
sudo ant -f "Launcher/build.xml" jar | tee -a ../compile.log &>/dev/null
yes | sudo cp -rf "Launcher/dist/Open_RSC_Launcher.jar" "../Website/downloads/" &>/dev/null
# Cache
clear
echo "Preparing the cache."
yes | sudo cp -rf "client/cache.zip" "../Website/downloads/"
yes | sudo cp -rf "client/cache.zip" "../Website/downloads/" &>/dev/null
cd ..
sudo rm Website/downloads/hashes.txt
md5sum Website/downloads/client.zip | grep ^[a-zA-Z0-9]* | awk '{print "client="$1}' | sudo tee -a Website/downloads/hashes.txt
md5sum Website/downloads/cache.zip | grep ^[a-zA-Z0-9]* | awk '{print "cache="$1}' | sudo tee -a Website/downloads/hashes.txt
sudo rm Website/downloads/hashes.txt &>/dev/null
md5sum Website/downloads/client.zip | grep ^[a-zA-Z0-9]* | awk '{print "client="$1}' | sudo tee -a Website/downloads/hashes.txt &>/dev/null
md5sum Website/downloads/cache.zip | grep ^[a-zA-Z0-9]* | awk '{print "cache="$1}' | sudo tee -a Website/downloads/hashes.txt &>/dev/null
# Database
clear
echo "Preparing the database."
echo ""
docker exec -i $(sudo docker-compose ps -q mysqldb) mysql -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" < Game/Databases/openrsc_config.sql 2>/dev/null
# Run the game server in a detached screen

View File

@@ -16,8 +16,6 @@ Choices:
${RED}2${NC} - No thanks, continue (default)"
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
echo ""
echo ""
read install
# OS Selection ===================================================>
@@ -29,8 +27,6 @@ if [ "$install" == "1" ]; then
echo "${RED}2${NC} - Mac OS High Sierra or above"
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
echo ""
echo ""
read os
# Ubuntu OS ===================================================>
@@ -39,42 +35,36 @@ if [ "$install" == "1" ]; then
sudo dpkg-reconfigure tzdata
clear
echo "Verifying the basics are installed."
echo ""
sudo apt-get update
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt-get update
sudo apt-get install certbot screen zip fail2ban unzip git build-essential apt-transport-https ca-certificates curl software-properties-common -y
echo "Verifying the basics are installed. Please wait."
sudo apt-get update &>/dev/null
sudo apt-get install software-properties-common -y &>/dev/null
sudo add-apt-repository ppa:certbot/certbot -y &>/dev/null
sudo apt-get update &>/dev/null
sudo apt-get install certbot screen zip fail2ban unzip git build-essential apt-transport-https ca-certificates curl software-properties-common -y &>/dev/null
clear
echo "Attempting to install Docker now"
echo ""
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt-get update && sudo apt-get install docker-ce docker-compose -y
echo "Attempting to install Docker now."
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - &>/dev/null
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" &>/dev/null
sudo apt-get update &>/dev/null && sudo apt-get install docker-ce docker-compose -y &>/dev/null
clear
echo "Setting Docker to have the correct storage driver and reloading service."
echo ""
echo '{
"storage-driver": "devicemapper"
}' | sudo tee /etc/docker/daemon.json && sudo service docker restart
}' | sudo tee /etc/docker/daemon.json && sudo service docker restart &>/dev/null
clear
echo "Configuring UFW."
echo ""
sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 8080/tcp && sudo ufw allow 443/tcp && sudo ufw allow 9000/tcp && sudo ufw allow 53595/tcp && sudo ufw deny 3306/tcp
sudo sed -i 's/DEFAULT_FORWARD_POLICY="DENY"/DEFAULT_FORWARD_POLICY="ACCEPT"/g' /etc/default/ufw
sudo ufw reload
sudo ufw --force enable
sudo ufw allow 22/tcp &>/dev/null && sudo ufw allow 80/tcp &>/dev/null && sudo ufw allow 8080/tcp &>/dev/null && sudo ufw allow 443/tcp &>/dev/null && sudo ufw allow 9000/tcp &>/dev/null && sudo ufw allow 53595/tcp &>/dev/null && sudo ufw deny 3306/tcp &>/dev/null
sudo sed -i 's/DEFAULT_FORWARD_POLICY="DENY"/DEFAULT_FORWARD_POLICY="ACCEPT"/g' /etc/default/ufw &>/dev/null
sudo ufw reload &>/dev/null
sudo ufw --force enable &>/dev/null
clear
echo "Installing Oracle Java JDK 8"
echo ""
sudo apt-get remove openjdk-6-jre default-jre default-jre-headless -y
echo ""
sudo add-apt-repository ppa:webupd8team/java -y && sudo apt update && sudo apt install ant oracle-java8-set-default openjfx -y
echo "Installing Oracle Java JDK 8."
sudo apt-get remove openjdk-6-jre default-jre default-jre-headless -y &>/dev/null
sudo add-apt-repository ppa:webupd8team/java -y &>/dev/null && sudo apt update &>/dev/null && sudo apt install ant oracle-java8-set-default openjfx -y &>/dev/null
fi
# Ubuntu OS <===================================================
@@ -87,43 +77,36 @@ if [ "$install" == "1" ]; then
echo "${RED}2${NC} - Yes"
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
echo ""
echo ""
read brew
# Mac Brew ===================================================>
if [ "$brew" == "1" ]; then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" &>/dev/null
brew install git &>/dev/null
fi
# Mac Brew <===================================================
clear
echo "Verifying the basics are installed."
echo ""
brew install unzip wget git curl zip screen
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk-openjdk8 ant openjfx
brew install unzip wget git curl zip screen &>/dev/null
brew tap AdoptOpenJDK/openjdk &>/dev/null
brew install adoptopenjdk-openjdk8 ant openjfx &>/dev/null
clear
echo "Downloading the Docker for Mac installer."
echo ""
wget https://download.docker.com/mac/stable/Docker.dmg
hdiutil attach Docker.dmg
wget https://download.docker.com/mac/stable/Docker.dmg &>/dev/null
hdiutil attach Docker.dmg &>/dev/null
echo ""
echo "Please drag Docker as instructed in the popup."
echo ""
echo "Press enter when finished."
echo ""
read
clear
open /Applications/Docker.app
echo ""
echo "Docker is launching. Please follow the directions that it gives you."
echo ""
echo "Press enter when finished."
echo ""
read
fi
# Mac OS <===================================================
@@ -133,8 +116,7 @@ if [ "$install" == "1" ]; then
clear
echo "Checking for updates to the Docker-Home repository."
echo ""
sudo git pull
sudo git pull &>/dev/null
clear
echo "${RED}Open RSC Installer:${NC}
@@ -147,8 +129,6 @@ Choices:
"
echo ""
echo "Which of the above do you wish to do? Type the choice number and press enter."
echo ""
echo ""
read choice
# Selection ===================================================>
@@ -158,31 +138,25 @@ if [ "$choice" == "1" ]; then
echo "You have picked ${GREEN}set up for single player!${NC}"
echo ""
echo ""
echo "Starting up the Docker containers. If error, do \"sudo make stop\" and rerun script."
echo ""
sudo make start-single-player
echo "Starting up the Docker containers."
sudo make start-single-player &>/dev/null
clear
echo "Fetching the Game from the Open RSC git repo."
echo ""
sudo make clone-game
sudo chmod -R 777 Game
sudo make clone-game &>/dev/null
sudo chmod -R 777 Game &>/dev/null
clear
echo "Creating the client cache in your home folder."
echo ""
mkdir ~/OpenRSC
unzip -o Game/client/cache.zip -d ~/OpenRSC
mkdir ~/OpenRSC &>/dev/null
unzip -o Game/client/cache.zip -d ~/OpenRSC &>/dev/null
clear
echo "Importing the game databases."
echo ""
sudo make import-game
sudo make import-game &>/dev/null
clear
echo "Ready to launch \"./Linux_Single_Player.sh\" - Press enter when ready."
echo ""
echo ""
read next
./Linux_Single_Player.sh
# 1. Set up for single player <===================================================
@@ -193,23 +167,20 @@ elif [ "$choice" == "2" ]; then
echo "You have picked ${GREEN}deployment for a publicly hosted server!${NC}"
echo ""
echo ""
echo "Starting up the Docker containers. If error, do \"sudo make stop\" and rerun script."
echo ""
sudo chmod -R 777 .
sudo make start
echo "Starting up the Docker containers."
sudo chmod -R 777 &>/dev/null
sudo make start &>/dev/null
clear
echo "Fetching the Website and Game from the Open RSC git repo."
echo ""
sudo make clone-game
sudo make clone-website
sudo chmod -R 777 .
sudo make clone-game &>/dev/null
sudo make clone-website &>/dev/null
sudo chmod -R 777 &>/dev/null
clear
echo "Creating the client cache in your home folder."
echo ""
mkdir ~/OpenRSC
unzip -o Game/client/cache.zip -d ~/OpenRSC
mkdir ~/OpenRSC &>/dev/null
unzip -o Game/client/cache.zip -d ~/OpenRSC &>/dev/null
clear
echo "Next is manual file editing for the website domain and SQL user/pass."
@@ -231,19 +202,15 @@ elif [ "$choice" == "2" ]; then
clear
echo "Importing the databases."
echo ""
sudo make import-game
sudo make import-ghost
sudo make import-game &>/dev/null
sudo make import-ghost &>/dev/null
clear
echo "Restarting Docker containers"
echo ""
sudo make stop && sudo make start
echo "Restarting Ghost container."
sudo docker stop ghost && sudo docker start ghost &>/dev/null
clear
echo "Ready to launch \"./Linux_Fetch_Updates_Production.sh\" - Press enter when ready."
echo ""
echo ""
read next
./Linux_Fetch_Updates_Production.sh
# 2. Deployment for a publicly hosted server <===================================================
@@ -252,13 +219,9 @@ elif [ "$choice" == "2" ]; then
elif [ "$choice" == "3" ]; then
echo "You have picked ${GREEN}backup all SQL databases!${NC}"
echo ""
echo ""
sudo make backup
echo ""
echo ""
sudo make backup &>/dev/null
clear
echo "Done! - Press enter to return back to the menu."
echo ""
read
./Linux_Installer.sh
# 3. Backup <===================================================

View File

@@ -4,14 +4,13 @@
./Linux_Backup_Databases.sh
# Run the game server in a detached screen
echo ""
echo ""
clear
echo "Launching the game server in a new screen."
echo ""
echo "Type 'screen -r' to access the game server screen."
echo "Use CTRL + A + D to detach the live server screen so it runs in the background."
echo ""
echo ""
touch gameserver.log && chmod 777 gameserver.log
touch gameserver.log && chmod 777 gameserver.log &>/dev/null
cd Game/server
screen -dmS name ./ant_launcher.sh

View File

@@ -3,70 +3,54 @@
source .env
# Check for any updates to the game server
echo ""
clear
echo "Pulling recent updates from the Open-RSC Game repository."
echo ""
sudo git pull
sudo make pull-game
echo ""
echo ""
sudo git pull &>/dev/null
sudo make pull-game &>/dev/null
clear
echo "Starting Docker containers."
echo ""
sudo make stop
sudo make start-single-player
echo ""
echo ""
sudo make stop &>/dev/null
sudo make start-single-player &>/dev/null
# Compile the game server and client
echo "Compiling the game client."
echo ""
sudo ant -f "Game/client/build.xml" compile
echo ""
echo ""
echo "Compiling the game server."
echo ""
sudo ant -f "Game/server/build.xml" compile
echo ""
echo ""
clear
echo "Compiling the game client. Any errors will be in compile.log"
touch compile.log && chmod 777 compile.log &>/dev/null
sudo ant -f "Game/client/build.xml" compile | tee compile.log &>/dev/null
clear
echo "Compiling the game server. Any errors will be in compile.log"
sudo ant -f "Game/server/build.xml" compile | tee -a compile.log &>/dev/null
#Create game cache
clear
echo "Removing old cache if exists and then extracting a fresh client cache to your home folder."
echo ""
sudo rm -rf ~/OpenRSC
mkdir ~/OpenRSC
sudo rm -rf ~/OpenRSC &>/dev/null
mkdir ~/OpenRSC &>/dev/null
unzip -o Game/client/cache.zip -d ~/OpenRSC >/dev/null
echo ""
echo ""
#Import fresh version of config database
clear
echo "Importing a fresh openrsc_config.sql database."
echo ""
sudo docker exec -i $(sudo docker-compose ps -q mysqldb) mysql -u"$MYSQL_ROOT_USER" -p"$MYSQL_ROOT_PASSWORD" < Game/Databases/openrsc_config.sql 2>/dev/null
echo ""
echo ""
#Generate updated cache files, copies them to cache folder overwriting existing
clear
echo "Generating cache .dat files from current config database and copying to client cache in your home folder."
echo ""
sudo ant -f Game/server/build.xml npcs items objects > /dev/null
yes | cp -rf Game/server/npcs.dat ~/OpenRSC/npcs.dat
yes | cp -rf Game/server/objects.dat ~/OpenRSC/objects.dat
yes | cp -rf Game/server/items.dat ~/OpenRSC/items.dat
echo ""
echo ""
sudo ant -f Game/server/build.xml npcs items objects &>/dev/null
yes | cp -rf Game/server/npcs.dat ~/OpenRSC/npcs.dat &>/dev/null
yes | cp -rf Game/server/objects.dat ~/OpenRSC/objects.dat &>/dev/null
yes | cp -rf Game/server/items.dat ~/OpenRSC/items.dat &>/dev/null
# Run the game client in a new window
clear
echo "Launching the game client."
echo ""
#ant -f Game/client/build.xml runclient &
java -jar Game/client/Open_RSC_Client.jar &
echo ""
echo ""
# Run the game server in the current window
clear
echo "Launching the game server."
echo ""
#ant -f Game/server/build.xml runserver
cd Game/server
java -jar Open_RSC_Server.jar
echo ""