Тотализатор «RUBRAFOX»

Тотализатор «RUBRAFOX» - многопользовательское игровое приложение, реализовано в 2002г., использовались: TCP/IP Sockets, XML, SSL, Web Money, программирование Flash 5, Action Script, Java2 SE 1.3, PHP4, MySQL 3.23 + InnoDB Общее описание Это современная реализация одного из древнейших развлечений с простыми правилами: необходимо угадать исход какого-то события, происходящего в соответствии с вероятностными законами. Если Вы угадали, значит, Вы выиграли. Принять участие в игре могут только клиенты (игроки), прошедшие регистрацию на сайте. Игра осуществляется между ними. Если у зарегистрировавшегося клиента нет денег на счету, он только наблюдает за ходом игры, ставки делать не сможет. После регистрации клиент может открыть игровой счет. Не зарегистрированные клиенты к просмотру не допускаются.
Каждая игра, имеет свои правила и событие, определяющее результат игры. Игры объединяет то, что все они управляются вероятностными законами. Ставки могут делаться в любом количестве, которое обеспечивается остатком на текщем счету клиента. Если проверка показала, что игрок не может сделать ставку по каким-либо причинам, то он получает предупреждене об этом с объяснением причины. Ставки списываются со счета клиента и помещаются на игровое поле. Вернуть поставленные деньги и выйти из игры нельзя до ее завершения. Сумма выигрыша определяется по каждому номиналу отдельно. Фактически между собой играют группы игроков, сделавших ставки, равноценные по номиналу, все они информируются о текущей сумме выигрыша, который они получат, угадав исход игры. Эта сумма, естественно, в процессе игры постоянно меняется по мере того, как игроки делают свои ставки. Участники игры информируются обо всех изменениях на игровом поле в момент возникновения события в режиме реального времени. Комиссионные тотализатора составляют 10% от выигранной суммы, снятие их с игрового счета происходит автоматически. Выигрыш, очищенный от комиссионных, заносится на счет игрока, его можно превратить в реальные деньги в любой момент. На счет выигравшего игрока также возвращаются с игрового счета в полном объеме все сделанные им ставки. То же самое происходит при отсутствии ставок на противоположной стороне на каком-либо номинале. Если против игрока никто не играл на каком-либо номинале ставки, то он в игре фактически не участвовал. В моменты серверных сбоев во время игры, если ставки уже были сделаны и не произошло событие "Конец игры", то после восстановления сервера ставки с игрового счета возвращаются игрокам в полном объеме. Flash программирование Клиентская часть тотализатора Rubrafox была реализована с использованием Flash технологии и языка Action Script. Векторная анимация и интерактивность Flash приложений позволила создать по-настоящему захватывающую атмосферу игры, в которой каждый игрок "чувствует" присутствие своих оппонентов. Связь серверной и клиентской части осуществляется посредством использования пакетов XML, передаваемых через сокетные соединения. Данные пакеты содержат управляющую информацию о начале и конце игры, о наличии изменений на поле ставок, о появлении новых участников.При принятии управляющего XML пакета Flash клиент обращается к базе данных посредством вызова PHP скриптов. Совместное использование Action Script и Java Script позволило осуществить сохранение cookies на локальном компьютере игрока - Flash клиент "помнит" уникальный идентификационный номер игрока и нет необходимости вводить заново логин и пароль при переходе между играми или если игрок случайно закрыл окно браузера. Рассчетная и игровая серверные части Игровой сервер состоит из приложения, работающего в режиме демона (сервиса), а также из набора программ, запускаемых Web-сервером. Демон (сервис) представляет из себя постоянно работающее, многопоточное приложение, реализованное на JAVA, которое занимается обслуживанием входящих соедиений от Flash-клиентов, оповещением клиентов о происходящих системных и игровых событиях в режиме реального времени, производит генерирование последовательностей случайных чисел, следит за разделением игры на временные интервалы, а также производит финансовые рассчеты в конце каждой игры. Flash-клиент общается с сервером по двум каналам: командному и каналу данных. Команды передаются по постоянному tcp/ip соединению от сервера к клиенту в открытом виде, оформленные, как XML пакеты. Данные же и обратные команды передаются по протоколу HTTP/SSL. Их обработкой занимается приложение на PHP4. Используемая СУБД MySQL 3.23 с табличным дескриптором InnoDB поддерживает обработку транзакций и обеспечивает целостность данных в многопользовательских и многопоточных приложениях. Административная часть Для управления игровым сервером используется Web-приложение, реализованное на PHP4. Это приложение позволяет администраторам тотализатора запускать/приостанавливать игры, получать детальную статистику по каждой игре, а также по каждому игроку, управлять активными сессиями игроков и администраторов, управлять учетными записями администраторов и делегировать им права на выполнение определенных операций администрирования. Также отсюда рсуществляется контроль за счетом тотализатора, а также за всеми операциями с этим счетом. Вся процедура администрирования ведется по защищенному протоколу HTTP/SSL. Платежная система В игровом тотализаторе "Rubrafox" все платежи осуществляются через одну из самых, на наш взгляд, удачных платежных систем в русскоговорящей зоне интернет -- "WebMoney Transfer". Эта система сочетает в себе исключительную дружественность пользовательского интерфейса, высокую скорость и простоту осуществления электронных платежей и достаточно развитую в этом пространстве дилерскую сеть конвертации электронных и реальных денег. За внешне простыми операциями интернет-платежей сокрыта продуманная и надежная система защиты от любых взломов. Разработчикам сайтов WebMoney предоставляет исчерпывающий пакет интерфейсных функций, позволяющий программно осществлять все необходимые операции с электронными деньгами.