Jump to content

Десинхроны, путь временного решения


Pohned
 Share

Recommended Posts

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

Что предлагается. Да ничего нового, собственно. Добавить в клиентскую часть хоткей, запускающий со стороны игрока процедуру повторной полной синхронизации между клиентом и сервером без перезапуска клиентской части. По которой сервер просто сольет клиенту свое видение происходящего на тот момент у клиентской части. Наподобие команды /reload у близзардов.

Это будет просто быстрее и удобнее, чем каждый раз перезапускать "заглючивший" клиент.

 

Спойлер тута. Ну или сдеся:

 

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

К этому могут привести три вещи:

1. Глюк клиентской части

2, Глюк серверной части

3. Действительно просто потеря данных и возникновение расхождения между клиентом и сервером.


Но. Опять методом научного тыка выяснено что:

1. Иногда, редко правда, десинхронизация устраняется сама собой. А это значит, что это не глюк клиентской части. С достаточно высокой вероятностью.

2. Перезапуск клиентской части ВСЕГДА решает проблему с десинхронизацией. А это значит, что это не зависший вычислительный поток сервера. Иначем бы перезагрузка ничего бы не дала, с очень высокой вероятностью.

Из этого получается, что самое вероятное, наиболее простое и логичное объяснение десинхронизации - что это действительно просто возникновение ситуации, когда возникает расхождение в данных между НОРМАЛЬНО РАБОТАЮЩЕЙ клиентской частью и серверной. По какой причине - потеря ли сетевых пакетов, переполнение стека данных на сервере и потеря данных, передаваемых от клиента к серверу - не столь суть важно.

 

 

Edited by Pohned
  • Upvote 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...