diff --git a/ServerStart.sh.template b/ServerStart.sh.template old mode 100755 new mode 100644 index 50de1b9..7375502 --- a/ServerStart.sh.template +++ b/ServerStart.sh.template @@ -17,7 +17,7 @@ while true; do echo "0" > /home/minecraft/scripts/lp_shutdown mcconn=0 until [ $mcconn -ne 0 ]; do - mcconn=$(nc -l 25500 | cat -v | grep -cF '^@cM-^\^B') + mcconn=$(nc -l 25500 | cat -v | grep -czP '(\^X\^@M-r\^E\^Q)([\w\.]+)(\^@FML2\^@cM-\^\\\^B\n\^@\^H)([\w\.]+)') if [ $mcconn -eq 0 ]; then echo "Something connected, but it doesn't look like a minecraft connection" else diff --git a/readme.md b/readme.md old mode 100755 new mode 100644 index f960165..5a14b97 --- a/readme.md +++ b/readme.md @@ -30,7 +30,8 @@ Auf eine legitime Verbindung zu warten kann dann z.B. so aussehen: ```bash mcconn=0 until [ $mcconn -ne 0 ]; do - mcconn=$(nc -l 25500 | cat -v | grep -cF '^@cM-^\^B') + #jetzt sogar mit funktionierendem Regex, danke Joe + mcconn=$(nc -l 25500 | cat -v | grep -czP '(\^X\^@M-r\^E\^Q)([\w\.]+)(\^@FML2\^@cM-\^\\\^B\n\^@\^H)([\w\.]+)') if [ $mcconn -eq 0 ]; then echo "Something connected, but it doesn't look like a minecraft connection" else @@ -39,11 +40,6 @@ until [ $mcconn -ne 0 ]; do done ``` -Ein vollständigeres Regex, dass auf eine korrekte Verbindung prüft sieht so aus, doch leider scheint das nicht in grep zu funktionieren: -```regex -^\^X\^@M-r\^E\^Q[a-zA-Z0-9\.]+\^@[a-zA-Z0-9]+\^@cM-\^\\\^B\n\^@\^H[a-zA-Z0-9]+ -``` - ### Server Start Skript Beim Starten des Servers wird eine große Menge an Parametern übergeben: