81 lines
2.5 KiB
Bash
Executable File
81 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source .env
|
|
|
|
# Check for any updates to the game server
|
|
clear
|
|
echo "Pulling recent updates from the Open-RSC Game repository."
|
|
cd Game
|
|
sudo git pull &>/dev/null
|
|
|
|
# Verifies permissions are set correctly
|
|
sudo chmod -R 777 Game &>/dev/null
|
|
sudo setfacl -m user:$USER:rw /var/run/docker.sock &>/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
|
|
sudo nano etc/ghost/config.production.json
|
|
|
|
clear
|
|
echo "Restarting Ghost container"
|
|
sudo docker stop ghost && sudo docker start ghost &>/dev/null
|
|
fi
|
|
|
|
if [ "$edit" == "2" ]; then
|
|
echo ""
|
|
fi
|
|
|
|
# Server
|
|
cd Game
|
|
clear
|
|
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 "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" &>/dev/null
|
|
cd ../
|
|
yes | sudo cp -rf "client/client.zip" "../Website/downloads/" &>/dev/null
|
|
sudo rm "client/client.zip" &>/dev/null
|
|
|
|
# Launcher
|
|
clear
|
|
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/" &>/dev/null
|
|
cd ..
|
|
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."
|
|
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
|
|
sudo ./Linux_Run_Production_Server.sh
|