diff --git a/bin/alivecheck b/bin/alivecheck new file mode 100755 index 0000000..23fe041 --- /dev/null +++ b/bin/alivecheck @@ -0,0 +1,12 @@ +#!/bin/sh +while true; do + sleep 12 + date="$(tail -1 $HOME/logs/latest.log | grep -oP '(?<=\[).*?(?=\])' | head -1 | date -f - +%s)" + 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 diff --git a/bin/remote b/bin/remote new file mode 100755 index 0000000..6ccd1c2 --- /dev/null +++ b/bin/remote @@ -0,0 +1,5 @@ +#!/bin/sh +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 diff --git a/bin/schematics b/bin/schematics new file mode 100755 index 0000000..6625f95 --- /dev/null +++ b/bin/schematics @@ -0,0 +1,9 @@ +#!/bin/sh +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 diff --git a/bin/server b/bin/server new file mode 100755 index 0000000..cae4100 --- /dev/null +++ b/bin/server @@ -0,0 +1,5 @@ +#!/bin/sh +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 diff --git a/bin/start b/bin/start index a9db296..faddfe0 100755 --- a/bin/start +++ b/bin/start @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh PATH="$HOME/java/bin/:$HOME/tmux/bin/:$PATH" echo "$REMOTE_KEY" > .ssh/remote @@ -11,39 +11,12 @@ 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' +tmux new -d -s server 'sh -x server' +tmux new -d -s remote 'sh -x remote' +tmux new -d -s sync_schematics 'sh -x sync_schematics' #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" +tmux new -d -s check_server 'sh -x check_server' sleep infinity diff --git a/bin/stop b/bin/stop old mode 100644 new mode 100755