96 lines
3.7 KiB
Bash
96 lines
3.7 KiB
Bash
#!/bin/bash
|
|
|
|
|
|
#change the following to "false" to disable auto web updates
|
|
updcheck="true"
|
|
#change the following to "false" to disable all replacements (e.g. changing the default server, ensuring bungeecord is on the right port, etc.)
|
|
rplcheck="true"
|
|
|
|
echo ensuring old server process is truly closed...
|
|
nginx -s stop -c ~/$REPL_SLUG/nginx.conf -g 'daemon off; pid /tmp/nginx/nginx.pid;' -p /tmp/nginx -e /tmp/nginx/error.log
|
|
pkill java
|
|
pkill nginx
|
|
rm -rf /tmp/*
|
|
echo deleting old backup files...
|
|
rm -rf old/
|
|
|
|
echo verifying files...
|
|
if [ -d "java" -a -d "web" ]; then
|
|
echo files exist! proceeding...
|
|
else
|
|
echo files do not exist! forcing download, if needed...
|
|
updcheck="true"
|
|
rplcheck="true"
|
|
fi
|
|
|
|
if [ "$updcheck" = "true" ]; then
|
|
echo backing up old files...
|
|
mkdir old
|
|
mv java web old
|
|
echo checking if file still works...
|
|
|
|
status_code=$(curl -L --write-out %{http_code} --silent --output /dev/null https://raw.githubusercontent.com/LAX1DUDE/eaglercraft/main/stable-download/stable-download.zip)
|
|
|
|
if [[ "$status_code" -ne 200 ]] ; then
|
|
echo site is down! using backup files...
|
|
cp old/java old/web ./
|
|
else
|
|
echo site is still up! downloading...
|
|
curl -L -o stable-download.zip https://raw.githubusercontent.com/LAX1DUDE/eaglercraft/main/stable-download/stable-download.zip
|
|
echo extracting zip...
|
|
unzip stable-download.zip
|
|
echo deleting original zip file...
|
|
rm -rf stable-download.zip
|
|
fi
|
|
|
|
echo verifying files...
|
|
if [ -d "java" -a -d "web" ]; then
|
|
echo files exist! proceeding...
|
|
else
|
|
echo files do not exist! using backup files...
|
|
cp old/java old/web ./
|
|
fi
|
|
|
|
#todo: detect modified files
|
|
if [ -d "old/java/bukkit_command" -a -d "old/java/bungee_command" ]; then
|
|
echo restoring servers from backup so you dont lose data...
|
|
rm -rf java/*
|
|
cp -r old/java/* ./java/
|
|
fi
|
|
fi
|
|
|
|
if [ "$rplcheck" = "true" ]; then
|
|
echo ensuring that bungeecord is hosting on the correct port...
|
|
sed -i 's/host: 0\.0\.0\.0:[0-9]\+/host: 0.0.0.0:1/' java/bungee_command/config.yml
|
|
fi
|
|
|
|
echo starting bungeecord...
|
|
cd java/bungee_command
|
|
java -Xmx32M -Xms32M -jar bungee-dist.jar > /dev/null 2>&1 &
|
|
cd -
|
|
|
|
if [ "$rplcheck" = "true" ]; then
|
|
echo configuring local website...
|
|
sed -i 's/https:\/\/g\.eags\.us\/eaglercraft/https:\/\/gnome\.vercel\.app/' web/index.html
|
|
sed -i 's/alert/console.log/' web/index.html
|
|
echo setting default server...
|
|
sed -i 's/"CgAACQAHc2VydmVycwoAAAABCAACaXAAJHdzczovL2cuZWFncy51cy9lYWdsZXJjcmFmdC9jcmVhdGl2ZQgABG5hbWUAFGVhZ2xlcmNyYWZ0IGNyZWF0aXZlAQALaGlkZUFkZHJlc3MACAAKZm9yY2VkTU9URAAhdGhpcyBpcyBtZWFudCB0byBiZSBhIGRlbW8gc2VydmVyAAA="/btoa(atob("CgAACQAHc2VydmVycwoAAAABCAAKZm9yY2VkTU9URABtb3RkaGVyZQEAC2hpZGVBZGRyZXNzAQgAAmlwAGlwaGVyZQgABG5hbWUAbmFtZWhlcmUAAA==").replace("motdhere",String.fromCharCode("Your Minecraft Server".length)+"Your Minecraft Server").replace("namehere",String.fromCharCode("Minecraft Server".length)+"Minecraft Server").replace("iphere",String.fromCharCode(("ws"+location.protocol.slice(4)+"\/\/"+location.host+"\/server").length)+("ws"+location.protocol.slice(4)+"\/\/"+location.host+"\/server")))/' web/index.html
|
|
fi
|
|
|
|
echo starting nginx...
|
|
mkdir /tmp/nginx
|
|
rm -rf nginx.conf
|
|
sed "s/eaglercraft-server/$REPL_SLUG/" nginx_template.conf > nginx.conf
|
|
nginx -c ~/$REPL_SLUG/nginx.conf -g 'daemon off; pid /tmp/nginx/nginx.pid;' -p /tmp/nginx -e /tmp/nginx/error.log > /tmp/nginx/output.log 2>&1 &
|
|
|
|
echo starting bukkit...
|
|
cd java/bukkit_command
|
|
java -Xmx512M -Xms512M -jar craftbukkit-1.5.2-R1.0.jar
|
|
cd -
|
|
|
|
echo killing bungeecord and nginx...
|
|
nginx -s stop -c ~/$REPL_SLUG/nginx.conf -g 'daemon off; pid /tmp/nginx/nginx.pid;' -p /tmp/nginx -e /tmp/nginx/error.log
|
|
pkill java
|
|
pkill nginx
|
|
|
|
echo done! |