1#!/bin/bash 2 3[ -f "$1" ] || { 4 echo "Syntax: $0 <IP log file>"; 5 exit 1; 6}; 7 8cat "$1" | sed -e 's/\r//' | while read lf_addr lf_evt lf_hasname lf_name; do 9 lf_addr_addr="`echo "${lf_addr}" | cut -d: -f1`" 10 lf_addr_port="`echo "${lf_addr}" | cut -d: -f2`" 11 printf "%18s %8s " "${lf_addr_addr}" "${lf_addr_port}" 12 case "${lf_evt}" in 13 RVR) 14 echo "Unknown protocol version"; 15 ;; 16 R00) 17 echo "Rejected - too many connections from host"; 18 ;; 19 R01) 20 echo "Rejected - userinfo string length exceeded" 21 ;; 22 R02) 23 echo "Rejected - empty userinfo" 24 ;; 25 R03) 26 echo "Rejected - end-of-message-in-string exploit" 27 ;; 28 R04) 29 echo "Rejected - attempted to spoof IP address" 30 ;; 31 R05) 32 echo "Rejected - remote connect in attract loop" 33 ;; 34 R06) 35 echo "Rejected - bad challenge" 36 ;; 37 R07) 38 echo "Rejected - no challenge" 39 ;; 40 R08) 41 echo "Rejected - already connected" 42 ;; 43 R09) 44 echo "Rejected - trying to reconnect too soon" 45 ;; 46 R10) 47 echo "Rejected - server full" 48 ;; 49 GRJ) 50 echo "Rejected by game" 51 ;; 52 RCN) 53 echo "Client reconnecting" 54 ;; 55 NCN) 56 echo "Client establishing new connection" 57 ;; 58 UUS) 59 echo "Player ${lf_name} connected"; 60 ;; 61 DCN) 62 echo "Player ${lf_name} disconnected" 63 ;; 64 esac 65done 66