Перейти к содержимому


Фотография

Потеря синхронизации в мультиплеере


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 32

#1 zxlostsoul

zxlostsoul

    Пользователь

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 24 Август 2012 - 22:52

При игре по сети в Fallout иногда наблюдается потеря синхронизации — у одного из игроков события начинают идти иначе чем у других, например не передаются какие-то действия персонажей. Наблюдается на версии 1.27 от 1С и от Фаргуса, без модов и с ними, при соединении по Tungle и по GameRanger, при абсолютно одинаковых играх (полная копия папки с игрой).

Ах да, режим игры — пошаговый (рилтайм в Фоллауте, как ценитель 1 и 2 частей — не признаю).

Не подскажете, чем вызывается и как лечится? Или остаётся только смириться?

Это сообщение отредактировано zxlostsoul - 24 августа 2012 | 23:56


#2 Wozrogdenec

Wozrogdenec

    Defendor of the Wastes

  • Пользователи
  • PipPipPip
  • 3 198 сообщений

Отправлено 25 Август 2012 - 10:33

QUOTE
у одного из игроков события начинают идти иначе чем у других, например не передаются какие-то действия персонажей.
Мне любопытно, но я не понял. Можно пример?


#3 Two Eyed Yum

Two Eyed Yum

    Бета-снайпер

  • Пользователи
  • PipPipPip
  • 1 071 сообщений

Отправлено 25 Август 2012 - 10:44

Например, внезапно в чате тебе пишут "ahaha ya tebya ubil!", а ты вроде как живой... У каждого идет своя игра, и дальнейший обмен данными в сетевой игре приводит к еще большему количеству ошибок и бредовых ситуаций.

Случается не только в Тактиксе, особо замудреные карты в Warcraft3 этим же страдали. Обычно — из-за большого количества скриптов в карте. А в чем тут причина — честно не знаю, если никаких модов нет и изменений в файлы игры внесено не было.


#4 zxlostsoul

zxlostsoul

    Пользователь

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 31 Август 2012 - 23:10

Причины, которые нашёл в интернете:
1. Если на карте размещены entitles, которых нет в папке с игрой.
2. Если два бойца имеют одинаковые имена или являются клонами.
3. При использовании стандартных бойцов.

Надеюсь кому-то поможет. Если знаете какие-то другие возможные причины — пишите.


#5 Shtorm

Shtorm

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 92 сообщений

Отправлено 26 Сентябрь 2012 - 09:49

Гм, какая больная тема.. Сталкивался с этим, но, если честно, не совсем поверил, так как до этого здесь обсуждали дисконнект из-за "неправильных" приёмов, а откровенно говоря, читерства и так далее. Было обсуждено, что дисконнект однозначный, и читерить практически не представляется возможным. К чему это я  — да ситуация у нас ровно такая же, только "читерит" уже компьютер.
Ситуация: 1.27 1C у меня, Хамачи, Штурм, у каждого самые слабые бойцы и собака (не знаю вот уж, важно ли это :) ). Вначале всё нормально, почерк противника характерный, потом открывает брешь в обороне, тоже не придал значения. Потом он по-глупому, скажем так, потерял 2 бойцов (прорывался, не атакуя собаку). Бой был динамичным, в результате я победил. А потом он написал, что я в целом практически не двигался и выиграл он. Я тогда не придал особого значения, поэтому не проверял. Но до этого отыграли не один бой, такого не было. При этом пункты II и III были, но всё было в порядке. По entitles ничего не могу сказать, не знаю про них.
На мой взгляд, странно то, что компьютер выполняет действия, которые ему игрок не задавал. Даже если такое имеет место быть, все они выглядят очень осмысленными и серьёзно отличаются от ИИ.
Как вариант можно отыграть контрольные партии, используя программу слежения за монитором противника на другом компьютере. Или же записать видео, а потом и сравнивать. С удовольствием приму в этом участие.
"Пока всё." :)

Это сообщение отредактировано Shtorm - 27 сентября 2012 | 00:01


#6 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 26 Сентябрь 2012 - 12:57

Тащемта эту тему уже частично исследовал, хотя представленные господином zxlostsoul условия чаще всего не выполнялись.

Если коротко, то в случае игры против компьютера — синхронизация гарантировано теряется.

Игра PvP:
в случаях разных версий карт(всегда);
набора entity и прочих отличий в core касающихся данной карты\персонажей(всегда);
настройки МП игры (там есть трехпозиционный переключатель по поводу скорости подключения, чем выше установленная скорость, тем меньше шанс рассинхрона);
использования пошагового режима(порядка 25%, сложно оценить);
большого количества скриптов (указано в мануале и на некоторых сайтах, но практически нигде не видел МП карты с более чем тремя триггерами).

Это сообщение отредактировано Buzzil - 1 октября 2012 | 22:11


#7 Shtorm

Shtorm

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 92 сообщений

Отправлено 26 Сентябрь 2012 - 23:20

Как писал господин Hunter: "Выдержка из gui_text.txt:
my_out_of_sync = {Ваша игра несинхронизирована. Это значит, что ваша версия событий возможно будет отличаться от событий компьютера, создавшего игру. это могло быть вызвано разными причинами, включая взлом или использование несовместимых модов как на вашем компьтере, так и на компьтере создавшего игру.}."
Но, к сожалению, в той теме больше ничего нет. (Взята с архива Эстакады.)
Повторюсь, "чистые" эксперименты поставят всё на свои места.


#8 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 26 Сентябрь 2012 - 23:30

QUOTE
Повторюсь, "чистые" эксперименты поставят всё на свои места.


Методологию подскажите.


#9 Shtorm

Shtorm

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 92 сообщений

Отправлено 27 Сентябрь 2012 - 02:10

С удовольствием. :)
1. Найти несколько версий локализаций и все патчи (кто найдёт от Сити, тому полцарства и Сибирскую корону. :) ) или же сразу тестить только оригинал, так даже лучше будет, первоисточник, так сказать..
2. Составить варианты тестов: локализация+патч, стандартные/нет персонажи, есть клоны/нет, в общем, всевозможные.
3. Отсеять те варианты, где рассинхронизация есть и определить повторяемость.
4. В мелочах проработать все варианты.
5. Расписать партию по ходам, как в шахматах, и вычленить то, что вызывает эффект.
Да, метод туп, но, подозреваю, основная проблема это в разных файлах. Пока же предлагаю для ознакомления версию от комрадов. Читал не всю группу, но упоминаний о рассинхронизации не было.
Post scriptum.
QUOTE
Если коротко, то в случае игры против компьютера — синхронизация гарантировано теряется.

Теперь вот эта фраза не даёт покоя.. Пожалуйста, объясните олуху её смысл, чтобы я её превратно не понял.

Это сообщение отредактировано Shtorm - 27 сентября 2012 | 03:18


#10 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 27 Сентябрь 2012 - 10:32

О нет, я с вас методичку по проведению прошу, а не наброски.

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

QUOTE
Теперь вот эта фраза не даёт покоя.. Пожалуйста, объясните олуху её смысл, чтобы я её превратно не понял.


Если поставить на карте плеер(компутер) и запустить ее в мультиплеере (то есть с наличием второго игрока-человека, т.е. 2 игрока + 1 компьютерный игрок), то начнется магия — компьютерные человечки делают у разных игроков разное, а потом и человечки игроков по разному действуют друг у друга на мониторах.


#11 Shtorm

Shtorm

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 92 сообщений

Отправлено 27 Сентябрь 2012 - 13:26

QUOTE
а не наброски

Согласен, я сам написал, что метод туп. Просто с ходу это довольно трудно сделать, как классифицировать снайперские боеприпасы. Вроде и такие есть, и такие, а ещё вот эти, и... А всё в кучу писать не хочется. Но раз пообещал, значит буду делать. :)
QUOTE
может и игрок ступил

В этом-то и заключается весь цимес сложности и скрытности его. У меня до конца было ощущение, что я играю с живым человеком, ну просто он ТАК хочет поступить.
Если не ошибаюсь, Вы писали, что не можете подружить 2 компьютера между собой. У меня на это есть ноут и 2 товарища — можно проверить.
Ага, вот как.. Я игрок непуганный, без экспериментов пока играл, непривычно слышать. Спасибо за разъяснение.
П.С. Не могли бы Вы явные причины рассинхрона скинуть и подсказать, чем задокументировать его можно? Вечером бы уже проверил.


#12 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 28 Сентябрь 2012 - 00:02

QUOTE
Если не ошибаюсь

Ошибаетесь.

QUOTE
явные причины рассинхрона

1) Несоответствие версий карт (т.е. у обоих игроков есть карта с названием MAP_1.mis, но содержимое файлов разное);
2) Несоответствие ентити (т.е. у одного игрока стимпак стандартный, а у другого отредактирован, другими словами — название файла одно, содержимое отличается);
3) Наличие на карте юнитов под управлением Player(Computer);

Эти три — 100% out-of-sync (английское название бага).
Остальные повышают вероятность (список в этой теме).

QUOTE
задокументировать

Даже не знаю. Зафиксировать можно глазами и каким-нибудь фрапсом (хотя у него проблемы с 2д играми). Задокументировать — блокнот, ворд\опенофис, нотариально заверенные скриншоты с двух компьютеров.

UPDATE:
Создатель Turn-Based Modification for Fallout Tactics высказался следующим образом:

QUOTE
in turnbased-mod the out-of-sync bug mainly occured some turns after any player picked up an entity that was laying on the ground (  ammo,guns... anything thats an entity ).
we dropped all entities that formerly were just laying on the floor, into a chest or another containment and that led to a noticeable reduction of out-of-sync.
so from my point of view out-of-sync bug is somewhat related to picking up things.


(в двух словах на русском: рассинхрон при попытке поднять с земли ентити)

Такие дела.

Это сообщение отредактировано Buzzil - 1 октября 2012 | 22:10


#13 zxlostsoul

zxlostsoul

    Пользователь

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 18 Сентябрь 2013 - 21:36

Снова здравствуйте. Не знаю, интересна ли ещё кому-то эта тема, но всё же хочу поделиться своим опытом.

Я попробовал открыть КАЖДУЮ карту в редакторе и сделать
Edit / Delete Leaked Entitles
Естественно, после этого нужно скинуть карты другому игроку, чтобы у обоих были одинаковые.

Не знаю, именно это ли помогло, но мы уже не помним, когда последний раз был рассихрон.

Ещё хочу сказать, что когда создаёте бойцов — не используйте в именах символов и выбирайте всем РАЗНЫЕ картинки лиц. Не знаю почему, но если у двух бойцов одинаковые лица — игра может их "путать", по клику на лице центровать камеру не на том человеке.

Ах да, скорость соединения в настройках у нас стоит вторая с начала.


#14 Doom

Doom

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 10 Июль 2015 - 21:22

Вот видео с рассинхронизацией:


Отправлено: 10 июл 15 21:30
По мне так проблема не в карте или entities. Тут другая фигня, скажем возьмём любое действие, взлом, при взломе есть шанс провала(на видео хорошо показано), или тоже самое при стрельбе, на видео показано, у одного игрока бандит мёртв у другого жив, это значит что значения урона или шанса на взлом выявляются на разных машинах по разному, тут проблема с генератором случайных чисел или что то типо такого.

Это сообщение отредактировано Doom - 10 июля 2015 | 21:31


#15 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 13 Июль 2015 - 00:43

QUOTE
тут проблема с генератором случайных чисел или что то типо такого.

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

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

Даже больше — складывается мистическое ощущение, что сами юниты других игроков — это те же самые ai-болванчики, которым по сети приходят конкретные команды (т.е. локально для других игроков это тот же ai-юнит, просто его действия перезаписываются приходящими от клиента командами). И по мере того, как от другого клиента приходят все более противоречивые данные (стреляет в несуществующих юнитов, лутает несуществующие трупы), локальная игра начинает пытаться хоть как-то приходящие команды использовать (например, может оказаться, что у одного игрока юнит вошел в режим скрытности, а у другого — наоборот вышел — т.е. команда на включение\выключение пришла, но обработалась локально).
Если память не изменяет, то использование режимов боя (там где автоматически стрелять при 33% шансе), очень наглядно показывает, что юниты живут сами по себе после рассинхрона.

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

Как то так (без реверс-инженеринга уже не узнаем истины).


#16 Doom

Doom

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 13 Июль 2015 - 08:34

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

Да были подконтрольные компьютеру, но они были далеко и особо не повлияли бы.
После того видео Я попробовал ещё раз проверить из-за чего проблема, удалил все entities освещения, и все эффекты огня и другие движущие объекты, проверял на рассинхрон, даже урон не отличается, даже сделал собак подконтрольных компу, всё равно у всех одинаковый урон, правдо на взлом не проверял.

По мне так кажется всё дело в карте, чем она загруженей, чем больше объектов на экране(сооружения и здания и эффекты), тем тяжелее передаются пакеты данных.

Но Я проверял на одном компе, Я незнаю как это всё будет через интернет.


#17 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 13 Июль 2015 - 14:11

QUOTE
даже сделал собак подконтрольных компу

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

Насколько я помню, урон может заметно и не отличатся на двух клиентах уже и после рассинхрона, а вот всякие штуки типа ранения других ботов из-за разброса очереди/дробовика — проявляются сильнее.

QUOTE
(сооружения и здания и эффекты), тем тяжелее передаются пакеты данных.

Ну здания это тайлы, они то гарантировано будут локально обрабатываться и не влиять на сеть. Entities (эффекты, двери, объекты) — скорее всего синхронизируются, потому для чистоты эксперимента все двери, свет, ящики и прочее действительно стоит вычистить.

Это сообщение отредактировано Buzzil - 13 июля 2015 | 14:14


#18 Doom

Doom

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 13 Июль 2015 - 16:02

Странно когда Я убрал лишнее, и еще нажал Delete leaked Entities, то рассинхрон исчез, Я взламывал дверь 1-2 минуты и прокачал уровень, Я стрелял из дробовика в толпу с компами и ничего, наверно проблема глубже чем мы думаем. Но опять же, всё это локальная сеть, не интернет, хотя рассинхрон и в локальной сети появлялся. Может тому виной вес карты, скажем Я тестировал с картой размером 390 кб и с двумя игроками. Скинь мне карту где есть рассинхрон.


#19 Buzzil

Buzzil

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 115 сообщений

Отправлено 13 Июль 2015 - 19:23

Да у меня и ФТ уже нет установленного =)
Из некастомных карт пробовал в МП только Фрипорт (2ая миссия кампании). Попробуй ее, а потом почисти от лишнего и попробуй еще раз. Если не сложно — то видео из обеих игр (до и после фикса) будет очень кстати.

QUOTE
всё это локальная сеть, не интернет

Попробуй крутнуть параметр Bandwidth (Скорость соединения или как его там) на минимальное значение (хотя не достовернная проверка, но хоть какая то имитация), либо попробуй Fiddler для эмуляции низкой скорости соединения

Это сообщение отредактировано Buzzil - 13 июля 2015 | 19:26


#20 Doom

Doom

    Пользователь

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 13 Июль 2015 - 20:36

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




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Рейтинг@Mail.ru