Mapa completo del sistema
Mapa de subsistemas de Eco inspirado en el análisis de TNet y validado contra la implementación actual.
Mapa completo del sistema
DeepWiki separa TNet en gestión de cliente, objetos, sincronización, servidor, transporte, serialización, herramientas, ejemplos y extensiones. Esa clasificación es útil para entender Eco, pero debe reinterpretarse con los nombres y responsabilidades actuales del proyecto.
Correspondencia conceptual
| Concepto upstream | Eco | Función actual |
|---|---|---|
TNManager | Eco | Fachada global del cliente y operaciones de red |
TNObject | Objeto | Identidad, ownership, canal, datos y comunicación de una entidad |
TNBehaviour | Componente | Integración de MonoBehaviour con Objeto |
TNPlayer | Jugador | Identidad y datos del participante |
Channel | Canal | Ámbito lógico de jugadores y objetos |
Packet | Paquete | Tipo de mensaje del protocolo |
Buffer | Buffer | Lectura y escritura binaria |
DataNode | Nodo | Datos jerárquicos y serialización estructurada |
GameClient | ClienteJuego | Estado y comunicación del cliente |
TNServerInstance / GameServer | Servidor / ServidorJuego | Hosting y lógica de servidor |
TNUpdater | ActualizadorRed | Scheduler central de callbacks y actualización |
Target | Objetivo | Destino de una comunicación |
TNSyncRigidbody | SincronizarRB | Sincronización específica de física |
IConnection | IConnection | Transporte personalizado |
TNServerInstance editor | Servidor + herramientas de Pandora | Integración de servidor dentro del proyecto |
Capas
┌────────────────────────────────────────────────────────┐
│ Gameplay │
├────────────────────────────────────────────────────────┤
│ Eco / Componente / Objeto │
├────────────────────────────────────────────────────────┤
│ RFC · Sync · Datos · Objetivo │
├────────────────────────────────────────────────────────┤
│ Paquete · Buffer · Serialización │
├────────────────────────────────────────────────────────┤
│ TCP · UDP · IConnection │
├────────────────────────────────────────────────────────┤
│ ClienteJuego ServidorJuego │
└────────────────────────────────────────────────────────┘Subsystems que conviene conocer
Gestión de sesión
Eco expone conexión, desconexión, estado de red, nombre e identidad del jugador, canales, administración, aliases y callbacks.
Entidades de red
Objeto representa una entidad sincronizada. Componente es la fachada Unity que facilita acceder a ella y registrar comportamiento remoto.
Comunicación
Las RFC permiten ejecutar métodos remotos. Los métodos de datos y sincronización mantienen estado. Objetivo decide el ámbito de distribución.
Persistencia
Los canales persistentes y los objetos persistentes permiten que el servidor conserve estado de una sesión y lo reproduzca cuando corresponde. Esto no debe confundirse con guardar la partida completa de gameplay.
Transporte
TCP proporciona el canal fiable principal. UDP se utiliza para tráfico donde perder un mensaje concreto puede ser preferible a acumular latencia. IConnection permite sustituir el transporte sin cambiar la API de alto nivel.
Serialización
Buffer es la representación binaria de trabajo. Nodo ofrece una representación jerárquica para datos estructurados. Las interfaces de serialización permiten soportar tipos propios cuando una simple escritura de primitivas no es suficiente.
Runtime
ActualizadorRed concentra OnStart, OnUpdate, OnLateUpdate, actualizaciones infrecuentes, callbacks de un solo uso, invocaciones retardadas y tareas basadas en enumeradores.
Herramientas y extensiones
El sistema incluye integración con Steam, UPnP, runtime C#, lobby y transportes personalizados. Estos son extensiones de Eco, no requisitos del núcleo.
Orden recomendado para aprender Eco
Modelo de red
Aprende Jugador, Canal, Objeto y Componente.
Comunicación
Aprende RFC, sincronización y Objetivo.
Transporte
Aprende Paquete, Buffer, serialización y la diferencia entre TCP y UDP.
Runtime
Comprende Eco, ClienteJuego, ServidorJuego y ActualizadorRed.
Persistencia y extensiones
Añade datos persistentes, múltiples canales, Steam, UPnP o IConnection cuando el proyecto lo necesite.
Esta página no es una copia de DeepWiki
DeepWiki se utiliza como índice de arquitectura de TNet. Las definiciones de Eco se basan en la implementación actual del repositorio Nervelink/eco; cuando una idea upstream no coincide con Eco, prevalece el código de Eco.
