Desconectar usuarios online [Pegados]

Bienvenidos a un nuevo tutorial, hoy aprenderemos algo realmente sencillo pero práctico: "Desconectar usuarios online"
¿Para qué sirve esto y a qué se aplica?
Cuando los usuarios se conectan a nuestro servidor, la tabla "MEMB_STAT" se actualiza, pero no lo hace sola ni mucho menos, quien hace esta actualización es un procedimiento almacenado llamado WZ_CONNECT_MEMB.
Este procedimiento envia un conjunto de variables al SQL como por ejemplo la fecha de conexión, el nombre del servidor, etc y entre esas variable envia a la columna "ConnectStat" el parámetro "1".
Ese parámetro 1 es que la web identifica como "Cuenta Online" (Importante, aca no trabajamos con el personaje sino con la cuenta)
Cuando el usuario decide salir del juego, se ejecuta el procedimiento inverso/contrario/opuesto, el llamado WZ_DISCONNECT_MEMB, que lo que hará entre otras cosas, será ingresar el valor "0" en la tabla "MEMB_STAT" en la columna "ConnectStat"
Entonces, pasando en limpio lo nombrado anteriormente, cuando en la columna "ConnectStat" tenemos un "1", eso nos indica que la cuenta está Online, y cuando el valor es "0" eso nos indica que la cuenta está Offline.
Esa sería la dinámica del servidor, pero sucede que a veces el servidor es cerrado de manera brusca o repentina y el usuario no puede salir por sus propios medios, es por eso que decimos "Se pego la cuenta"
En versiones nuevas esto no trae dificultades mayores, pero si a la hora de ver los usuarios online ya que las estadísticas no serán las correctas.
Es por eso que veremos dos alternativas para solucionar el problema:

a)Si son pocos usuarios podemos hacer lo siguiente:
1)Ingresamos al "Administrador corporativo" => "Base de datos" => "MuOnline" => "Tablas" => "MEMB_STAT" => "Abir tabla" => "Devolver todas las filas"

Ingreso a la tabla del sql server

2)Lo que debemos hacer ahora, es buscar en la columna memb___id el ID o Login de la cuenta en cuestión.
Una vez localizado, en la columna siguiente, es decir, en la llamada "ConnectStat" veremos un 1, ese uno como ya hemos visto nos indica que la cuenta está conectada entonces lo que hacemos cambiamos el 1 que acompaña la cuenta por un 0.

Tabla que marca los conectados

Con eso, la cuenta estará desconectada. Como pudimos observar el procedimiento es totalmente manual, esto significa que con pocas cuentas no nos traíra mayores complicaciones, pero con 100 o 200 cuentas este proceso se puede convertir en una tarea compleja.

b)Por eso, si las cuentas conectadas o pegadas son muchas podemos hacer lo siguiente:
1)Ingresamos al "Analizador de consultas", seleccionamos como base de datos la "MuOnline" y corremos la siguiente consulta:

UPDATE MEMB_STAT
SET ConnectStat=0 where ConnectStat=1
Con esa consulta todas las cuentas serán desconectadas.

Consulta para desconectar las cuentas de la pagina del mu

*Es importante destacar que dicha consulta la debemos ejecutar antes de poner el servidor Online.
*Dependiendo la cantidad de cuentas, este procedimiento puede demorar.
*La condición where se aplica opcionalmente, ya que algun servidor puede usar dicha variable para otro uso.
Cuentas_Pegadas.rar [1 KB]

¿Necesitas ayuda? Visita www.iceventas.com y nosotros lo hacemos por ti.

Se han publicado un total de 0 comentarios en Mu Online Tutoriales :

Publicar un comentario en la entrada