[19:39:19] [warning] dropping a split packet from client [19:39:19] [join] 64LPqNvCVArqR2Kr has joined the server (36:46.255.216.151) [19:39:19] [part] 1nSZ1Wkr8XkR2Zga has left the server (30:2) [19:39:19] [join] TqHe24xNSYNXhEj9 has joined the server (43:168.205.24.3) [19:39:20] [connection] incoming connection: 123.249.60.102:56792 id: 29 [19:39:20] [connection] incoming connection: 123.249.2.246:56779 id: 35 [19:39:20] [connection] incoming connection: 198.199.123.35:61421 id: 50 [19:39:20] [warning] dropping a split packet from client [19:39:20] [warning] dropping a split packet from client [19:39:20] [connection] incoming connection: 200.199.114.236:52796 id: 51 [19:39:20] [connection] incoming connection: 114.6.27.199:64450 id: 52 [19:39:20] [connection] incoming connection: 123.249.60.203:56882 id: 53 [19:39:20] [connection] incoming connection: 123.249.60.186:56902 id: 54 [19:39:20] [warning] dropping a split packet from client [19:39:20] [part] edGOTENDlFODE4Mx has left the server (33:2) [19:39:20] [connection] incoming connection: 82.196.10.131:47674 id: 55 [19:39:20] [connection] incoming connection: 91.142.208.125:35523 id: 56 [19:39:21] [warning] dropping a split packet from client [19:39:21] [join] QU0nUQTQzXeiTrdF has joined the server (50:198.199.123.35) [19:39:21] [part] QU0nUQTQzXeiTrdF has left the server (50:2) [19:39:21] [connection] incoming connection: 94.23.214.220:59707 id: 45 [19:39:21] [join] GkqmNM17BIJY82zo has joined the server (55:82.196.10.131) [19:39:21] [join] ketH4syXyHKXm7ke has joined the server (56:91.142.208.125) [19:39:21] [connection] incoming connection: 167.99.89.72:41651 id: 52 [19:39:21] [join] 1YCJC4LsU59WctWO has joined the server (44:42.51.194.28) [19:39:21] [join] QjcYp1cwmQQxA312 has joined the server (46:121.12.92.62) [19:39:21] [join] 8DKMpKtBSZoyH3gD has joined the server (45:94.23.214.220) [19:39:21] [connection] incoming connection: 114.55.63.81:46162 id: 57 [19:39:21] [join] mhJmhjwYFMrvZdmF has joined the server (47:121.12.92.59) [19:39:21] [join] TBXnGifnj52QRlri has joined the server (51:200.199.114.236) [19:39:22] [join] 4FzfIthOs2xErqW6 has joined the server (52:167.99.89.72) [19:39:22] [part] 4FzfIthOs2xErqW6 has left the server (52:2) [19:39:22] [connection] incoming connection: 185.40.31.136:37234 id: 58 [19:39:22] [part] TqHe24xNSYNXhEj9 has left the server (43:2) [19:39:22] [connection] incoming connection: 42.51.216.10:55266 id: 40 [19:39:22] [connection] incoming connection: 123.249.60.185:56830 id: 59 [19:39:22] [part] Yqcr6byjgIXOlybQ has left the server (41:2) [19:39:22] [part] 3qeuQdrIR7BKBF7u has left the server (38:2) [19:39:22] [connection] incoming connection: 123.249.60.76:56953 id: 60 [19:39:22] [connection] incoming connection: 88.99.76.114:58749 id: 61 [19:39:22] [connection] incoming connection: 123.249.60.246:57516 id: 62 [19:39:22] [connection] incoming connection: 42.51.216.11:58107 id: 63 [19:39:22] [join] TN8QD2EXWhnujuYN has joined the server (58:185.40.31.136) [19:39:22] [part] TN8QD2EXWhnujuYN has left the server (58:2) [19:39:22] [connection] incoming connection: 123.249.61.135:57989 id: 61 [19:39:23] [connection] incoming connection: 123.249.61.6:58006 id: 64 [19:39:23] [warning] dropping a split packet from client [19:39:23] [connection] incoming connection: 121.12.92.93:34177 id: 65 [19:39:23] [part] T127iZFoycoop85a has left the server (28:2) [19:39:23] [warning] dropping a split packet from client [19:39:23] [part] gtxhXwXCUBEMm9MB has left the server (42:2) [19:39:23] [connection] incoming connection: 42.51.216.3:50625 id: 57 [19:39:23] [part] 64LPqNvCVArqR2Kr has left the server (36:2)
95.156.102.* 192.169.217.* 31.13.224.* 95.78.157.* 138.118.224.* 103.250.166.* 177.131.12.* 114.6.27.* 192.169.188.* 157.119.207.* 203.145.179.* 83.143.31.* 42.51.216.* 114.55.63.* 185.67.93.* 37.113.191.* 85.192.154.* 185.124.86.* 128.199.*.* 46.101.*.* 201.184.*.* 136.243.*.* 188.235.*.* 195.9.*.* 94.153.*.* 162.144.*.* 192.169.140.* 185.40.31.* 173.249.29.* 128.199.36.* 192.163.207.* 163.53.209.* 154.72.75.* 103.21.163.* 46.101.240.* 123.249.*.* 46.214.146.* 37.59.8.* 42.51.*.* 103.240.161.* 121.12.92.* 5.135.20.* 103.216.82.*
There are multiple methods how to detect them:
- They use same name length, you can kick all players with the same name length, that are not registered/logged - There are often too many consonants in the row in their names, unlike regular player's name, you can apply some heuristics to detect the bot from its name - They attempt to connect multiple times with the same IP, calling OnIncomingConnection quickly - regular players don't call this more than twice within 30 seconds. Besides that, they all use VPN/Proxy. So far I have blocked these ranges, it helped to reduce the attacks a bit: Code:
95.156.102.* 192.169.217.* 31.13.224.* 95.78.157.* 138.118.224.* 103.250.166.* 177.131.12.* 114.6.27.* 192.169.188.* 157.119.207.* 203.145.179.* 83.143.31.* 42.51.216.* 114.55.63.* 185.67.93.* 37.113.191.* 85.192.154.* 185.124.86.* 128.199.*.* 46.101.*.* 201.184.*.* 136.243.*.* 188.235.*.* 195.9.*.* 94.153.*.* 162.144.*.* 192.169.140.* 185.40.31.* 173.249.29.* 128.199.36.* 192.163.207.* 163.53.209.* 154.72.75.* 103.21.163.* 46.101.240.* 123.249.*.* 46.214.146.* 37.59.8.* 42.51.*.* 103.240.161.* 121.12.92.* 5.135.20.* 103.216.82.* |
[13:53:31] Name:(45) Version: IP: / 123.249.60.171:54741 Network Stats:{Network Active: 1 Network State: 6 Messages in Send buffer: 0 Messages sent: 0 Bytes sent: 0 Acks sent: 0 Acks in send buffer: 0 Messages waiting for ack: 0 Messages resent: 0 Bytes resent: 0 Packetloss: -nan% Messages received: 0 Bytes received: 0 Acks received: 0 Duplicate acks received: 0 Inst. KBits per second: 28.8 KBits per second sent: 0.0 KBits per second received: 0.0 } Ping:-1 NPC:0 GPCI:
[13:53:30] [join] kKFdGEyGrk9TlTAI has joined the server (68:70.83.106.82) [13:53:30] Name:kKFdGEyGrk9TlTAI(68) Version:0.3.7 IP:70.83.106.82 Network Stats:{Network Active: 1 Network State: 8 Messages in Send buffer: 7 Messages sent: 52 Bytes sent: 2596 Acks sent: 6 Acks in send buffer: 3 Messages waiting for ack: 0 Messages resent: 0 Bytes resent: 0 Packetloss: 0.0% Messages received: 8 Bytes received: 186 Acks received: 0 Duplicate acks received: 0 Inst. KBits per second: 28.8 KBits per second sent: 71.1 KBits per second received: 5.0 } Ping:65535 NPC:0 GPCI:544E5049485245344C5238504F51584850494734
GPCI is useless by the looks as someone suggested up. Different between every bot.
IncomingConnection: Code:
[13:53:31] Name:(45) .. GPCI: Code:
.... GPCI:544E5049485245344C5238504F51584850494734 |
They do have a pattern tho, i see over 30 numbers in the GPCI ID, do they all have that pattern? the hashed outcome of that string is usually less than 30 numbers since its 40 characters as a whole.
|
bool:IsPlayerBot(playerid) { if(IsPlayerNPC(playerid)) return false; new TempId[40+1], TempNumb; gpci(playerid, TempId, sizeof(TempId)); for(new i; i < strlen(TempId); i++) { if(TempId[i] >= '0' && TempId[i] <= '9') TempNumb++; } return (TempNumb >= 30 || strlen(TempId) != 40); }