Ingeniería
Diagnóstico
Método sistemático para localizar errores de conexión, sincronización y ownership.
Cuando algo no se sincroniza, no empieces cambiando RFC al azar. Sigue una cadena de comprobaciones.
Objeto que no aparece
¿El objeto fue creado?
↓
¿Está en el canal esperado?
↓
¿Tiene identidad válida?
↓
¿El cliente participa en ese canal?
↓
¿El estado se marcó para sincronización?
↓
¿El prefab / representación local existe?RFC que no funciona
¿La RFC está registrada?
↓
¿Se invoca realmente?
↓
¿El destinatario es correcto?
↓
¿El objeto existe en ese extremo?
↓
¿Los parámetros son serializables?
↓
¿El servidor la acepta?Ownership incorrecto
Comprueba por separado:
- quién es owner de Eco;
- quién es propietario de gameplay;
- quién tiene autoridad para ejecutar la acción;
- qué ocurre si cambia el owner.
Canal incorrecto
Si dos participantes ven comportamientos diferentes, comprueba primero su pertenencia a canales antes de modificar el código de sincronización.
Paquetes
Cuando el problema parece transporte, observa:
- conexión;
- protocolo utilizado;
- paquetes enviados;
- paquetes recibidos;
- errores de serialización;
- desconexiones;
- latencia;
- tamaño y frecuencia.
Diagnóstico reproducible
Registra siempre jugador, canal, objeto, ownership, tipo de paquete y estado de conexión. Un log que sólo diga "no sincroniza" no permite reconstruir el fallo.
