Te agradecería un café si utilizas este transporte en tu proyecto y quieres ayudarme a mantener mis facturas pagadas y las luces encendidas.
"Probablemente el transporte más rápido que existe para Mirror..." - FSE_Vincenzo, 2021 (Mirror Discord)
Ignorance es un transporte basado en UDP de alto rendimiento que se conecta a Mirror Networking. Al aprovechar el poder de la biblioteca nativa ENet, probada y verdadera, proporciona comunicaciones UDP confiables y no confiables con hasta 4096 pares (clientes) conectados y 255 canales. UDP confiable tiene muchos beneficios sobre TCP, que era el valor predeterminado en Mirror hasta que se implementó KCP.
El beneficio de Ignorancia es que puede utilizar canales que le permiten dividir las comunicaciones de la red. Esto le permite tener canales para datos que son de misión crítica y deben enviarse lo más rápido posible, así como canales que pueden enviar datos no esenciales más lentos.
Ignorance 1.4 se encuentra actualmente en soporte a largo plazo, lo que significa que no se planean nuevas funciones. Las correcciones de errores tienen prioridad y se abordarán cuando tenga tiempo libre.
Si tiene un informe de error urgente, le recomendamos que considere un patrocinio. Esto me permitirá tomarme un tiempo de mis actividades comerciales y priorizar el informe de errores.
La ignorancia tiene licencia del MIT. Sin embargo, ha habido casos recientes en los que otros desarrolladores han estado utilizando la fuente completa de Ignorance o partes de ella, eliminando la licencia del MIT y poniéndole su propia licencia.
Esto viola la licencia del MIT, ya que establece claramente que los avisos de derechos de autor deben permanecer intactos. En resumen, no seas un ladrón de códigos y respeta la licencia del MIT.
Ignorance 1.4 LTS no funcionará con versiones anteriores de Mirror. Puede realizar una copia de seguridad de 1.4 LTS a su proyecto Mirror anterior, pero ese soporte depende de usted.
Descargue el paquete Unity de Versiones que es el más reciente. Simplemente importe el paquete Unity y Unity hará el resto. Siga las instrucciones a continuación.
Alternativamente, puede utilizar el código de la rama maestra, que suele estar actualizado en comparación con las versiones.
He incluido dos escenas de muestra preconfiguradas para que puedas comenzar fácilmente. Uno es Pong, el otro es copiar y pegar con algunas modificaciones de la escena básica de Mirror. De lo contrario, agregue el script llamado Ignorancia a su objeto NetworkManager, eliminando cualquier transporte basado en TCP o UDP (es decir, kcp2k). Luego configure el script que se utilizará en el campo "Transporte" de NetworkManagers.
Ver DOCUMENTACIÓN.md.
Para ignorancia independiente , consulte STANDALONE.md.
Para consultar las preguntas frecuentes (también conocidas como Lea esto primero), consulte FAQ.md.
Si está utilizando su propia pila de red o está intentando conectar Ignorance a otra solución de red que ya existe, es mucho mejor que utilice el contenedor ENet-CSharp para hablar con ENet directamente. También puedes probar Ignorance Standalone que se menciona anteriormente.
Si posee una copia de Population One, felicidades. Ese juego utiliza Ignorancia como su principal capa de transporte de red. También gana su lugar en el primer juego importante que utiliza Ignorancia.
La ignorancia se utilizó en una demostración de simulación de caminata "Vinesauce is Hope" que tenía múltiples instancias de servidor ejecutándose con más de 300 CCU cada una. Videoclips disponibles aquí.
IMPORTANTE: NO se admiten destinos de escritorio de 32 bits. Tampoco se admiten Macintosh con el chip M1 (ARM64/AArch64). Sin embargo, Rosetta puede funcionar.
Plataformas compatibles, listas para usar:
Plataformas de escritorio de 64 bits (Windows/Mac/Linux), Android (ARMv7/ARM64), incluidos dispositivos de realidad virtual, e iOS (ARMv7/ARM64).
Si ENet nativo puede ejecutarse en él y es compatible con Unity, está listo para usar Ignorance.
Los usuarios de dispositivos Apple M1 deben volver a compilar ENet Native para sus procesadores M1. El uso de Ignorance directamente desde el primer momento no permitirá cargar la biblioteca x86_64 en Apple Silicon. Rosetta puede funcionar, pero no hay promesas.
Otras plataformas que requieren algo de trabajo extra:
Para obtener más información, consulte las preguntas frecuentes.
Consulte los informes de errores abiertos actuales y/o informe uno nuevo aquí.
De lo contrario, siempre puedes verme en el discordia de Oiran Studio o en el discordia de Mirror.
Los errores que no tengan suficientes detalles se cerrarán o se asignarán a baja prioridad. Detalles como su sistema operativo, la versión de Unity Editor, cualquier error de ignorancia, etc. son esenciales para un buen informe de errores.
Aquí hay una introducción rápida. Puede que esté un poco desactualizado, pero cubre los conceptos básicos de la ignorancia.
Donantes : Gracias por ayudar a mantener las luces encendidas.
FSE_Vincenzo: Maestro residente de ENet way. Son parte de Flying Squirrel Entertainment: ve a ver sus juegos.
JesusLuvsYooh: proyecto de prueba de resistencia de CCU, ideas, correcciones y otras cosas increíbles
Katori: Ayudó a impulsar la versión subproceso que evolucionó a la versión de corta duración Ignorance 2.x, que luego se convirtió en Ignorance Threaded.
PhantomGamers: Got Mirror + Ignorance funciona como una modificación de carga lateral del lado del cliente de BepInEx para un juego. Mierda, eso es genial.
BigBoxVR: Sacó solicitudes y encontró una condición de carrera que amenazaba la estabilidad. También utiliza Ignorance in Population One, un título de realidad virtual.
Martin: Solicitudes de extracción, pruebas con Dissonance. Gran activo de VoIP para Unity.
c6burns, Petris, shiena, Draknith, nxrighthere, vis2k, Paul
The Mirror Discord y los demás que he extrañado. Muchas gracias, sabes quién eres.
Usted también puede tener su nombre aquí si envía un PR. ¡No se demore, obtenga su PR hoy!
Continuará...?