Я был бы признателен за кофе, если вы используете этот транспорт в своем проекте и хотите помочь мне оплатить счета и включить свет.
«Наверное, самый быстрый транспорт для Mirror…» — FSE_Vincenzo, 2021 (Mirror Discord)
Ignorance — это высокопроизводительный транспорт на основе UDP, который подключается к зеркальной сети. Используя возможности проверенной и надежной встроенной библиотеки ENet, он обеспечивает надежную и ненадежную связь UDP с до 4096 подключенными узлами (клиентами) и 255 каналами. Надежный UDP имеет множество преимуществ по сравнению с TCP, который использовался в Mirror по умолчанию до внедрения KCP.
Преимущество Неведения состоит в том, что вы можете использовать каналы, позволяющие разделить сетевые коммуникации. Это позволяет вам иметь каналы для данных, которые являются критически важными и должны быть отправлены как можно быстрее, а также каналы, которые могут отправлять более медленные несущественные данные.
Ignorance 1.4 в настоящее время находится на долгосрочной поддержке, а это означает, что никаких новых функций не планируется. Исправления ошибок имеют приоритет и будут устранены, когда у меня будет свободное время.
Если у вас есть срочный отчет об ошибке, вам рекомендуется рассмотреть возможность спонсорства. Это позволит мне отвлечься от своей деловой деятельности и расставить приоритеты в отчетах об ошибках.
Незнание лицензируется по лицензии MIT. Однако в последнее время были случаи, когда другие разработчики использовали полный исходный код Ignorance или его части, лишив лицензии MIT и вместо этого наложив на него свою собственную лицензию.
Это является нарушением лицензии MIT, поскольку в ней четко указано, что уведомления об авторских правах должны оставаться нетронутыми. Короче говоря, не будьте вором кода и соблюдайте лицензию MIT.
Ignorance 1.4 LTS не будет работать со старыми версиями Mirror. Вы можете перенести версию 1.4 LTS в свой старый проект Mirror, но эта поддержка лежит на вас.
Загрузите пакет Unity из раздела Releases, который является последним. Просто импортируйте пакет Unity, и Unity сделает все остальное. Следуйте инструкциям ниже.
В качестве альтернативы вы можете использовать код из основной ветки, который часто является более актуальным по сравнению с выпусками.
Я включил две предварительно настроенные примеры сцен, чтобы вы могли легко приступить к работе. Один из них — Pong, другой — копипаст с некоторыми модификациями базовой сцены Mirror. В противном случае добавьте сценарий Ignorance в объект NetworkManager, удалив любой транспорт на основе TCP или другой UDP (например, kcp2k). Затем установите сценарий, который будет использоваться, в поле «Транспорт» NetworkManagers.
См. ДОКУМЕНТАЦИЯ.md.
Информацию об автономном режиме Ignorance см. в STANDALONE.md.
Часто задаваемые вопросы (также известные как «Пожалуйста, прочтите это в первую очередь») см. на FAQ.md.
Если вы используете свой собственный сетевой стек или пытаетесь подключить Ignorance к другому уже существующему сетевому решению, вам гораздо лучше использовать оболочку ENet-CSharp для прямого взаимодействия с ENet. Вы также можете попробовать Ignorance Standalone, упомянутый выше.
Если у вас есть копия Population One, поздравляю. В этой игре Ignorance используется в качестве основного сетевого транспортного уровня. Он также занимает свое место в первой крупной игре, в которой используется невежество.
Игнорирование использовалось в демонстрационной симуляции ходьбы «Vinesauce is Hope», в которой было несколько экземпляров серверов с более чем 300 CCU каждый. Видеоклипы доступны здесь.
ВАЖНО: 32-битные настольные компьютеры НЕ поддерживаются. Компьютеры Macintosh с чипом M1 (ARM64/AArch64) также не поддерживаются. Хотя Розетта может сработать.
Поддерживаемые платформы «из коробки»:
64-битные настольные платформы (Windows/Mac/Linux), Android (ARMv7/ARM64), включая устройства VR, и iOS (ARMv7/ARM64).
Если на нем может работать нативная версия ENet и поддерживается Unity, то можно использовать Ignorance.
Пользователи устройств Apple M1 должны перекомпилировать ENet Native для своих процессоров M1. Использование Ignorance прямо из коробки приведет к невозможности загрузки библиотеки x86_64 в Apple Silicon. Rosetta может и сработает, но никаких обещаний.
Другие платформы, требующие дополнительной работы:
Для получения дополнительной информации см. FAQ.
Проверьте текущие открытые отчеты об ошибках и/или сообщите о новых здесь.
В противном случае вы всегда можете поймать меня на дискорде Oiran Studio или Mirror.
Ошибки, о которых недостаточно подробностей, будут либо закрыты, либо им будет присвоен низкий приоритет. Такая информация, как ваша ОС, версия редактора Unity, любые ошибки незнания и т. д., важна для хорошего отчета об ошибках.
Вот краткое руководство. Возможно, оно немного устарело, но оно охватывает основы невежества.
Жертвователи : Спасибо, что помогаете поддерживать свет.
FSE_Винченцо: Постоянный мастер пути ENet. Они являются частью Flying Squirrel Entertainment — посмотрите их игры.
ИисусLuvsYooh: проект испытаний CCU на выносливость, идеи, исправления и другие интересные вещи
Катори: Помог запустить многопоточную версию, которая превратилась в недолговечную версию Ignorance 2.x, которая позже стала Ignorance Threaded.
PhantomGamers: Got Mirror + Ignorance работает как клиентская модификация BepInEx для боковой загрузки игры. Черт возьми, это круто.
BigBoxVR: запросы на включение и обнаружение состояния гонки, угрожающего стабильности. Также использует Ignorance in Population One, VR-игру.
Мартин: Запросы на включение, тестирование с помощью Dissonance. Отличный VoIP-ресурс для Unity.
c6burns, Петрис, Шиена, Дракнит, nxrighthere, vis2k, Пол
Зеркальный Дискорд и другие, кого я пропустил. Спасибо большое, вы знаете, кто вы.
Вы тоже можете указать здесь свое имя, если отправите PR. Не откладывайте, сделайте свой пиар сегодня!
Продолжение следует...?