#!/bin/bash BOTNUMBER="+420xxxyyyyyyyyy" TARGETNUMBER="+420xxxzzzzzzzzz" mkdir -p .run jcfile=".run/join-code.txt" while true; do check=$(grep "Session" logs/valheim.log | grep -i "registered" | grep -i "join code" | tail -1 | sed "s/.* join code \(.*\)/\1/") if [[ ! -f "$jcfile" ]]; then echo "$check" > "$jcfile" elif [[ ! "$check" == $(cat $jcfile) ]]; then echo "$check" > "$jcfile" datum=$(date +"[%d.%m.%Y %H:%M] ") message="$datum Valheim join code je: $check" signal-cli -u "$BOTNUMBER" send -m "$message" "$TARGETNUMBER" &> /dev/null signal-cli -u "$BOTNUMBER" receive &> /dev/null fi errcheck=$(grep -ic "code '4098': the operation was called with an invalid handle" logs/valheim.log) if [[ $errcheck == 1 ]]; then datum=$(date +"[%d.%m.%Y %H:%M] ") message="$datum Valheim dedik chybuje - restart" srvpid=$(LANG=C ps -ef | grep -v grep | grep -i [v]alheim_server.x86_64 | cut -d" " -f3) kill $srvpid signal-cli -u "$BOTNUMBER" send -m "$message" "$TARGETNUMBER" &> /dev/null signal-cli -u "$BOTNUMBER" receive &> /dev/null fi sleep 30 done