air
Member
- Joined
- Feb 24, 2015
- Messages
- 146
This is my thoughts about latest 6 months US bans. I think blizz get smarted. Botting accounts can be flagged, then if they are meets some criteria/filters account is banned.
Criteria for ban can be different: amount of gold, auctions count, reported while botting, botting in bg(many complaints from players), player activities(more time player is gaming, more likely hi create new sub after ban), other.
So, this is my list of possible detection methods.
0. Possible botting players can be filtered out by checking if they using: 32 bit client + windowed only mode + Click to move. That is simple.
1. Detection using Honeypot for gatherbuddy. It can be flagged then bot even try to use/harvest mineral or herb that is visible on map, but not accessible b'cos it's hidden inside some object.
I know 1 spot in Ashran, inside tree. And 1 spot in Gorgrond under rocks.
2. Detection by LUA fingerprinting
Bot can be detected then there is many LUA calls coming from WoW client like this in tuanha rogue CR
or from GarrisonBuddy, which flooded WoW so much, as it keeps crashing WoW client. So i stopped using GarrisonBuddy after that.
Criteria for ban can be different: amount of gold, auctions count, reported while botting, botting in bg(many complaints from players), player activities(more time player is gaming, more likely hi create new sub after ban), other.
So, this is my list of possible detection methods.
0. Possible botting players can be filtered out by checking if they using: 32 bit client + windowed only mode + Click to move. That is simple.
1. Detection using Honeypot for gatherbuddy. It can be flagged then bot even try to use/harvest mineral or herb that is visible on map, but not accessible b'cos it's hidden inside some object.
I know 1 spot in Ashran, inside tree. And 1 spot in Gorgrond under rocks.
2. Detection by LUA fingerprinting
Bot can be detected then there is many LUA calls coming from WoW client like this in tuanha rogue CR
PHP:
var currentEnergy = Lua.GetReturnVal<int>("return UnitPower(\"player\", SPELL_POWER_ENERGY );", 0);
or from GarrisonBuddy, which flooded WoW so much, as it keeps crashing WoW client. So i stopped using GarrisonBuddy after that.
PHP:
public static Building GetBuildingById(String buildingId)
{
String lua =
"C_Garrison.RequestLandingPageShipmentInfo();" +
"local RetInfo = {}; Temp = {}; local buildings = C_Garrison.GetBuildings();" +
String.Format(
"for i = 1, #buildings do " +
"local buildingID = buildings[i].buildingID;" +
"if (buildingID == {0}) then " +
"local nameShipment, texture, shipmentCapacity, shipmentsReady, shipmentsTotal, creationTime, duration, timeleftString, itemName, itemIcon, itemQuality, itemID = C_Garrison.GetLandingPageShipmentInfo(buildingID);" +
"local id, name, texPrefix, icon, rank, isBuilding, timeStart, buildTime, canActivate, canUpgrade, isPrebuilt = C_Garrison.GetOwnedBuildingInfoAbbrev(buildings[i].plotID);" +
"Temp[0] = buildings[i].buildingID;" +
"Temp[1] = buildings[i].plotID;" +
"Temp[2] = buildings[i].buildingLevel;" +
"Temp[3] = name;" +
"Temp[4] = rank;" +
"Temp[5] = isBuilding;" +
"Temp[6] = timeStart;" +
"Temp[7] = buildTime;" +
"Temp[8] = canActivate;" +
"Temp[9] = canUpgrade;" +
"Temp[11] = isPrebuilt;" +
// Info on shipments
"Temp[12] = nameShipment;" +
"if (not shipmentCapacity) then Temp[13] = 0; else Temp[13] = shipmentCapacity;end;" +
"if (not shipmentsReady) then Temp[14] = 0; else Temp[14] = shipmentsReady;end;" +
"if (not shipmentsTotal) then Temp[15] = 0; else Temp[15] = shipmentsTotal;end;" +
"Temp[16] = creationTime;" +
"Temp[17] = duration;" +
"Temp[18] = itemName;" +
"Temp[19] = itemQuality;" +
"Temp[20] = itemID;" +
"end;" +
"end;" +
"for j_=0,20 do table.insert(RetInfo,tostring(Temp[j_]));end; " +
"return unpack(RetInfo)", buildingId);
List<String> building = Lua.GetReturnValues(lua);