http://akhtyrka.livejournal.com/ ([identity profile] akhtyrka.livejournal.com) wrote in [community profile] useless_faq2014-11-03 08:37 pm

Онлайн покер

Играл в покер. Техасский холдем.
Сначала игроки получают по 2 карты
потом открывается 3 на столе (флоп)
потом еще одна (терн)
и потом последняя (ривер).
Стало интересно, в какой момент компьютер/сервер знает какие выпадут карты?
Непосредственно перед открытием очередной порции карт на столе?
Или в самом начале раздачи сервер исход партии уже предопределен, если, конечно, никто не скажет "пас".

[identity profile] cosmonazi.livejournal.com 2014-11-04 12:02 pm (UTC)(link)
Вы меня не поняли. Является ли это число некоторым seed'ом, с помощью которого можно независимо от сервера просчитать впоследствии всю последовательность карт, или же просто идентификатором некоторого массива, который сервер вполне может заполнить значениями уже по ходу партии? (естественно, продолжая делать вид, будто так и было сгенерировано).

[identity profile] bronevichek.livejournal.com 2014-11-04 01:18 pm (UTC)(link)
Это число явялется хешем созданной раздачи.
Учитывая, что количество раздач это 52!, плюс к исходным данным для рассчета хеша (скорее всего) прибавляют какой-нибудь доп. аттрибут (например номер комнаты/сессии, или время начала игры) то рассчитать раздачу из полученного хеша не представляется возможным.
А вот проверить (имея на руках последовательность карт сыгранной раздачи), в случае возникновения обоснованных претензий - да, можно.

[identity profile] xen0n.livejournal.com 2014-11-04 09:36 pm (UTC)(link)
есть разница между "гарантированно рассчитать невозможно" и "невозможно рассчитать в большинстве случаев". Даже если хеши "соленые" (salted), но известен алгоритм подписи и соль более-менее разумная (а это число сильно изменяется со временем и ростом вычислительных возможностей) взломщик может рассчитать хеши наперед (например, для комнаты 123 и времени начала игры 11:20:14 7го июля.)

Затем продолжать игру (например, как играют боты, которые обычно в небольшом плюсе), и если вдруг в какой-то момент ему везет, и хеш раздачи совпадает с предрассчитанным - он (при небольшом везени) не просто выиграет, а еще и выиграет в тысячу раз больше, т.к. гарантированно может идти ва-банк, рисковать любой суммой (и вытягивать практически любую из других игроков)

[identity profile] bronevichek.livejournal.com 2014-11-04 10:36 pm (UTC)(link)
Взломщик не может рассчитать хеши наперед, т.к. для того, чтобы узнать подмешиваемый timestamp начала времени конкретной игры (а они стартуют не по расписанию, а по мере набора игроков) он должен быть Николасом Кейджем из фильма "Пророк". Это р-раз.

Вы также путаете crypt salt и исходные данные для вычисления хэш-функции. Это д-два.

Даже зная расклад колоды наперед, чтобы вынудить противников пойти ва-банк - это должен быть аналог "руки Миссисипи". И это т-три.

[identity profile] lazybear.livejournal.com 2014-11-04 06:51 pm (UTC)(link)
Может быть и так и так. По идее если этот номер показывается, то скорее всего по нему нельзя восстановить раздачу. Иначе теоретически это дырка через которую можно узнать карты в колоде и у других на руках.

Например в ПокетПреф (Марьяже) есть уникальный номер по которому однозначно генерируется раздача.