Hallo Community !
Bin neu hier, und auf der Suche nach Hilfe in Sachen Bash Scripte & grep...
Ich betreibe einen Server den ich über telnet direkt die Serverfile-Konsole erreiche.
Ich habe ein bash schript gefunden, was Leute mit zu hohem ping vom server kickt.
Da es ein Serverfilesupdate gab, und die Telnetausgabe auch verändert wurde, "erfasst" mir das Bash script nicht den PING wert den ich aus der Konsole auslesen muss.
Altes Script vor dem Update:
Code:#!/bin/bash
PINGLIMIT=250
telnetCommand $1 "say Hello $4."
PLAYER=$(telnetCommand $1 "lp" | grep "$5" )
PING=$(echo $PLAYER | awk -F"=" '{ print $13 }' | sed -e 's/\r//g' ) - Um diese Zeile geht es, wie schafft man es den PING auszulesen ? also alles nach "PING="
telnetCommand $1 "sayplayer $3 Your Ping is $PING ms maximum ping can be: $PINGLIMIT ms"
if [ $PING -gt $PINGLIMIT ]; then
telnetCommand $1 "kick $3 'Your ping is too DAMN HIGH'"
fi
Die neue telnetausgabe nach einem "lp" befehl :
Code:2015-04-06T20:49:26 173926.281 INF Telnet executed "lp" from: xx.xx.xx.226:53273
1. id=8784, Sir xxx, pos=(1350.6, 62.4, -639.2), rot=(-7.0, 134.8, 0.0), remote=True, health=106, deaths=2, zombies=106, players=0, score=100, steamid=76561198xxxxxxxxx, ip=xxx.xxx.178.23, ping=76
2. id=478, Jxx, pos=(1214.6, 94.9, -631.4), rot=(-19.7, -210.9, 0.0), remote=True, health=63, deaths=7, zombies=130, players=0, score=100, steamid=76561198xxxxxxxxx, ip=xxx.xxx.2.100, ping=180
3. id=4061, Triplexxx, pos=(856.5, 78.3, 171.0), rot=(-38.0, -105.5, 0.0), remote=True, health=5, deaths=9, zombies=83, players=0, score=51, steamid=76561198xxxxxxxxx, ip=xx.xxx.148.205, ping=92
4. id=11613, Knecht x, pos=(3449.9, 52.4, -2173.3), rot=(-16.7, -21.7, 0.0), remote=True, health=111, deaths=1, zombies=1056, players=1, score=1051, steamid=76561198xxxxxxxxx, ip=xxx.xx.164.164, ping=22
5. id=8795, ^2xxx, pos=(-266.2, 33.4, 1040.5), rot=(-17.0, 294.0, 0.0), remote=True, health=25, deaths=21, zombies=553, players=0, score=476, steamid=76561198xxxxxxxxx, ip=xxx.xxx.x.118, ping=62
6. id=361, Eiswölx, pos=(1592.1, 46.1, -1901.5), rot=(-28.1, -292.5, 0.0), remote=True, health=100, deaths=3, zombies=910, players=0, score=895, steamid=76561197xxxxxxxxx, ip=xx.xxx.251.182, ping=22
7. id=203, Otxxx ☢ xxx ☢, pos=(-267.2, 32.3, 1041.3), rot=(-5.3, 289.7, 0.0), remote=True, health=54, deaths=27, zombies=259, players=0, score=162, steamid=76561198xxxxxxxxx, ip=xxx.xxx.0.10, ping=107
8. id=360, xxxx, pos=(1592.3, 4.1, -1918.8), rot=(-8.6, -276.4, 0.0), remote=True, health=165, deaths=0, zombies=1395, players=1, score=1395, steamid=76561197xxxxxxxxx, ip=xxx.xxx.xx.162, ping=22
9. id=84351, xxxxr, pos=(27.3, 66.0, 1886.0), rot=(-22.3, 13.3, 0.0), remote=True, health=100, deaths=0, zombies=0, players=0, score=0, steamid=76561197xxxxxxxxx, ip=xx.xx.19.181, ping=64
10. id=22573, xxxxxx, pos=(-6416.3, 4.1, 6551.9), rot=(-19.7, -8.5, 0.0), remote=True, health=92, deaths=3, zombies=457, players=0, score=445, steamid=76561197xxxxxxxxx, ip=x.xxx.xx.232, ping=41
11. id=10297, Don xxxxxxx, pos=(-6410.6, 4.1, 6556.6), rot=(-29.5, -68.9, 0.0), remote=True, health=69, deaths=2, zombies=163, players=0, score=153, steamid=76561197xxxxxxxxx, ip=x.xxx.74.232, ping=38
Total of 11 in the game