Pages:
Author

Topic: bustabit.com -- The Social Gambling Game - page 51. (Read 293938 times)

hero member
Activity: 778
Merit: 515
December 13, 2015, 01:43:06 PM
Hey everyone, yeah, sorry bustabit is getting hit by quite an intense DDoS =o (someone wanting 3 BTC lol).

Obviously we aren't going to pay, but might have intermittent downtime while it happens. Now that I'm awake, i'll be able to deal with it a lot better  Grin

Thanks for the info!

Question about the lotto.

This morning I logged on and did !lotto which showed me the lotto stats of 8x cash out with 11 minuets left till draw. Then I did  !lotto odds and it shows 14 players in the que. So I set the auto bet to 8x and sat back and waited to see if I could hit x8 in 11 minuets. After 10 rounds I hit the 8x cash out on auto, which I thought should have entered me into the drawing. but when I did !lotto odds. The odds were still the same at 14 players.

So my question is if you are playing in auto are you still entered? And if say the cash out is 8x do you cash out at 8x or above to be entered.

Any information would be greatly appreciated.

Thanks
legendary
Activity: 1288
Merit: 1000
December 13, 2015, 11:56:31 AM
Hey everyone, yeah, sorry bustabit is getting hit by quite an intense DDoS =o (someone wanting 3 BTC lol).

Obviously we aren't going to pay, but might have intermittent downtime while it happens. Now that I'm awake, i'll be able to deal with it a lot better  Grin

Site is working now, as far as I can tell everything is back to normal. It is nice that they got DDOS cloudflare protection to prevent this situation in the future.
legendary
Activity: 1463
Merit: 1886
December 13, 2015, 11:09:51 AM
Hey everyone, yeah, sorry bustabit is getting hit by quite an intense DDoS =o (someone wanting 3 BTC lol).

Obviously we aren't going to pay, but might have intermittent downtime while it happens. Now that I'm awake, i'll be able to deal with it a lot better  Grin
newbie
Activity: 5
Merit: 0
December 13, 2015, 10:58:59 AM
i cannot connect to the site? What`s happen?  Grin Grin Grin Grin Grin
newbie
Activity: 21
Merit: 0
December 13, 2015, 10:33:20 AM
I believe it is only a Heroku error, should be fixed when Ryan gets online. Nothing to worry about.
newbie
Activity: 18
Merit: 0
December 13, 2015, 10:21:09 AM
Hi,
I cannot connect to bustabit.com
legendary
Activity: 1302
Merit: 1025
December 13, 2015, 10:09:41 AM

Have this issue also, do you know when the website will be back up?

I don't have any idea when this will be fixed as there is no response from any member of the team on what problem  does bustabit is having right now. Maybe it will eventually fix itself if not later then maybe tomorrow. Let's just keep trying logging in and see if the site will work again.
member
Activity: 79
Merit: 10
December 13, 2015, 09:55:55 AM

Same for me as well. I am getting this every time I try to load the game in chrome.

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

That's the same error I got. It must be a problem on the server or whatever. I haven't been online on bustabit and I was to withdraw my remaining bits so I tried logging in today and there goes the error. I hope this gets fix if this is some kind of problem.

Have this issue also, do you know when the website will be back up?
member
Activity: 78
Merit: 10
December 13, 2015, 09:36:37 AM
I am dealing with the same problem Sad
legendary
Activity: 1302
Merit: 1025
December 13, 2015, 06:40:46 AM

Same for me as well. I am getting this every time I try to load the game in chrome.

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.

That's the same error I got. It must be a problem on the server or whatever. I haven't been online on bustabit and I was to withdraw my remaining bits so I tried logging in today and there goes the error. I hope this gets fix if this is some kind of problem.
newbie
Activity: 16
Merit: 0
December 13, 2015, 06:25:05 AM
Hi,

What is the bustabit script programming language?

bustabit was written in JavaScript using Node.js. It's published under a permissive licence and you can view the source code here. The script engine that players use to write bots et cetera also uses JavaScript.
hero member
Activity: 778
Merit: 515
December 13, 2015, 06:21:31 AM
Is it just me or does someone else in here is getting a message "Application Error"? I tried logging in my account today using a mobile and I can't seem to pass through this error message. I have tried ysing a different brower and already tried clearing the cache of my browser but nothing seem to works.

Same for me as well. I am getting this every time I try to load the game in chrome.

An error occurred in the application and your page could not be served. Please try again in a few moments.

If you are the application owner, check your logs for details.
legendary
Activity: 1302
Merit: 1025
December 13, 2015, 06:08:43 AM
Is it just me or does someone else in here is getting a message "Application Error"? I tried logging in my account today using a mobile and I can't seem to pass through this error message. I have tried ysing a different brower and already tried clearing the cache of my browser but nothing seem to works.
full member
Activity: 589
Merit: 100
December 12, 2015, 06:00:55 AM
Hi,

What is the bustabit script programming language?

newbie
Activity: 24
Merit: 0
December 09, 2015, 10:33:43 AM
I knew I had some holes in my knowledge that seems obvious to you guys by looking at the code and the FAQ couldn't satisfy me.
dooglus, your ELI5 explanation was great, thank you I understood everything perfectly.

sr. member
Activity: 434
Merit: 250
:)
December 08, 2015, 08:21:45 PM
Code:
  var hash = sha265(i);

Pretty edgy of you to use sha256's unpopular twin brother sha265! Smiley
We got a badass over here Tongue Wink
legendary
Activity: 1463
Merit: 1886
December 08, 2015, 04:36:55 PM
For some people who were having trouble connecting, I've issued a new ssl certificate that should hopefully fix that. Also thanks to a patch by kungfuant, the game client is significantly faster.

And in other news, we set a record of having 173 people online at once! (Although the vast majority are idlers)
legendary
Activity: 2940
Merit: 1333
December 07, 2015, 02:26:21 AM
Code:
  var hash = sha265(i);

Pretty edgy of you to use sha256's unpopular twin brother sha265! Smiley
legendary
Activity: 2940
Merit: 1333
December 06, 2015, 11:22:13 PM
1) How can I divide a hash string by a number or use in in a math forumla? doest hashes have numerical value ?

Good question. Hashes are really just very big numbers. They are usually written in hexadecimal (base 16) which uses digits 0-9 and a-f. 'a' means 10, 'b' means 11, ..., 'f' means 15.

Rather than the decimal (base 10) system, where "246" means 2 hundreds (ten squared), 4 tens and 6 ones, in hexadecimal "246" would mean 2 (16 squareds), 4 sixteens and 6 ones.

So even though the hash string has letters a through f in it, it is still just a number, and can be divided by other numbers.

2) the value of e is generated randomly or its derived out of something ?

e is just 2 to the power of 52. It is one greater than the maximum value that can be represented by a 13 digit hexadecimal number.

if you can show me an exmaple of this calculation it would be great.

I can try. I just went to bustabit and screenshotted the most recent crashes:



I copied the full hash of the top row. It is 0f81acc25a875c843f3ee3f9563bfa875be311d7585306e743120a4e68f51f0f

Then I checked that each of the next hashes forms a chain:

Code:
$ echo -n 0f81acc25a875c843f3ee3f9563bfa875be311d7585306e743120a4e68f51f0f | sha256sum
1da773ad50c9f5ce2098713e90bfe667c467fb1e1b14d3623113336899cfff4c  -

$ echo -n 1da773ad50c9f5ce2098713e90bfe667c467fb1e1b14d3623113336899cfff4c | sha256sum
c0799484b3dda03da0ab75f21ea6c34ee636dcfa40be81bc44ade2bcd6760754  -

$ echo -n c0799484b3dda03da0ab75f21ea6c34ee636dcfa40be81bc44ade2bcd6760754 | sha256sum
ba5faf9f3b9c84ac1d7ddc957a2376e9cb3638ac6f54ad4274febdf5beec2632  -

$ echo -n ba5faf9f3b9c84ac1d7ddc957a2376e9cb3638ac6f54ad4274febdf5beec2632 | sha256sum
5d3ebb05c6b2b5ab6a7397a820ae8d710712f7cf2376630dd2ed3fa747ec325c  -

That shows that the sha256 hashes are chained as described. Each game's hash is the sha256 hash of the next game's hash.

To do the calculations, I'm going to use 'nodejs', a standalone Javascript interpreter:

Code:
$ nodejs
> crypto = require('crypto');
> e = Math.pow(2,52); // e is just 2^52
4503599627370496
> clientSeed = '000000000000000007a9a31ff7f07463d91af6b5454241d5faf282e5e0fe1b3a'; // hash of block 339300
'000000000000000007a9a31ff7f07463d91af6b5454241d5faf282e5e0fe1b3a'

> serverSeed = '0f81acc25a875c843f3ee3f9563bfa875be311d7585306e743120a4e68f51f0f'; // this is the server seed shown when the game is over
'0f81acc25a875c843f3ee3f9563bfa875be311d7585306e743120a4e68f51f0f'
> hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex'); // combine the server seed with the client seed
'1cda7a31c271dd9e8b95798aedb9d6adfd83de975f5edd8315de7675b1cdc9ea'
> first13 = hash.slice(0,13); // take the first 13 digits of the hash
'1cda7a31c271d'
> h = parseInt(first13, 16); // convert it from hexadecimal to decimal
507594856474397
> Math.floor((100 * e - h) / (e - h)) / 100 // apply the formula to get the crash point
1.12

> serverSeed = '1da773ad50c9f5ce2098713e90bfe667c467fb1e1b14d3623113336899cfff4c';
'1da773ad50c9f5ce2098713e90bfe667c467fb1e1b14d3623113336899cfff4c'
> hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');
'e2b986d935a2696722fe80a862ea044a12682341175fda4b6419524f2b38e75b'
> first13 = hash.slice(0,13);
'e2b986d935a26'
> h = parseInt(first13, 16);
3988583347345958
> Math.floor((100 * e - h) / (e - h)) / 100
8.66

> serverSeed = 'c0799484b3dda03da0ab75f21ea6c34ee636dcfa40be81bc44ade2bcd6760754';
'c0799484b3dda03da0ab75f21ea6c34ee636dcfa40be81bc44ade2bcd6760754'
> hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');
'6798fcb15192969301ce58db9010a8d3ad4c53d834a63fd090d41851f5b07900'
> first13 = hash.slice(0,13);
'6798fcb151929'
> h = parseInt(first13, 16);
1822508354705705
> Math.floor((100 * e - h) / (e - h)) / 100
1.67

> serverSeed = 'ba5faf9f3b9c84ac1d7ddc957a2376e9cb3638ac6f54ad4274febdf5beec2632';
'ba5faf9f3b9c84ac1d7ddc957a2376e9cb3638ac6f54ad4274febdf5beec2632'
> hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');
'bed205075a7b1ce33616840b9681a5b84522bf34b26ff3e758c3eb788b1e49af'
> first13 = hash.slice(0,13);
'bed205075a7b1'
> h = parseInt(first13, 16);
3356947788441521
> Math.floor((100 * e - h) / (e - h)) / 100
3.89

> serverSeed = '5d3ebb05c6b2b5ab6a7397a820ae8d710712f7cf2376630dd2ed3fa747ec325c';
'5d3ebb05c6b2b5ab6a7397a820ae8d710712f7cf2376630dd2ed3fa747ec325c'
> hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');
'd7f97ec4c79f14c1e731101c7422facd5e0662eeb5481eaba9a7a681588f5697'
> first13 = hash.slice(0,13);
'd7f97ec4c79f1'
> h = parseInt(first13, 16);
3799465178462705
> Math.floor((100 * e - h) / (e - h)) / 100
6.34

I had to tell it the client seed, which is the hash of block 339300 - a block height that was picked before the block was solved, in the seeding event post, and each of the server seeds. From that information it was able to calculate the 5 crash points from the image. I didn't check whether the hashes were divisible by 101 (because I don't know how to using node), so let's do it in Python:

Code:
$ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 0x0f81acc25a875c843f3ee3f9563bfa875be311d7585306e743120a4e68f51f0f % 101
20L
>>> 0x1da773ad50c9f5ce2098713e90bfe667c467fb1e1b14d3623113336899cfff4c % 101
43L
>>> 0xc0799484b3dda03da0ab75f21ea6c34ee636dcfa40be81bc44ade2bcd6760754 % 101
41L
>>> 0xba5faf9f3b9c84ac1d7ddc957a2376e9cb3638ac6f54ad4274febdf5beec2632 % 101
4L
>>> 0x5d3ebb05c6b2b5ab6a7397a820ae8d710712f7cf2376630dd2ed3fa747ec325c % 101
22L

That's showing the remainder after dividing each hash by 101. It's not zero for any of them, so the crash point is never 0x.

2) Also how are the odds of X multiplier to appear are calculated ?

I don't remember the details of that. I did work through it once, and found an error, so Eric (I think) ended up fixing the code.

I can understand that this method is weak because you need to trust the site owners to generate true random numbers and strings.

Yes - it's one thing for the owners to prove that they picked the outcome before you played (by publishing its hash), but that's not enough. They should also be able to prove that they had no control of the outcome. If you're playing roulette, and picking red or black, it's not enough for me to prove that I committed to rolling green "zero" before you made your bet. I should also be able to prove that I'm not picking zero more often than I should be.

That is the point of the "seeding event" I linked to above.
newbie
Activity: 24
Merit: 0
December 05, 2015, 06:31:06 AM
Code:
function crashPointFromHash(serverSeed, clientSeed) {
  function divisible(hash, mod) {
    // We will read in 4 hex at a time, but the first chunk might be a bit smaller
    // So ABCDEFGHIJ should be chunked like  AB CDEF GHIJ
    var val = 0;
    
    var o = hash.length % 4;
    for (var i = o > 0 ? o - 4 : 0; i < hash.length; i += 4) {
      val = ((val << 16) + parseInt(hash.substring(i, i+4), 16)) % mod;
    }

    return val === 0;
  }

  var hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');

  /* In 1 of 101 games the game crashes instantly. */
  if (divisible(hash, 101))
     return 0;

  /* Use the most significant 52-bit from the hash
     to calculate the crash point */
  var h = parseInt(hash.slice(0,52/4),16);
  var e = Math.pow(2,52);

  return Math.floor((100 * e - h) / (e - h));
}

Or, in English:

To get from the sha256 hash to the crashpoint:

1) if the hash is exactly divisible by 101, crashpoint is 0x
2) otherwise crashpoint is (1 + 99e/(e-h)) / 100 to 2 decimal places, where e is 2^52 and h is the first 13 characters of the hash

Intuitively:

h ranges from 0 to 2^52-1.

If h is very small, e-h is very big, 99e/(e-h) is very close to 99, and the crashpoint is 1.00x.

If h is very big, e-h is small, 99e/(e-h) is very big, and the crashpoint is huge.

1) How can I divide a hash string by a number or use in in a math forumla? doest hashes have numerical value ?
2) the value of e is generated randomly or its derived out of something ?

if you can show me an exmaple of this calculation it would be great.

2) Also how are the odds of X multiplier to appear are calculated ?


RHavar: thank you for the explanation that part I understood but you made it even clearer.
I dont really know about how dice works at the backend but there is a method used by jackpot sites in the cs:go community where they used a secret string + a random generated number into a hash. they publish the hash and the secret before the game ends, once the game concludes you can take the winning number and the secret string and hash to check if it matches the hash that was published.
I can understand that this method is weak because you need to trust the site owners to generate true random numbers and strings.
Pages:
Jump to: