[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Translate:
Мини-чат
200
  
Devolpe Emulator
SinthetixДата: Суббота, 25.05.2013, 19:12 | Сообщение # 391
Группа: Гости
Сообщений: 153
Цитата (alqaida)
Sinthetix,Вот и обновились,списки серверов не работают,тупо обновляет до бесконечности и все вааще ни одного сервера.В базе все гуд показывает что онлайн и т.д,в игре нету их нифига.

Не знаю у меня все нормально показывает. про это не забыл $emulatorIP = 'xxx.xxx.xxx.xxx';?
 
TRIADAДата: Суббота, 25.05.2013, 19:17 | Сообщение # 392
Группа: Проверенные
Сообщений: 518
а у меня нормально вначале зашло и показало все сервера даже в игру зашол, а счасс тоже поиск серверов и все, попробуй перезапустить
 
alqaidaДата: Суббота, 25.05.2013, 19:44 | Сообщение # 393
Группа: Проверенные
Сообщений: 179
Цитата (Sinthetix)
Не знаю у меня все нормально показывает. про это не забыл $emulatorIP = 'xxx.xxx.xxx.xxx';?

конфиг и батники от прошлого эмулятора,там изменений нет.
 
TRIADAДата: Суббота, 25.05.2013, 19:48 | Сообщение # 394
Группа: Проверенные
Сообщений: 518
счасс ваще перестало заходить
 
alqaidaДата: Суббота, 25.05.2013, 19:59 | Сообщение # 395
Группа: Проверенные
Сообщений: 179
нееее,бестолку,настройки те же,просто заменил папки include,lib,nbproject и файлы Plasma.php,и Theater.php,базу залил новую.И результат нет списков серверов,тупо висит обновление и все.

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

..если сегодня не решится проблема,придется делать откат,что нехочется никак.

....а теперь хераааак,и все сервера оффлайн в таблице у всех стоит 0,хотя свои точно онлайн.Чет там не так.
 
SinthetixДата: Суббота, 25.05.2013, 21:47 | Сообщение # 396
Группа: Гости
Сообщений: 153
Не знаю ребята что у вас, вот поставил все с нуля, эмулятор и чистую базу, запустил 3 сервера все видны как в обычном так и в вьетнам  режиме. Да не должны такие приколы быть я вообще не коснулся серверов...
В логах что?

Добавлено (25.05.2013, 19:36:53)
---------------------------------------------
Кстати а через хосты? Попробуйте сначала просто через хосты потом через хук

Добавлено (25.05.2013, 19:47:00)
---------------------------------------------
Вот поставил с вашим хуком, все работает. Вы наверное в нычку там что то намудрили )) других причин я не вижу.

 
alqaidaДата: Суббота, 25.05.2013, 21:57 | Сообщение # 397
Группа: Проверенные
Сообщений: 179
ни ошибок ничего в логах нет,чтобы настрараживало и интересовало.

PS:готово,рестартанул серверную машину и первым делом запустил эмулятор и все заработало.Банально все так....
 
TRIADAДата: Суббота, 25.05.2013, 22:45 | Сообщение # 398
Группа: Проверенные
Сообщений: 518
может ли отказать эмулятор если когото выкинуло из игры принудительно, когда ты тока запустил эмуль перед этим, кароче зашол я на сервер, и остался недвигатся в фоне через некоторе время сервак меня выкинул , и выкинул эмулятор, при попытке авторизироватся мне выдавало сообщение типо вы типо исключены тайм аут и у тебя сразу походу начались проблемы с эмулем, если это не совпадение - попробуй сам также зделать
 
zmoli775Дата: Воскресенье, 26.05.2013, 11:11 | Сообщение # 399
Группа: Гости
Сообщений: 42
@Sinthetix @lqaida

Имя пользователя: AAA создан солдатом по имени: BC2test

Имя пользователя: ABC также можете создать солдата по имени: BC2test

База данных: персон - persona_name иметь то же имя 2 "BC2test

Я думаю, что это не правильно это меньше "persona_name" не может иметь то же имя

Кроме того, я рекомендую всем пользователям использовать зарегистрированный почтовый ящик, чтобы избежать возникновения нежелательного счета

CSocket.class.php

Код$result = dbQuery(sprintf("SELECT * FROM `users` WHERE `user_nuid` = '%s'", $this->vars['nuid']));            if (!preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i",$this->vars['nuid']) || mysql_num_rows($result)) {                $this->sendErrorPacket("This email address is already registered");
 
SinthetixДата: Воскресенье, 26.05.2013, 13:03 | Сообщение # 400
Группа: Гости
Сообщений: 153
Цитата (zmoli775)
@Sinthetix @lqaidaИмя пользователя: AAA создан солдатом по имени: BC2test

Имя пользователя: ABC также можете создать солдата по имени: BC2test
База данных: персон - persona_name иметь то же имя 2 "BC2test

Я думаю, что это не правильно это меньше "persona_name" не может иметь то же имя

Кроме того, я рекомендую всем пользователям использовать зарегистрированный почтовый ящик, чтобы избежать возникновения нежелательного счета

CSocket.class.php

Код
$result = dbQuery(sprintf("SELECT * FROM `users` WHERE `user_nuid` = '%s'", $this->vars['nuid']));
if (!preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2};)?/i",$this->vars['nuid']) || mysql_num_rows($result)) { $this->sendErrorPacket("This email address is already registered");

Вот молодец, человек сам решил для себя проблему, вот это я называю поучаствовать в развитии эмулятора.
Он поставил REGEXP на валидацию NUID и проверяет базу данных на его существование. Осталось тут же еще поставить проверку на максимальное количество допустимых персон и сразу несколько проблем решаются. В следующей версии поставлю эти изменения.

Добавлено (26.05.2013, 11:03:27)
---------------------------------------------
Цитата (alqaida)
Кстати я заметил насчет статистики, когда заходиш за 2 минуты до конца раунда то начисляются не те очки которые отвечают за игру типо боевые - с ними все впорядке, а начисляются именно наградные очки премия чтоли в большом размере, и некоторые скажем эмблемы или шевроны как их есчо назвать даются не по той стате которая есть, расшифровую: есть эмблема которая дается исходя из подписи снизу за 500 убитых из определенного вида оружия, но я всего 250 настрелял и эта эмблема пришла.Пример кстати всех нашивок здесь и даже эмблема за 5 золотых звезд - хотя ни одной к тому времени я не поймал.

Немного про то как работает система обновлении статистики в BFBC2.
По сравнению с BF2142 в BFBC2 все проще. Выделенный сервер посылает данные на обновления для ID персоны, эмулятор обновляет в базе только эти поля.
Короче когда посылаются данные статистики не имеет значения в какую сторону эмулятор играет только роль перевозки данных, ему все ровно сколько, какие и для чего эти данные. Так что если дед. сервер послал на обновление и поставил тебе эмблему или звездочку не по праве это его проблемы, эмулятор только посылает эти данные.
Вот пример пакета обновления статистики игрока:
Код
[SSocket]Recv packet[rank]: TXN=UpdateStats
u.0.o=30
u.0.ot=1
u.0.s.[]=3

u.0.s.0.ut=0
u.0.s.0.k=elo0
u.0.s.0.v=22.0000
u.0.s.0.pt=0

u.0.s.1.ut=0
u.0.s.1.k=elo1
u.0.s.1.v=30.0000
u.0.s.1.pt=0

u.0.s.2.ut=0
u.0.s.2.k=form
u.0.s.2.v=-2.0000
u.0.s.2.pt=0

u.[]=1


"u.0.o=30"  - это ID персоны
"u.0.s.0.k"- elo0 - поле elo0
"u.0.s.0.v"=22.0000 - значение поле elo0
"u.0.s.0.pt=0, u.0.s.1.ut=0" - вот значение этих полей не известно, они походу показывают эмулятору как правильно обновить данное поле, хз.

Опять же про неправильные эмблемы и звездочки, если где то проблема то точно не здесь, а данные статистике обновляются только в этом месте, эмулятор что получает то и обновляет...


Сообщение отредактировал Sinthetix - Воскресенье, 26.05.2013, 13:05
 
zmoli775Дата: Воскресенье, 26.05.2013, 15:34 | Сообщение # 401
Группа: Гости
Сообщений: 42
persona_name иметь то же имя "сделает игроки не могут войти BC2 имена BAN плохие парни использовать
 
SinthetixДата: Воскресенье, 26.05.2013, 17:23 | Сообщение # 402
Группа: Гости
Сообщений: 153
Вот вам в помощь инфа о статистика игрока:
Визуальный режим - http://bfbcs.com/stats_pc/1ApRiL
Сырой вид - http://api.bfbcs.com/api/pc?players=1ApRiL&fields=raw&dev=2

Сравнивая данные с обоих источниках того же игрока, можно определить некоторые поля кто за что отвечают.

К примеру:
Код
Name                             Time                    Kills    Headshots    Shots    Hits            Accuracy
AEK-971 Vintovka           02h 16m 48s      109    39                 7 986    1 348         16.88 %


7 986  - количество выстрелов из оружия AEK-971 , ищем в сыром виде значение 7986,  и находим p.raw.c_aek__sfw_g=7986,
значит в базе поле "c_aek__sfw_g" показывает количество выстрелов из этого оружия, и так далее для всех атрибутов.

К стати alqaida у тебя опыт игрока не правильный на сайте там где список игроков, ты берешь его с поле elo? Это поле означает что то другое.
Убери его а то я чувствую что ты ждешь когда же статистика исправится, она не исправится потому что ты опыт не правильно считываешь,  ты сам видаешь как может опыт быть отрицательным...

На этом примере можете изучать структуру статистики, и наверное определить как считываются разные поля с нескольких значений.
Изучайте и отпишитесь.
 
родяДата: Воскресенье, 26.05.2013, 17:57 | Сообщение # 403
Группа: Проверенные
Сообщений: 111
alqaida, я так тебе и не ответил так вот...да я сам не могу сделать эмуль бф3 и признаю это.(если хочешь назовусь для тебя нубом)А ты его сделал?А ты сделал эмуль бэд компани2....А по реальному я рассуждаю не только как программер,но и как экономист и именно с этой точки зрения эмуль бф3 реально выгоден.Не за плату...а за рекламу ты хорошие средства можешь получить...И у меня нет никакой завести к вашему проекту...Я не такой человек..Просто мыслю я глобально...И только поверь буду рад,если на вашем сайте появиться игра бф3. А на самом деле сейчас вы допилите эмуль...А вы уверены, что у вас будет человек 500 играть?////PHP этого не выдержит..

Добавлено (26.05.2013, 15:57:02)
---------------------------------------------

Цитата (родя)
А ты его сделал?А ты сделал эмуль бэд компани2
если что я и не делал бэд компани2.А то вдруг не правильно воспримете


И ПОХ,ЧТО ЯНЕ ПРОГРАММИСТ,ЗАТО Я БЛЯ ИДЕЙНЫЙ ГЕНИЙ...
 
SinthetixДата: Понедельник, 27.05.2013, 23:40 | Сообщение # 404
Группа: Гости
Сообщений: 153
выкладываю новую версию эмулятора
Исправления:
 - Исправлен процесс регистрации учетной записи и создание персон, делается проверка на недопустимые символы и на повторяющиеся имена
 - Исправлены типы данных статистики.

Что нового:
 - в config.php есть параметр numberOfUserPersonas который определяет максимальное количество допустимых бойцов для одной учетной записи

BFBC2EMU_V1.08
http://zalil.ru/34536169
 
zmoli775Дата: Вторник, 28.05.2013, 02:14 | Сообщение # 405
Группа: Гости
Сообщений: 42
@Sinthetix
BFBC2EMU_V1.08 предложение:
[код ·1]
if (!preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2};)?/i",$this->vars['nuid'])) {
                $this->sendErrorPacket("Wrong email format");
                return;
            }
------------------------------------------------------------------
[код·2]
 global $numberOfUserPersonas;
            $result = dbQuery(sprintf("SELECT `persona_id` FROM `personas` WHERE `user_id` = '%s'", $this->userData->user_id));
            if(isset($numberOfUserPersonas) && $numberOfUserPersonas && mysql_num_rows($result) >= $numberOfUserPersonas){
                    $this->sendErrorPacket("Maximum number of registered personas has been reached.");
                    return;
            }

-------------------------------код·1 And код·2 идеальный спасибо “Very good job”

But (но)
[код·3]
    if(!preg_match("/^[a-zA-Z0-9_\-]+$/", $this->vars['name'])){                $this->sendErrorPacket("Wrong characters used");
                return;
            }
------------------------------------------------Я не думаю, что совершенство------------------------
потому что:
солдат ID очень однообразный Такие параметры
В оригинале "BC2Game" Вы можете использовать    _ - ; : | ~ ( ) + Пробел = | < > / ?
                                                       Не допускается    ! ` @ # $ % * \ ' "
                                                       Длина ID 4-16
--------------------------------------------------------------------Вы можете изменить это?-----------
Это мое предложение ID:zmoli775 2013.5.28

Добавлено (28.05.2013, 00:13:55)
---------------------------------------------
if(!preg_match("/^[a-zA-Z0-9_\-]+$/", $this->vars['name'])){
                $this->sendErrorPacket("Wrong characters used");
                return;
            }

Я пытаюсь добавить эти символы  _ - ; : | ~ ( ) + Пробел = | < > / ? Simulator ошибке Я не знаком с PHP Вы можете это исправить?

Добавлено (28.05.2013, 00:14:43)
---------------------------------------------
Длина ID 4-16

 
Поиск:
На форуме были: