[Движок] Multiplayer PHP Poker Script

  • Заблокирован
  • #41
могу рассказать про партнерку одной покер сети. После регистрации получаете готовый рум, и приглашаете людей. Дизайн сайта можете менять(стол, карты, фон). Подключены платежки, верификация моб. телефона, подтверждение регистрации по ссылке в письме.
Пишите в лс или скайп vitaly383
 
народ это покер рум с клиентом или просто флэш игра ? или как модуль на сайт ? если есть рабочие и не сильно дырявые движки то поделитесь, а если есть флэш которая идет как модуль будет еще лучше =)
 
топик посвященный php poker, а обсуждения оного - три с половиной поста, зато мусора и левого обсуждения flashpoker.itа - хоть лопатой греби. При том, что тот же покерит жрёт ресурса почти в два с половиной раза больше чем php poker.
Но, вопрос по теме: нарыл я PHP Poker Multiplayer (в дальнейшем просто покер), поковырял его два дня, и вот что обнаружил.

1. досталась мне какая-то версия покера 2.5 типа фикс, правда чего в нём фикс, я так и не нашел, поскольку ошибки ereg&eregi сыпались как из рога изобилия. Работаю под Denwer3_Base_2012-09-16_a2.2.22_p5.3.13_m5.5.25_pma3.5.1_xdebug. Но переписал функции типа ереги на прегмач, после чего всё заработало, и ошибок не стало. Обрадовался, зарегался админом, создал стол, и тут глюк.
2. руского языка нет. Ну ладно, поставил кодировку AddDefaultCharset windows-1251 в хтачесс, но всё равно не то, чат косячит. Полез в мускул - там кодировка латин1. Поправил кодировки на утф8, всё заработало, чат русит, админка работает, в лоби заходит, на стул садится. Стал дальше переводить, косяк номер три.
3. при тесте заметил что при воспроизведении звуков (раздача карт) ноут передёргивает так, что куллер на проце завывает. Ноут так, машинка печатная, компак CQ58, но всё равно непонятно. Полез искать звуки, а там... мало того что они во флеше, так ещё и вызов из жопы, порубал мотыгой флешу под корень, все ссылки на звуки убил, флештмл зарезал, стало работать быстрее. Куллер молчит, чувствую себя огородником, старый дуб (яву) окучивать - то ещё занятие. Думаю, дай залью на халявный hostinger. Залил, два игрока - полёт нормальный, три - полёт нормальный, пять - полёт нормальный, а вот с шестым - беда случилась, умер хостингер, картинки не отображает, процессорное время закончилось. Косяк четвёртый получился.
4. стал искать, в чём могут быть косяки, и нашел вот что: развесёлый mbstring, всеми так давно любимый, и не единожды проклинаемый. Порылся в инете, поиски-гугылы, ничего не понял, зато вычитал что может помочь волшебный код в хтачесе.
Добавил записи, и даже на глаз стало работать быстрее. Скорость загрузки страниц как будто бы даже увеличилась, или мне так кажется? Проверил - действительно, различия в третьем знаке довольно ощутимы. Хотя там всего третий знак после нуля и отрисовывается.
5. не работал выход, вообще не выходило - поправил.

Кто ковырял скрипт и может чего ещё дополнительно сообщить - не нужно зажиматься. Выкладываю исходники того, что скачал, с помощью моего творчества поправить скрипт не сложно. Ещё кто чего нароет ещё - делитесь, может поднимем таки хороший скрипт?

6. Ещё косяк - с кодировками латины. Стал заменять подбором, иначе не работали столы.
7. переделывая левое меню, да и вообще дизайн покера, наткнулся на удивительное свойство скрипта неадекватно реагировать на изменения под стандатным инет-эксплорером, то, что работает хорошо под оперой, хромом, лисой - ломается под ИЕ, сделал вывод - родной цсс сделал ногами. Написал наново свой - получилось в два раза короче. И отрисовывать игровой стол стало быстрее, хотя так и не понял из-за чего.
8. тестировал то, что получилось на халявном lkhost - всё умерло на пятом игроке, хотя на хостингере минут пять уже играют восемь игроков, больше не смог завести, на два компа по четыре браузера всего.

Халявный хостинг совсем не выдерживает нагрузку. Крашит на 0.65 процесорного времени. Хотя все остальные показатели у хостера практически в нулях.

накопаю ещё чего - отпишусь.

Может кто подскажет? чем на денвере можно померять нагрузку скрипта? не скорость отрисовки страницы, а именно нагрузку типа того-же процессорного времени, мускульную нагрузку, да и трафик бы узнать не помешало бы.
 
Последнее редактирование:
neyuec,

Отличная работа. Давайте ребята закончим эту работу. Совместно сделаем...
Спасибо огромное
 
У меня он давно лежит поправленый от этих багов + еще каких-то (уже не помню, так как ковырял его давно) + переведен на русский. Но ИМХО не стоит этот движок каких-то телодвижений - проще заново написать, чем этот править.
Есть там еще один баг, который я чет пока не нашел как исправить: если из-за стола выходит диллер (тот кто сдает карты), то игра останавливается навсегда...
 
У меня он давно лежит поправленый от этих багов + еще каких-то (уже не помню, так как ковырял его давно) + переведен на русский. Но ИМХО не стоит этот движок каких-то телодвижений - проще заново написать, чем этот править.
Есть там еще один баг, который я чет пока не нашел как исправить: если из-за стола выходит диллер (тот кто сдает карты), то игра останавливается навсегда...

Не навсегда, а на время дисконекта, и не только диллер, а любой игрок. Время дисконекта указывается в админке.
Двиг стоит телодвижений, хотя бы потому, что он достаточно гибок и легко настраивается под любые нужны. Лежит двиг - выложи посмотрим, перевод двига делается очень просто. language.php в инклюдах. Так что по поводу перевода и париться не стоит.
 
Не навсегда, а на время дисконекта, и не только диллер, а любой игрок.
А вы попробуйте выйти диллером на время больше времени дисконнекта и увидите сами, что сдавать карты будет некому и игра зависнет.
З.Ы. Либо может у меня одного такая версия багнутая...
Не навсегда, а на время дисконекта, и не только диллер, а любой игрок.перевод двига делается очень просто. language.php в инклюдах
На сколько помню там далеко не все через него переводится :)
 
Последнее редактирование:
А вы попробуйте выйти диллером на время больше времени дисконнекта и увидите сами, что сдавать карты будет некому и игра зависнет.
З.Ы. Либо может у меня одного такая версия багнутая...


Визуально останавливается счетчик, как и над любым игроком, но дисконнект происходит через время, указанное в админке: по умолчанию, 7 минут. Если за это время игрок вернется в игру, то счетчик над игроком продолжит уменьшатся и игра будет продолжена.

Переводится не всё через инклюды, фак и рулез переводятся в корне. Но и это не сложно. Так что это даже не разговор. Тем более фак я лично вообще переделал под свои нужды.
 
Последнее редактирование:
Визуально останавливается счетчик, как и над любым игроком, но дисконнект происходит через время, указанное в админке: по умолчанию, 7 минут. Если за это время игрок вернется в игру, то счетчик над игроком продолжит уменьшатся и игра будет продолжена.
Вы меня не слышите походу... Я как раз и говорю о том, что будет если диллер за эти 7 минут так и не вернется в игру.
 
Вы меня не слышите походу... Я как раз и говорю о том, что будет если диллер за эти 7 минут так и не вернется в игру.
Зато я Вас вижу очень хорошо. Только что проверил - поставил 3 минуты в админке, прошло 3 минуты - игрока нет, игра не продолжилась, всё висит, после обновления по f5 игра началась заново среди оставшихся игроков. Вывод - нужно сделать кнопку типа "Обновить игровой стол" с полным обновлением фрейма, ЛИБО, сделать кнопку "Игрок выбыл" с опросом "все ли онлайн".

Найдено исправление бага:
В мускуле в сетингс в ячейке дисконект всегда 0. Админка туда не пишет почему-то. Поставил 60. Через минуту игра обнулилась автоматом. Игрока выкинуло. Появилась кнопка начала новой игры. Админка не писала, потому что корявые мои руки пропустили ереги. Так что отбой спор. Всё нормально работает. Игрока нет минуту, игру сбросило, игрока выкинуло со стола, предложило новую игру. У вас эта ошибка вызвана видимо тем-же ереги. В инстале по умолчанию в мускул пишется 0.
 
Последнее редактирование:
Назад
Сверху