30 Jun, 2012, Sargonas wrote in the 1st comment:
Votes: 0
I currently suspect a few players of using bots or scripts/group tells to control other players while playing the game.

Its clearly stated in the rules that you can use aliases and triggers in the game, but you cannot use any scripting and/or aliases and triggers to control your character or another character while not at your keyboard, i.e. bot'ing.

I am unwilling at this time to use snoop to catch them and was wondering if there were any alternatives to determining if they are indeed bot'ing? How do you do it on your muds?
30 Jun, 2012, Scandum wrote in the 2nd comment:
Votes: 0
You can measure their activity level as a percentage. If someone is active for 100% of the time during a 10 hour period they're obviously running a bot. Most players will be active 20 to 50% of the time.
30 Jun, 2012, Ssolvarain wrote in the 3rd comment:
Votes: 0
If you think they're botting, just show up and ask them to respond.
30 Jun, 2012, Sargonas wrote in the 4th comment:
Votes: 0
The biggest problem is they are always grouped and on together, so asking them might not work if someone is playing both. Also since they always play together their activity percentage will show up normal.

I should have included that in the original post, sorry, but they always log on and play together grouped, I don't think I've ever seen one without the other, which could be indicative of a husband/wife team or close friends.
30 Jun, 2012, Ssolvarain wrote in the 5th comment:
Votes: 0
I'm assuming you don't have a socket or IP command to see the IP they're connecting from?
01 Jul, 2012, Tyche wrote in the 6th comment:
Votes: 0
Change the rules. Problem solved. :-)
01 Jul, 2012, plamzi wrote in the 7th comment:
Votes: 0
Back in the day they used to make us count down from 10 together. It's a simple and efficient way to tell if there are two different people from the same IP.
01 Jul, 2012, Runter wrote in the 8th comment:
Votes: 0
You're not going to find 100% proof of botting, so you need to figure out what your goal really is here. It's my experience that people bot when stuff is too much of a grind, and generally not fun. If you have diminishing returns on relatively unique events it also discourages botting by design. Being able to do the same mindless tasks over and over is really what fosters botting. Including combat if it's mindless and repetitive.
01 Jul, 2012, Sargonas wrote in the 9th comment:
Votes: 0
Thanks for all of the responses, I used a variation on Plamzi's idea of the simple countdown, I waited until I suspected they were botting and then I ran a global quest, that was !group, so it forced them to go in separate directions locating items at the same time, sort of a scavenger hunt quest, it just about convinced me they were legit, since the quest is different for each competitor and they competed at the same time.

Like Runter said you can't get 100% proof so I did what I could. What I did was the easiest without sounding like I was accusing them by interrogating them about IP addresses etc. They are none the wiser and the issue is settled, I also implemented a 1 character per IP check, with an option to have that lifted by proving you aren't multi-playing but submitting to a 'Plamzi test' of counting simultaneously from different locations in the mud.



edit-typos
01 Jul, 2012, Oliver wrote in the 10th comment:
Votes: 0
I think you actually want to make them count backwards from 10 in the same room.

The point is that no two players can perfectly synchronize saying the numbers unless they are cheating. You end up with "two, five, three, six" instead of cheaters, who will sound like "oneone, twotwo, threethree…", et cetera.
01 Jul, 2012, Davion wrote in the 11th comment:
Votes: 0
Oliver said:
I think you actually want to make them count backwards from 10 in the same room.

The point is that no two players can perfectly synchronize saying the numbers unless they are cheating. You end up with "two, five, three, six" instead of cheaters, who will sound like "oneone, twotwo, threethree…", et cetera.

Truly, I could pass this test on 2 computers linked with synergy using a 3 line script and simply changing the intervals. However, Sargonas' solution I couldn't fake, at all. That's a really good tip to tell if someone is truly multiplaying/botting. And not one I've heard before.
01 Jul, 2012, Ssolvarain wrote in the 12th comment:
Votes: 0
Nothing particularly wrong with confronting someone, or snooping either. They should understand that as long as they respond properly, there's no problem. What you're doing is for the integrity of your game, not to violate their person.

Snooping is actually one of the easier ways to detect multiplaying and botting. You shouldn't discount it or feel awkward about using it. It was put there as a tool for you to use.

But, if they are two independant players, there's not really a problem there. Even if they're on the same IP, and they can prove they're different people, I don't know why you wouldn't make room for that in your rules.
01 Jul, 2012, Hades_Kane wrote in the 13th comment:
Votes: 0
I'm with Ssolvarain on that.

We don't make very heavy handed use of snoop, but in the case of suspecting of someone botting, that's the easiest way to quickly determine, as most players will be running a repetitive script or set of triggers. It only takes a moment to determine whether a player is inputting the exact same string of commands over and over, and it's usually pretty obvious to see triggers. In these instances, if I suspect a trigger is in use, I attempt to cause their trigger to fire several times in rapid succession. If "You may now act again" is something they are triggering off of, a personal echo to them of that 10 times in a row should be sufficient enough to determine a trigger is being used, and sufficient enough to draw their attention if they are indeed at their character but just running triggers.

In either instance, we will normally echo a really big, obvious attempt at drawing their attention just to make sure whether they are at their characters or not. The way we see it, running triggers is okay as long as the player is AT their character. Basically, if you aren't at your character, we expect the AFK flag to be up. Watching your character run triggers and chatting or whatnot, we consider that playing, it's the "not at your character" triggering that we object to, largely for the social aspect of the game.

We have code to draw to our attention very blatantly if two characters are connected from the same IP, then I normally attempt to engage them both in conversation to make a judgment call or whether they are the same person or not.

Also, if you are concerned about privacy issues, it wouldn't be hard to filter out tells, the say channel, guild channels, emotes etc. out of snoop where none of the communication to/from the player is shown the immortal.
01 Jul, 2012, plamzi wrote in the 14th comment:
Votes: 0
Davion said:
Oliver said:
I think you actually want to make them count backwards from 10 in the same room.

The point is that no two players can perfectly synchronize saying the numbers unless they are cheating. You end up with "two, five, three, six" instead of cheaters, who will sound like "oneone, twotwo, threethree…", et cetera.

Truly, I could pass this test on 2 computers linked with synergy using a 3 line script and simply changing the intervals. However, Sargonas' solution I couldn't fake, at all. That's a really good tip to tell if someone is truly multiplaying/botting. And not one I've heard before.


I think the whole point is that you catch someone by surprise with an impromptu question, and then look at the timing of responses. Maybe first time you ask them to count backwards from 10. The second time you can ask them to list the days of the week. Or the months of the year, etc. And even if they take the pains to script that, you can still catch them because two consecutive requests will get the same sequence of responses. And if someone scripted with randomness, well then they're too determined and good at it and chances are you won't catch them even if you snoop them because they'll also be staging conversations between themselves. Or something.
02 Jul, 2012, Igabod wrote in the 15th comment:
Votes: 0
I applaud the creative method you used sargonas. It allowed you to find the info you needed and it gave the players a nice little quest. Nobody got their feelings hurt by being falsely accused either. I think that method could be the best method I've seen before. Thanks for the idea.
03 Jul, 2012, Lyanic wrote in the 16th comment:
Votes: 0
Tyche said:
Change the rules. Problem solved. :-)

Alas, Tyche is the only one with the correct answer.
03 Jul, 2012, Oliver wrote in the 17th comment:
Votes: 0
Davion said:
Oliver said:
I think you actually want to make them count backwards from 10 in the same room.

The point is that no two players can perfectly synchronize saying the numbers unless they are cheating. You end up with "two, five, three, six" instead of cheaters, who will sound like "oneone, twotwo, threethree…", et cetera.

Truly, I could pass this test on 2 computers linked with synergy using a 3 line script and simply changing the intervals. However, Sargonas' solution I couldn't fake, at all. That's a really good tip to tell if someone is truly multiplaying/botting. And not one I've heard before.


Yeah, but only if you knew what the test was to begin with. The way that I've seen this done is that you just randomly pull people up, and have them count backwards from X. If they pause for 5 minutes to write a script, it'll be just as obvious?
29 Jan, 2013, Telgar wrote in the 18th comment:
Votes: 0
I have an evil :devil: solution to this. Find out their relationship - friends, siblings, spouses, neighbors? This could possibly explain same IP addresses, overlapping IPs, etc. Now get them both into isolation rooms and get them both to answer a question about a personal detail that is unlikely to be the same, and that they could never forget.

Name of street you grew up on, birthday, first pet, etc. Most importantly, make sure the command they use to tell you this "ptell <player> <xyz>" doesn't send any response back to them other than "Ok."

They may flat up confess and hope to get it over with without too much punishment rather than start creating fictional identities. But, hey, these are RPers who are hardcore into your MUD. They may well delve into this territory and start writing a fiction. If they give you a reasonable response, tell them you are satisfied with their responses. Let them go about their business.

Next time they log in, after their password, they get asked that same personal question.

Then, if they are for real, they have no problem. If they are cheaters they go to check their logs to find out what their response was. When they do, instead of "You tell the Immortal, '9/10/1970', they find "Ok.". Now they shit bricks.
29 Jan, 2013, Runter wrote in the 19th comment:
Votes: 0
It's rather inappropriate to ask your players about personal details that weren't required upon signup. And frankly, I wouldn't ever sign up with a game that asks me about details of my relationships with friends, siblings, spouses, or neighbors. If I were on a professional game I'd expect that if I were asked my someone in game it would be a scammer. Ever seen the "Our staff will never ask you about personal details" disclaimers? It should be engrained in everyones head these days because it's a massive security risk. Those personal details they are asking could be recovery questions you answered elsewhere.

So actually, this presents 2 major flaws. You may get lies from the person because they don't want to give up personal info, or they think it's a scam. Then you've falsely confirmed someone as a botter/multiplayer/whatever.

On the other side of the coin, you may confirm someone as legit who just is able to remember their made up info.

I think this approach shouldn't be used even as one layer of the onion.
29 Jan, 2013, Telgar wrote in the 20th comment:
Votes: 0
Yeah, I wouldn't do that unless I was 99.999% sure the person was a botter. Like I said, it's an evil solution.
0.0/40