由于一些玩家用外挂操作或者是游戏服务器无法承载过多的玩家,导致服务器负载过高,用此脚本可以把连接过多的玩家给屏蔽掉。其实还是游戏设计的时候考虑不全,像魔兽那样,搞个排队系统,每个区超过多少人,就排队。这样就不会造成大批玩家涌入其中的一个服务器,导致服务器负载过高的情况。

[root@youxia110 ipcheck]# cat ipcheck.sh
#!/bin/bash
source ~/.bash_profile
netstat -na |grep "80 " | grep ESTABLISHED  | grep -v 127.0.0.1 | awk '{print $5}' |awk -F: '{print $1}'|sort|uniq -c|sort -nr  >a
cat a|while read num ip
do
if [ "$num" -gt "10" ]
then
echo $ip >> c
fi
done
cat c |while read d
do
echo "/sbin/iptables -I INPUT -p tcp -s $d --dport 80 -j DROP;" >> limit.sh
done
sh limit.sh
mv c c.bak
echo "" >limit.sh