Friday, January 12, 2018

How To Spot A Bot In EVE Online

"Also since half of you cant read, IT IS YOU FUCKING JOB TO PROVE IT IS A BOT IDGAF HOW YOU DO IT BUT IT BETTER BE FUCKING LEGIT OR IM NOT FUCKING PAYING YOU. I AM DOING YOU ALL A FAVOR BUT A BUNCH OF YOU WANT TO BE FUCKING DICK HEADS."
- H0n0ur, "CCP wont end botting, so we will (player contest)"

I won't say the cries of outrage against botting in EVE Online lately make me sad. A lot of people probably think I'm dancing around, singing "Hallelujah." I'm not quite that bad. But I do enjoy the posts on Reddit. The one I'm currently focusing on is the contest on killing bots.

A Reddit member from Triumvirate. is holding a contest with 200 billion ISK in prizes for killing bots. Great so far. But as the opening quote from H0n0ur indicates, players don't seem to know how to prove the ship they killed was actually a bot. Something tells me that H0n0ur is getting a taste of what CCP goes through when a poorly filled-out bot report enters the queue.

If players really want to see a bot banned, just hitting the "Report Bot" button and entering the suspected botters name is not enough. Just like H0n0ur won't pay out without proof, CCP requires more information to take action against the botter. I imagine (but don't know for sure) that reports with a lot of good information get moved to the head of the line. Everyone likes to pick low-hanging fruit.

Before going further, I do have to tweak CCP a little here. C'mon guys, an explanation of how to use the Report Bot feature, including the information to provide, isn't on the Help Center? Are you kidding me?!

Now that I got that out of the way, I did track down the 2011 dev blog that introduced the Report Bot feature. The dev blog contained a section on how to determine if a player is a bot, or just someone AFK watching Netflix. I include the information below in the hopes that not only does it make H0n0ur's life a little easier, but makes the process of banning some bots go faster as well.



Bots are all about rules (events, states, conditions, transitions, actions) and goals! A bot reacts to events according to a predetermined limited set of rules, triggering appropriate actions in response in order to meet its goals. In a world otherwise driven by human players, most of the times this rule based behavior can be observed under close investigation.
Therefore, before submitting a report, we encourage players to perform a brief but structured investigation.
  • Observe the behavior of the player and break it down into stages of processing (States, Conditions and Actions)
    • Break down the behaviour into states
      • What is each individual phase of the activity a subject carries on ?
      • Consider each phase a "State"
      • Example of states : "Idle, Docked, Warping, Mining, Hunting, etc"
    • Break down the behaviour into conditions
      • When does the activity of a subject change ?
      • Consider each change one or several "Conditions" that has been met and a transition to another "State" 
      • Example of conditions : "if state is mining and cargo is not empty then; if state is mining and ship is targeted and enemy is not NPC then; etc"
    • Break down the behaviour into actions
      • How does the subject carry on his activity ?
      • Consider each individual operation or group of operations carried out by a subject as an Action
      • Example of an action in a certain state when a certain condition has been met : "if state is mining and ship is targeted and enemy is not NPC then warp (to safe spot); etc"
  • Try to determine if the player you are observing seems to act repetitively according to a strict set of rules (for example, executing the same steps over and over for an extended period of time)
  • Try to determine its goals
  • Challenge the rules (try to think of possible triggers that would cause it to respond in a certain way if it is truly automated)
  • Trigger events and perceive reactions (does it respond to communication? How does it react to being locked or being warped in on? Does it react the same every time, for example by warping always in the same direction before returning to the exact same spot minutes later?)
  • Finally, use your human intelligence to determine whether it is a soulless automaton or simply a fellow, single-minded player.

* Note
There are different types of bots, each type having other rules according to which they carry on their activity. Try to adapt your investigation to the type of bot you are observing.

No comments:

Post a Comment