buildpack/bin/start
2019-08-06 19:51:33 +03:00

50 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
PATH="$HOME/java/bin/:$HOME/tmux/bin/:$PATH"
echo "$REMOTE_KEY" > .ssh/remote
echo "$SYNC_KEY" > .ssh/id_rsa
chmod 600 .ssh/remote
ssh-keyscan github.com >> .ssh/known_hosts
chmod -R 500 plugins/bStats/ plugins/PluginMetrics/ plugins/ProtocolLib/
git clone git@github.com:kaboomserver/schematics.git plugins/FastAsyncWorldEdit/schematics/
tmux new -d -s server 'set -x; while true; do
java -Xmx384M -Xss512k -Xaggressive -Xcompressedrefs -Xdump:none -Xgcpolicy:balanced -Xcompactexplicitgc -Xcompactgc -Xquickstart -Xshareclasses -XX:-HeapDumpOnOutOfMemoryError -XX:MaxDirectMemorySize=64M -XX:+UseContainerSupport -Dcom.mojang.eula.agree=true -Dpaper.playerconnection.keepalive=360 -jar minecraft-server.jar --world-dir=worlds
sleep 1
done'
tmux new -d -s remote 'set -x; while true; do
ssh -i ~/.ssh/remote -o StrictHostKeyChecking=no -o ExitOnForwardFailure=yes -o StreamLocalBindUnlink=yes -c aes128-ctr -C -S none -N -T -R 53950:localhost:25565 -p 53940 remote@play.kaboom.pw
sleep 1
done'
tmux new -d -s schematics 'set -x; while true; do
cd $HOME/plugins/FastAsyncWorldEdit/schematics/
if [ "$(git add $(git ls-files -o) -v)" ]; then
git -c user.name='kaboom' -c user.email='kaboom.pw' commit -m "Add new schematics"
git push
fi
sleep 1
done'
#sleep 90
tmux new -d -s alivecheck "set -x; while true; do
sleep 12
date=$(tail -1 $HOME/logs/latest.log | grep -oP '(?<=\[).*?(?=\])' | head -1 | date -f - +%s)
echo $(tail -1 $HOME/logs/latest.log | grep -oP '(?<=\[).*?(?=\])' | head -1 | date -f - +%s)
echo $date
if [ "$(env printf '\xFE' | nc -w 5 localhost 25565 | wc -m)" -eq 1 ] ||
[ "$(( $(date +%s) - "${date:=$(date +%s)}" ))" -gt 180 ]; then
if [ "$(tail -20 $HOME/logs/latest.log | grep -c 'ERROR]: Requested chunk')" -eq 1 ]; then
rm -rf $HOME/worlds/
fi
pkill -9 java
fi
done"
sleep infinity