UNet случайно отключается

Я получаю постоянные выпадения UNet для базовой сетевой сцены (трансформация двух игроков и случайный RPC). Соединение обрывается из-за тайм-аута.

Соединения надежно обрываются в течение 5 минут, а в основном в течение 30 секунд. Я читал в Интернете, что UNet часто делает это. Я попытался увеличить NetworkDropThreshold и OverflowDropThreshold до 90%. Я также поставил тайм-аут пинга до 5 секунд.

Любые идеи о том, как это исправить? Я использую wi-fi для обоих игроков, и я на Unity 5.6.0f3.


person Chris Nolet    schedule 19.06.2017    source источник
comment
Вы пробовали то, что я оставил? Я просто хочу знать, помогло ли это.   -  person Programmer    schedule 21.06.2017
comment
Вы поверите, что у меня возникли проблемы с воспроизведением проблемы сейчас? :) Я только что обновился до Unity 5.6.1, и у меня не было падений (пока).   -  person Chris Nolet    schedule 21.06.2017


Ответы (2)


Я попытался увеличить NetworkDropThreshold и OverflowDropThreshold до 90%. Я также поставил тайм-аут пинга до 5 секунд.

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

Увеличьте NetworkManager.maxDelay примерно до 0.2f. Согласно документации do, значение по умолчанию — 0.01f. Продолжайте увеличивать его, пока он не перестанет отключаться.


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

person Programmer    schedule 19.06.2017
comment
Ничего себе, удивительно, что это было проблемой так долго! Откатился на 5.6.0 (с 5.6.1) и моментально опять начали выпадать дропы. Только что попытался установить maxDelay на 0,2, но, к сожалению, это совсем не помогло... Я продолжу работу с 5.6.1 и посмотрю, останется ли она стабильной в долгосрочной перспективе, и отчитаюсь. (Скрещенные пальцы!) - person Chris Nolet; 21.06.2017
comment
Ok. Доложите через несколько дней. Я хочу знать, действительно ли 5.6.1 исправила это. - person Programmer; 21.06.2017
comment
Итак, после продолжительного тестирования кажется, что эти проблемы были исправлены — по крайней мере, для меня — в 5.6.1. Я бегал по 1-4 часа без падений. Глядя на инспектор отладки, мне не кажется, что какие-либо значения конфигурации по умолчанию для NetworkManager не изменились. Я подозреваю, что Unity внесла некоторые исправления. - person Chris Nolet; 22.06.2017
comment
Я проверил примечание к выпуску и не нашел никаких исправлений сетевых ошибок. Может быть, они сделали. Предположим, что они это сделали. - person Programmer; 22.06.2017
comment
Чувство благодарности, если они это сделали! Спасибо за вашу помощь, я очень ценю это. - person Chris Nolet; 23.06.2017

Обновление до Unity 5.6.1f1 устранило эти проблемы. Хотя в примечаниях к выпуску или в примечаниях к исправлениям для серии 5.6.0 нет комментариев, разница в надежности была поразительной, по крайней мере для меня.

Если у вас возникли проблемы, попробуйте последнюю версию. Хотя последний стабильный выпуск работал у меня, вы можете найти последние выпуски исправлений по адресу: https://unity3d.com/unity/qa/patch-releases.


Если вы используете Matchmaker от Unity, существует жесткое ограничение пропускной способности, которое отталкивает игроков, и это дорого. Photon — хорошая альтернатива для нетворкинга: https://www.photonengine.com/PUN.

person Chris Nolet    schedule 22.06.2017