1

I am trying to design a little tournament for an existing online game. I have no access to their game accounts, I can only add them inside the game and chat. I will create a web service with profiles for the tournament. How can I prevent the players from cheating by sharing their account information and having a better player play for them?

Solutions (?)

  • Physical place: Make the tournament in a physical location where the players will be all together. This have obvious difficulties.
  • SMS or Email code: I can send a code to the user and he will have to give it to me through the chat. But in this case he can just send this code to the person who is using his account.
  • Sound authentication: I can speak with the player using skype or some other VoIP service and make sure it is him, but again, I can speak with the player and someone else could still be using his account.

Is there any real solution for this?

0

Don't do this online. Please, don't do this.

Here's why: what if a user signs in from a hotel room in the same city? Same state? Same country? What if a user leaves the country and still wishes to play?

As someone who travels a lot, and has been "permanently banned for cheating" by Blizzard literally 14 times in a row on the same account, even though I had an authenticator, and the same computer, I would quit your game in a heartbeat. I don't like having to send in my government-issued IDs every time I want to unban the account after playing elsewhere.

And being accused of cheating when you're clearly not, is really annoying and stressful. If someone goes over to their friends house and plays there, or their moms, etc., you'll end up making them really angry if you ban them.

Physical place: Make the tournament in a physical location where the players will be all together. This have obvious difficulties.

It's also the best option, if it's a real tournament.

SMS or Email code: I can send a code to the user and he will have to give it to me through the chat. But in this case he can just send this code to the person who is using his account.

Yeah, he or she can send the code to the person using the account. Won't work.

Sound authentication: I can speak with the player using skype or some other VoIP service and make sure it is him, but again, I can speak with the player and someone else could still be using his account.

What if they're a deaf mute, or just mute? Congratulations on your discriminatory lawsuit. What if they can't even speak English?

Why not store a connection credential file in a certain place that is used for authentication in some way? The user doesn't have to know where this file is, and you can delete it, or wipe the contents later. Move it around, etc.

It's anti-cheat-by-obscurity, but it could work if the players are completely unaware of it. You could even store a series of files in different places that, when combined, do what you need them to.

But then that introduces another problem. What if the user goes to their parent's house and uses their computer? Girlfriend's house? Friend's house? Internet cafe? Then they don't have those files, and they get banned for "cheating."

Pretty much all options will quickly alienate your playerbase.

  • 1
    @Downvoter, do you have a comment to share with us? – Mark Buffalo Oct 19 '15 at 19:08
0

If you have no ability to see IP addresses and the computer name, then you either need an external service/program that can expose that information to you so you can verify it is the same machine, or your best bet is renting a conference room or similar and hosting it at a physical location. That route is better anyways because you can set up your own LAN and ensure that latency between players remains low and no one has a heavy advantage of latency and you know someone else is not sitting at their computer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.