logo
Fundamentos

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 upstreamEcoFunción actual
TNManagerEcoFachada global del cliente y operaciones de red
TNObjectObjetoIdentidad, ownership, canal, datos y comunicación de una entidad
TNBehaviourComponenteIntegración de MonoBehaviour con Objeto
TNPlayerJugadorIdentidad y datos del participante
ChannelCanalÁmbito lógico de jugadores y objetos
PacketPaqueteTipo de mensaje del protocolo
BufferBufferLectura y escritura binaria
DataNodeNodoDatos jerárquicos y serialización estructurada
GameClientClienteJuegoEstado y comunicación del cliente
TNServerInstance / GameServerServidor / ServidorJuegoHosting y lógica de servidor
TNUpdaterActualizadorRedScheduler central de callbacks y actualización
TargetObjetivoDestino de una comunicación
TNSyncRigidbodySincronizarRBSincronización específica de física
IConnectionIConnectionTransporte personalizado
TNServerInstance editorServidor + herramientas de PandoraIntegració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.

On this page