[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Translate:
Мини-чат
200
  
Devolpe Emulator
alqaidaДата: Пятница, 17.05.2013, 13:08 | Сообщение # 346
Группа: Проверенные
Сообщений: 179
Плазма свалилась и опять на той же самой ошибка,самая частая и нерешенная,вот последняя запись:
 

Код
 [CSocket]Handling Handling TYPE=rank
  [CSocket]Add data  
TYPE=rank
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM  
`ping_site
s`
  [SSocket]Recv packet[fsys]: TXN=GetPingSites

  [SSocket]Handling TXN=GetPingSites
Query: SELECT  
`ping_site_addr`,`ping_site_type`,`ping_site_name` FROM `ping_site
s`

Warning: stream_socket_accept(): Failed to enable crypto in  
D:\GameServers\BFBC2
EMU\lib\CSocket.class.php on line 32

Warning: stream_socket_accept(): accept failed: ╬яхЁрЎш  єёях°эю  
чртхЁ°хэр.
  in D:\GameServers\BFBC2EMU\lib\CSocket.class.php on line  
32


 
играло 4 человека и 10 серверов
 
SinthetixДата: Пятница, 17.05.2013, 13:45 | Сообщение # 347
Группа: Гости
Сообщений: 153
Цитата (alqaida)
Плазма свалилась и опять на той же самой ошибка,самая частая и нерешенная,вот последняя запись:

Тоже самая это какая? Я не вижу тут ошибки, только варнинги и за хука. В предыдущий раз было fatal error....

Я думаю это крэш и за дополнении ссл в PHP хоок что то с ним творит: 
Цитата (alqaida)
Warning: stream_socket_accept(): Failed to enable crypto
если так то тут нечего исправлять, нужно доделывать хук.

Тут парень писал что играют всю ночь где то ~20 игроков и эмулятор не падает, и это еще на старых версиях эмулятора,  и у меня тоже самое но мы играли без дллки, вот спроси его как он настроил эмулятор.
 
alqaidaДата: Пятница, 17.05.2013, 14:47 | Сообщение # 348
Группа: Проверенные
Сообщений: 179
хорошо попробую на хостах сделать.
 
SinthetixДата: Пятница, 17.05.2013, 15:05 | Сообщение # 349
Группа: Гости
Сообщений: 153
Цитата (alqaida)
Warning: stream_socket_accept(): Failed to enable crypto in

Надо будет попробовать это: http://php.net/manual/en/function.stream-socket-enable-crypto.php
Можешь пока что попробовать менять или выключить криптографию. А я потом посмотрю когда буду дома. Короче думаю можно решить эту проблему нужно поиграться с криптографией.
 
alqaidaДата: Пятница, 17.05.2013, 16:52 | Сообщение # 350
Группа: Проверенные
Сообщений: 179
я лучше подожду пока автор будет дома,а то наделаю делов еще.
 
SinthetixДата: Пятница, 17.05.2013, 22:12 | Сообщение # 351
Группа: Гости
Сообщений: 153
Короче енкрипшен нельзя отключить без него клиент вообще не подключается. Но протестировал немного с длл-кой и никаких варнингах, как у тебя выскакивает этот варнинг понятие не имею да еще и эмулятор падает.
Может ты ошибку не увидел, когда плазма или театр падают то ты ошибок типа fatal error не увидишь в файл лога такие ошибки не попадают, а окошко закрывается. Чтобы увидеть все ошибки нужно запустить командную строку (cmd.ехе) и через нее запускать плазму и театр(C:\>Plasma.bat). Когда плазма или театр упадет окошко останется открытой. Но в предыдущий раз ты показал критическую ошибку, значит ты так и запускаешь эмулятор. Так почему на этот раз ошибки нету? Короче в следующий раз постарайся найти критическую ошибку а варнинги оставь пока что...
 
alqaidaДата: Пятница, 17.05.2013, 23:27 | Сообщение # 352
Группа: Проверенные
Сообщений: 179
кто может разобрать BFBC2Game.exe и найти в нем хосты:

Код
bfbc2-pc.fesl.ea.com   

bfbc2-pc.theater.ea.com   

bfbc2-pc-server.theater.ea.com   

bfbc2-pc-server.fesl.ea.com   

ea.com   

messaging.ea.com   

easo.ea.com

bfbc2.gos.ea.com


я только половину нашел((
 
zmoli775Дата: Суббота, 18.05.2013, 00:40 | Сообщение # 353
Группа: Гости
Сообщений: 42
Sinthetix

http://img32.imageshack.us/img32/7752/42475781.jpg
 
alqaidaДата: Суббота, 18.05.2013, 01:03 | Сообщение # 354
Группа: Проверенные
Сообщений: 179
очень интересует вот - это когда игрок авторизуется

Код
state=1

  [CSocket]Recv packet[acct]: TXN=GetLockerURL

  [CSocket]Handling TXN=GetLockerURL
  [CSocket]Send packet: acctА   
↕   <TXN=GetLockerURL
URL=http://127.0.0.1/test.php

  [CSocket]Recv packet[xmsg]:  
TXN=GetMessages
attachmentTypes.[]=1
attachmentTypes.0=text/plain
box=inbox
chunkSize=0

  [CSocket]Handling TXN=GetMessages
  [CSocket]Send packet: xmsgА   
‼   ATXN=GetMessages
localizedMessage="Record not found"

  [CSocket]Recv packet[recp]: TXN=GetRecord
recordName=clan

  [CSocket]Handling TXN=GetRecord
  [CSocket]Send packet: recpА   
¶   bTXN=GetRecord
localizedMessage="Record not  
found"
errorContainer.[]=0
errorCode=5000

  [CSocket]Recv packet[acct]:  
TXN=NuGetEntitlements
entitlementTag=BFBC2:PC:LimitedEdition
global=1
status=ACTIVE
groupName=BFBC2PC


 
а именно
URL=http://127.0.0.1/test.php
и
localizedMessage="Record not found"
 
SinthetixДата: Воскресенье, 19.05.2013, 01:21 | Сообщение # 355
Группа: Гости
Сообщений: 153
выкладываю новую версию эмулятора
Исправления:
- Исправлены эти нотификации:
Цитата (zmoli775)
http://img32.imageshack.us/img32/7752/42475781.jpg
тут не было ничего страшного, и за того что клиент закрывал игру играя на сервер, его инстанс удаляется а дед. сервер пытался обновить его статистику но не находил, в старых версиях эмулятора это работало а теперь нет. Вам нужно красиво выходить с сервера чтоб ваша статистика сохранилась.
- Поставил некоторые проверки на случай если кто то захочет убить эмулятор слишком большими пакетами

BFBC2EMU_V1.06
http://zalil.ru/34512859

Добавлено (18.05.2013, 11:07:29)
---------------------------------------------
Цитата (alqaida)
очень интересует вот - это когда игрок авторизуется

alqaida, эти пакеты возвращают есть ли у игрока сообщения, запросы в друзья, жетоны и.т.д. И когда у игрока нету данных на них то сервер возвращает пустое значение с сообщением: localizedMessage="Record not found",  А как эмулятор построен на базе рипнутых пакетов с официального сервера то так они и остались потому что играют незначительную роль, тут они жестко прописаны чтоб возвращали пустое значение. Ну жетоны я поставил как ни как они имеют некоторое значение.

Добавлено (18.05.2013, 23:21:29)
---------------------------------------------
Пишу по поводу одной проблемы связанное с панкбастером, как вы уже обнаружили панкбастер повторяется когда генерирует GUID  игрока:
Player GUID Computed d362bf44f0b34566e1c94a527310b176(-) (slot #2) ХХХ.ХХХ.ХХХ.ХХХ:57097 Sinthetix (user_id: 10, persona_id: 30)
Так вот это все и за ID игрока или персоны из базы. То есть он генерирует GUID из ID, и если он вас выбросил из игры значит кто то с таким GUID уже играет.
Меняйте в базе чтоб ID игрока/персоны генерировались начиная с 1000000 или даже больше.
Но это не решит полностью проблему. Как уже говорил если игрок с таким GUID уже играет думаю одного из вас панкбастер по любому выкинет.

Сообщение отредактировал Sinthetix - Суббота, 18.05.2013, 13:09
 
TRIADAДата: Воскресенье, 19.05.2013, 02:15 | Сообщение # 356
Группа: Проверенные
Сообщений: 518
У меня такая мысль есть, а нельзя на php изобразить скрипт и добавить в эмуль чтобы в случае падения плазмы и театра тот или иной сам автоматом перезапускался, а лог ошибки просто сохранялся, тогда ненадо будет постоянно контролировать работу просто проверять папку с ошибками и все.
 
Death1Дата: Воскресенье, 19.05.2013, 09:37 | Сообщение # 357
Группа: Проверенные
Сообщений: 10
Цитата (TRIADA)
У меня такая мысль есть, а нельзя на php изобразить скрипт и добавить в эмуль чтобы в случае падения плазмы и театра тот или иной сам автоматом перезапускался, а лог ошибки просто сохранялся, тогда ненадо будет постоянно контролировать работу просто проверять папку с ошибками и все.
На пхп такой скрипт хз получится ли, а пот батничек по идее можно наверно написать и засунуть в планировщик задачь. Содержимое батника такое: батник запускается к пимеру раз в минуту и проверяет есть ли в диспетчере задачь нужный нам процес и его состояние, соответственно если процес завис батник перезапускает его, а если он упал совсем то просто запускает. Правда даже представления не имею как подобные батник реализовать. С виндой в этом плане не оч дружу. В линуксе это всё проще делается.
 
SinthetixДата: Воскресенье, 19.05.2013, 10:35 | Сообщение # 358
Группа: Гости
Сообщений: 153
Цитата (Death1)
На пхп такой скрипт хз получится ли, а пот батничек по идее можно наверно написать и засунуть в планировщик задачь. Содержимое батника такое: батник запускается к пимеру раз в минуту и проверяет есть ли в диспетчере задачь нужный нам процес и его состояние, соответственно если процес завис батник перезапускает его, а если он упал совсем то просто запускает. Правда даже представления не имею как подобные батник реализовать. С виндой в этом плане не оч дружу. В линуксе это всё проще делается.

Вот пример батника который автоматически запускает эмулятор при падении:
Код
@echo off
:loop
echo (%date% %time%) Starting Plasma
start /wait /high C:\wamp\bin\php\php5.3.13\php.exe Plasma.php
echo (%date% %time%) WARNING: Emulator closed or crashed, restarting.
goto loop
exit

но в случаи падения окно эмулятора все ровно закроется и перезапустится так что критические ошибки потеряются. Я пока что не советую использовать такой скрипт тем более если у вас эмулятор стабильно падает.
Лучше запустить его через консоль как я писал выше если хотите чтоб мы решили все проблемы...
 
alqaidaДата: Воскресенье, 19.05.2013, 11:28 | Сообщение # 359
Группа: Проверенные
Сообщений: 179
Цитата (Sinthetix)
- Поставил некоторые проверки на случай если кто то захочет убить эмулятор слишком большими пакетами  BFBC2EMU_V1.06

хорошая работа,теперь ждем бан серверов и игроков,мне лично это нужно для связки с движком сайта да и другим пригодится,например для серверов можно сделать чтоб вручную в базе можно поменять на 1 в поле ban и он его не отображал в списке серверов, не отсылал ему ответы от эмулятора,и в пользователях прям в таблице users в поле ban,чтобы и все бойцы блочились на эмуляторе,Плюс к этому если отключена регистрация в эмуляторе выскакивало сообщение в игре что регистрация в игре отключена пройдите на ТРА-ТА-ТА(редактитровать текст без проблем).Вот приоритет пока что такой,иначе так и будет беспредел,в базе больше тысячи игроков а играет 10-20.
 
PS:Эмулятор работает больше суток без падений.Ошибки почему-то сыпались как я заметил если отключать Апач.
 
TRIADAДата: Воскресенье, 19.05.2013, 12:28 | Сообщение # 360
Группа: Проверенные
Сообщений: 518
alqaida, лучше бы добавить чтобы неактивные нулевые записи которыми не пользуются больше недели удалялись, а то у меня такое ощущение что записи какой то бот штампует, я заметил ранше - что за ночь от 800 до 1000 накидало. но это можно потом
 
Поиск:
На форуме были: