Bugsmashers Episodio 01

INTRODUCCIÓN

Ya he crecido, he conseguido mi propio spin-off, en la buena tradición de grandes series como Joey, Caprica o Lone Gunmen. ¡Ha llegado el momento de aplastar bugs!

BUG DE HOY

Es un divertido pequeño bug de multijugador. A la izquierda tiene un servidor dedicado, y tiene tres clientes conectados a él con su estado en verde. Al parecer si uno de los clientes Eyecta y sale de la partida, los otros dos clientes serán incapaces de responder por lo que va a intentar reproducirlo. Al hacerlo, parece que el servidor sigue detectando que está ahí aunque esté supuesto desconectado… algo que es muy malo. Cuando intenta eyectar y luego respawnear con un segundo cliente no hace nada. ¿Por qué? Porque el servidor dedicado está intentando desconectar al otro tío y esto bloquea las acciones de los demás porque están en un sistema hilado.

Mark Abent: Nunca seré una estrella de la televisión..
Hennesy: ¡Qué dices! Ya tienes tu propio programa.
Mark Abent: Si, pero lo consigo hacer a base de 1.000 tomas repetidas.

Tras cerrar todo, Mark va al código y explica que cuando alguien se desconecta poner una tarea que indica al repositorio de datos que debe ser eliminado del servidor y este irá al jugador, lo eliminará y luego borrará esta tarea al terminarla. Pero al ponerse en este estado con el estado de eyectado pone un doble efecto de desconectando, no se limpia el jugador desconectado y el servidor se vuelve majara con esta incongruencia. Retoca el código del servidor para que las acciones sigan abiertas mientras hay un jugador presente y que cuando se desconecte se cierre.

Lo prueba de nuevo con su servidor dedicado y tres clientes y efectivamente, todo limpio en la base de datos según se desconecta tras eyectar. Y solucionado. Espera que nos haya gustado el formato y espera comentarios sobre esto para mejorarlo o empeorarlo.