betting real money in games?

Started by
9 comments, last by frob 11 years, 10 months ago

[quote name='glhf' timestamp='1338650005' post='4945595']
You are wrong, it's about implementing betting into games.. that is a game design issue.
It's about all issues that come with adding real money betting into games including the legal issues.

What I don't get is why it was moved to General Programming. This has precisely nothing to do with programming. It should definitely go back to Game Design.
[/quote]

Yep, It would be great if a mod could move it back to where it belongs..
It had a nice discussion going on until he moved it and all discussion died because it's in wrong forum now.
Advertisement

It's not the same thing.
We will always be able to pay them the money they win because we take it from the other player.
They have to deposit the money into the game before they can place the bets.

They don't have a chance to win any money from us.. so we're always safe from what you're talking about.
I admire your bravity, but you still have to be extremely careful or you may find out to be wrong with your assumption.

In the easiest case, each game is paid out at once.
Players A, B, and C each put $50 onto "the table". The prize is $100 ($150 minus $50 for the house). Player A wins and B cheats and wins. Both A and B demand you give them $100. What now?

In the regular case, wins are not paid out at once, but go into the customers "account", from which he can eventually "withdraw", i.e. convert your virtual dollars (or credits, points, whatever you call them) to real dollars on the client's real bank account.

Players A, B, and C play 1000 games. Assume chances are exactly the same, everyone wins 333 times (one would have to win 334 times, but forget that...). Each player thus paid 50,000 and won 33,300. You will keep 50,000 profit from these 150,000 and pay the winers from the money tou seized earlier. Easy.
Now unluckily, player A knows a database exploit, so his account gets balanced every time anyone wins. At the end of the week, B and C ask you to pay out 33,000 each, and A asks for 100,000. That's minus 16,000 for you. What now?

If that's already scary, think about a player gaining root access to your server and creating 5,000 or 10,000 accounts with a few thousand dollars worth of credit in each account. He then withdraws unsuspicious amounts from each. You'll need weeks (or months) to track this back, until then the money will have disappeared in some country where nobody will be able to tell you who the account owner is, or where it has gone.
Players A, B, and C each put $50 onto "the table". The prize is $100 ($150 minus $50 for the house). Player A wins and B cheats and wins. Both A and B demand you give them $100. What now?
That case is easy to dismiss, because presumably neither A nor B would have the authority to declare the result of the game (only your trusted central server would), so when B sends a "claim prize" message, you know they're trying to cheat (badly) and you optionally ban them for sending obviously tampered-with packets.
Now unluckily, player A knows a database exploit, so his account gets balanced every time anyone wins. At the end of the week, B and C ask you to pay out 33,000 each, and A asks for 100,000. That's minus 16,000 for you. What now?[/quote]This one's a bit scarier, but again, presumably you don't have your game's database exposed to the internets -- all DB transactions would be made by the trusted server above.
This is a concern for anyone that maintains a database of financial data - you need to ensure you've got a full "paper trail" on all transactions. Once per pay-cycle, before you convert virtual currency into cash, you'd presumably validate all of the transaction trails and ensure they all traced back to initial cash-to-virtual-currency transactions. In the event that someone does inject a phoney virtual-to-cash transaction, they'd also have to inject the whole paper trail of where that virtual-currency came from in the first place, or they'd in effect just be corrupting your DB.
If that's already scary, think about a player gaining root access to your server and creating 5,000 or 10,000 accounts with a few thousand dollars worth of credit in each account. He then withdraws unsuspicious amounts from each. You'll need weeks (or months) to track this back, until then the money will have disappeared in some country where nobody will be able to tell you who the account owner is, or where it has gone.[/quote]This is the really scary one -- someone with inside knowledge of your systems gains the ability to really exploit them despite all the security measures and goes on to defraud you of large sums of money. If they don't just cause corruption or obviously invalid transactions like above, then it's probably an inside job, and a matter for police, just the same as if someone broke into your office and took off with $100,000 worth of equipment.

This last case though is a good reason why you might want to outsource ownership/maintenance over the payment part of such a system. e.g. I'm not sure how betable works, but if we assume that they're the custodians of A and B's bets, and they're responsible for paying out to A or B (and the leftovers to you), then this risk of being massively defrauded is shifted from you and onto betable... which is a pretty sweet deal.

I wonder how pokersites prevent [cheating] tho... I mean I've heard about the rare occurance that someone has hacked into the feed of what cards are coming out of the deck but it really is a rare occurance and I think by now that security issue has been sealed.
A good/fair virtual poker game won't allow the players to predict the deck, but they will allow you to confirm that you weren't cheated yourself.
* Server generates a random deck by shuffling the cards.
* Generate a hash from that deck / encrypt the deck with a too-long-to-crack key.
* Send the hash / encrypted deck to all players before the round.
* Play game
*** Server knows who's turn it is and what actions they can take. Listens for commands from that player. There's no room for players to break the rules, as the server controls the game.
*** When drawing cards, the server tells everyone that it has drawn a card (so they can reconstruct the game later), but only gives the card's face value to the player who needs to know about it.
* After the game, the server sends the initial deck / key to all players. They can compare the initial hash/encrypted deck with the later deck/key and also with the history of the game's events. Each player can now be sure that the server was playing fair and did all of it's random number generation (shuffling) before the game began.

If you want to cheat at online poker, there's two methods --
1) Figure out a key breaker for the pre-game deck sharing step. If you can reverse the hashed deck back into a real deck, you can predict the whole game. You'd probably use a rainbow table here, but I doubt it's really feasible. Plus, not every server carries out this step -- it's only the reputable servers who want to prove they're not cheating against you that do this.
2) Have more than one friendly player at the table. If you're at a table of 4 people, but you control 3 of those people, then the three of you can share information to help each other. This doesn't let you rob the house, but it gives you much better odds of winning a hand than the 4th player (or 2nd real player) has, letting you win their money. Online hosts combat this by randomly assigning players to tables, but in theory, if you wrote a bot that could act as millions of clients, it would have a good chance of meeting up with itself online.

[quote name='Tom Sloper' timestamp='1338649227' post='4945591']
This is not a game design question, so I'm moving it out of Game Design. The question is also not about legality, it's about how hacking is prevented. Looking for the right forum to put it in...

You are wrong, it's about implementing betting into games.. that is a game design issue.
[/quote]

What I don't get is why it was moved to General Programming. This has precisely nothing to do with programming. It should definitely go back to Game Design.


Actually, taken in entirety with his other recent topics:
* Cheating in WoW
* Creating cheat-bots and selling them
* Ideas for fixing cheating in combat systems

And his lines in this post:

And they take care of the legal issues so we can add betting to our games.
[/quote]
But this is something I've always been interested in even as a gamer if there's a competition for money in a game it catches my entire attention.[/quote]

I mean, If it's possible to implement betting into games... I don't see why most games don't do it?
It's pretty much free money for you if you count away the legal issues.
[/quote]

They don't have a chance to win any money from us.. so we're always safe from what you're talking about.
[/quote]

Which makes me think the entire point of this thread is not about how to bet real money. Nor is it a way to implement betting into games legally.

This is just another posts in a series about avoiding personal responsibility

I agree that there is no forum for this, looks like two other mods have agreed that it doesn't belong in various places.




Recapping the subject without the meta-discussion:

Original post: Why has nobody has implemented the easy-money gambling scheme yet?
Hodgman's reply: Legal issues, real life jail time penalties
Samoth's reply: Legal issues, impossible to prevent cheaters, jail time
glhf: what if I prevent one form of cheating?
samoth: You cannot prevent all cheating.
Hodgman: There are still untold ways people can cheat. There are good reasons the easy-money scheme doesn't work in real life.
frob: Implementing that get-rich-quick scheme is illegal in most countries. Do it at your own peril.


Let's count this as a successful discussion, shall we?

This topic is closed to new replies.

Advertisement