Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Register in Game [Select Server]  (Visto 3550 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline lunaticodeveloper #20 Posteado: February 13, 2022, 08:42:19 PM

  • MAESTRO

  • US. DE HONOR

  • +4 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.845
  • Gracias recibida: 22257
  • ar
la conexion se hace con el connectserver ... para armar el register esto esta en una source que esta posteada no recuerdo cual

No bro. Cuando clickeás en un cuadrito de server lo que hace es enviarle a ese gameserver que te querés conectar y cuando el gameserver te responde, lo hace a través del protocolo 0xF1, 0x00 y en ese instante se abre el login box para poner usuario y contraseña. A partir de ese entonces ya estás ligado al gameserver, no al connectserver y ahí es cuando tenés que dibujar el botón de registro y todo lo que comenté

no tiene que ver nada registrar una cuenta en la base de datos con el gameserver , desde el login server o select server se puede enviar los datos necesarios ya que lo primero que levanta el main es la conexion al cs y alli se puede hacer el registro inclusive dentro del selectcharacter ambien podrias agregar un boton si quisiera ligado al joinserver o gameserver. teniendo 1 vez establecida da igual donde lo hagas lo que tienes que hacer es invocar una consulta a la base datos.

Y si tenés varios servidores, cómo sabés a qué base de datos tiene que ir? Suponete que tenés un slow y un fast, desde el connect server no sabés a dónde lo vas a registrar, a menos que en el mismo registro le des la opción de elegir el servidor pero ya tendrías que guardar y mostrar el listado de servidores de alguna manera. No tiene sentido lo que estás diciendo.
Además, si conocieras que el ConnectServer no tiene ningún tipo de conexión con la base de datos, hacerlo por gameserver hace que lo envíe directo al dataserver o al joinserver y eso lo hace directamente con la base de datos ligada a ese servidor en concreto. Por eso yo digo que es preferible hacerlo al momento de seleccionar el servidor porque en ese instante ya estás conectado a ese gameserver y podés enviarle tranquilamente un protocolo con los datos necesarios y que eso continúe su trayectoria a través del joinserver o el data hasta llegar a la base de datos.

bro hacer un registro no significa que tenga que ver con el mu directamente , en el cliente lo unico que estas haciendo es mostrar un formulario de registro en C++ que envia info a la base de datos... sino fijate como funciona mspro .... a traves del connectserver...

Soporte premium ya sabes contactame!
Experto en MuOnline! Mira mis aportes de primera!
Alojamiento de Servidores / Venta de Configuraciones Mu Online / Espacio de alojamiento para WebHost / Venta de diseño grafico.

Offline kayito #21 Posteado: February 13, 2022, 09:23:10 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.037
  • Gracias recibida: 15400
  • ar
la conexion se hace con el connectserver ... para armar el register esto esta en una source que esta posteada no recuerdo cual

No bro. Cuando clickeás en un cuadrito de server lo que hace es enviarle a ese gameserver que te querés conectar y cuando el gameserver te responde, lo hace a través del protocolo 0xF1, 0x00 y en ese instante se abre el login box para poner usuario y contraseña. A partir de ese entonces ya estás ligado al gameserver, no al connectserver y ahí es cuando tenés que dibujar el botón de registro y todo lo que comenté

no tiene que ver nada registrar una cuenta en la base de datos con el gameserver , desde el login server o select server se puede enviar los datos necesarios ya que lo primero que levanta el main es la conexion al cs y alli se puede hacer el registro inclusive dentro del selectcharacter ambien podrias agregar un boton si quisiera ligado al joinserver o gameserver. teniendo 1 vez establecida da igual donde lo hagas lo que tienes que hacer es invocar una consulta a la base datos.

Y si tenés varios servidores, cómo sabés a qué base de datos tiene que ir? Suponete que tenés un slow y un fast, desde el connect server no sabés a dónde lo vas a registrar, a menos que en el mismo registro le des la opción de elegir el servidor pero ya tendrías que guardar y mostrar el listado de servidores de alguna manera. No tiene sentido lo que estás diciendo.
Además, si conocieras que el ConnectServer no tiene ningún tipo de conexión con la base de datos, hacerlo por gameserver hace que lo envíe directo al dataserver o al joinserver y eso lo hace directamente con la base de datos ligada a ese servidor en concreto. Por eso yo digo que es preferible hacerlo al momento de seleccionar el servidor porque en ese instante ya estás conectado a ese gameserver y podés enviarle tranquilamente un protocolo con los datos necesarios y que eso continúe su trayectoria a través del joinserver o el data hasta llegar a la base de datos.

bro hacer un registro no significa que tenga que ver con el mu directamente , en el cliente lo unico que estas haciendo es mostrar un formulario de registro en C++ que envia info a la base de datos... sino fijate como funciona mspro .... a traves del connectserver...

Yo no te estoy diciendo que no se pueda hacer, te estoy planteando la solución que considero más sencilla por el simple hecho de que no hace falta generar un sistema de conexión a la base de datos en el ConnectServer ni agregar los datos de los servidores en el sistema de registro.

Fijate el sistema de marote:

Vos decime si yo tuviera 5 servidores donde cada servidor apunta a una base de datos diferente, cómo hago yo para registrarme al server 3 por ejemplo? Tendrías que guardar en alguna estructura el listado de servidores para que al momento de registrarte, puedas elegir a qué servidor registrarte no? Eso implica agregarle un sistema de selección en base a la cantidad de servidores que tengas (un desplegable con opciones, botonsitos con cada servidor, etc.)

En cambio de la forma que yo digo directamente cuando clickeás el servidor, cuando te aparece el cuadro de login significa que ya te conectaste a ese servidor osea que ya estás interactuando con el gameserver por lo que podrías directamente agregarle un botón para registrarte en esa instancia y cuando lo clickeás, automáticamente ya se sabe a qué servidor te estás registrando, me explico? Después se soluciona todo fácilmente enviándole al gameserver por un protocolo el intento de registro, eso se pasa para el joinserver o dataserver y eso lo pasa a la base de datos. Después eso te responde y la cadena va hacia atrás hasta retornarle la respuesta al cliente donde podés mostrar un message con el resultado.

Yo considero que es mucho más sencillo y menos trabajoso agregar dos o tres casos de protocolo en el gameserver y el joinserver y un storedprocedure en la db a que tener que reconstruir el sistema de conexión a la base de datos en el connectserver y tener que ingeniártelas de alguna manera para poder enviarle al connectserver a qué servidor querés registrarte

Gracias:


Offline cobyzero #22 Posteado: February 13, 2022, 11:53:08 PM

  • MAESTRO

  • US. DE HONOR

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 648
  • Gracias recibida: 26673
  • pe
la conexion se hace con el connectserver ... para armar el register esto esta en una source que esta posteada no recuerdo cual

No bro. Cuando clickeás en un cuadrito de server lo que hace es enviarle a ese gameserver que te querés conectar y cuando el gameserver te responde, lo hace a través del protocolo 0xF1, 0x00 y en ese instante se abre el login box para poner usuario y contraseña. A partir de ese entonces ya estás ligado al gameserver, no al connectserver y ahí es cuando tenés que dibujar el botón de registro y todo lo que comenté

no tiene que ver nada registrar una cuenta en la base de datos con el gameserver , desde el login server o select server se puede enviar los datos necesarios ya que lo primero que levanta el main es la conexion al cs y alli se puede hacer el registro inclusive dentro del selectcharacter ambien podrias agregar un boton si quisiera ligado al joinserver o gameserver. teniendo 1 vez establecida da igual donde lo hagas lo que tienes que hacer es invocar una consulta a la base datos.

Y si tenés varios servidores, cómo sabés a qué base de datos tiene que ir? Suponete que tenés un slow y un fast, desde el connect server no sabés a dónde lo vas a registrar, a menos que en el mismo registro le des la opción de elegir el servidor pero ya tendrías que guardar y mostrar el listado de servidores de alguna manera. No tiene sentido lo que estás diciendo.
Además, si conocieras que el ConnectServer no tiene ningún tipo de conexión con la base de datos, hacerlo por gameserver hace que lo envíe directo al dataserver o al joinserver y eso lo hace directamente con la base de datos ligada a ese servidor en concreto. Por eso yo digo que es preferible hacerlo al momento de seleccionar el servidor porque en ese instante ya estás conectado a ese gameserver y podés enviarle tranquilamente un protocolo con los datos necesarios y que eso continúe su trayectoria a través del joinserver o el data hasta llegar a la base de datos.

bro hacer un registro no significa que tenga que ver con el mu directamente , en el cliente lo unico que estas haciendo es mostrar un formulario de registro en C++ que envia info a la base de datos... sino fijate como funciona mspro .... a traves del connectserver...

Yo no te estoy diciendo que no se pueda hacer, te estoy planteando la solución que considero más sencilla por el simple hecho de que no hace falta generar un sistema de conexión a la base de datos en el ConnectServer ni agregar los datos de los servidores en el sistema de registro.

Fijate el sistema de marote:

Vos decime si yo tuviera 5 servidores donde cada servidor apunta a una base de datos diferente, cómo hago yo para registrarme al server 3 por ejemplo? Tendrías que guardar en alguna estructura el listado de servidores para que al momento de registrarte, puedas elegir a qué servidor registrarte no? Eso implica agregarle un sistema de selección en base a la cantidad de servidores que tengas (un desplegable con opciones, botonsitos con cada servidor, etc.)

En cambio de la forma que yo digo directamente cuando clickeás el servidor, cuando te aparece el cuadro de login significa que ya te conectaste a ese servidor osea que ya estás interactuando con el gameserver por lo que podrías directamente agregarle un botón para registrarte en esa instancia y cuando lo clickeás, automáticamente ya se sabe a qué servidor te estás registrando, me explico? Después se soluciona todo fácilmente enviándole al gameserver por un protocolo el intento de registro, eso se pasa para el joinserver o dataserver y eso lo pasa a la base de datos. Después eso te responde y la cadena va hacia atrás hasta retornarle la respuesta al cliente donde podés mostrar un message con el resultado.

Yo considero que es mucho más sencillo y menos trabajoso agregar dos o tres casos de protocolo en el gameserver y el joinserver y un storedprocedure en la db a que tener que reconstruir el sistema de conexión a la base de datos en el connectserver y tener que ingeniártelas de alguna manera para poder enviarle al connectserver a qué servidor querés registrarte
me diste una idea para arreglar un error de multiserver, aver que sale


Offline takumi12 #23 Posteado: February 14, 2022, 05:09:10 AM | Modificado: February 14, 2022, 05:42:01 AM by takumi12

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.310
  • Gracias recibida: 40123
  • mx
siguiendo la idea de @kayito  quedaría de esta forma bastaría con ocultar el loginbox al momento de conectar al servidor y abrir la ventana de registro, no esta complicado hacerlo, el problema sería hacer que relogue después de registrar de esta forma me quedaría mas completo como un auto login después del registro
boxing boxing boxing



Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Online djagripnos #24 Posteado: February 14, 2022, 05:54:54 AM

  • MAESTRO

  • US. DE HONOR

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 822
  • Gracias recibida: 27796
  • gr
siguiendo la idea de @kayito  quedaría de esta forma bastaría con ocultar el loginbox al momento de conectar al servidor y abrir la ventana de registro, no esta complicado hacerlo, el problema sería hacer que relogue después de registrar de esta forma me quedaría mas completo como un auto login después del registro
boxing boxing boxing



Share full code please

Gracias:


Offline kayito #25 Posteado: February 14, 2022, 09:18:44 AM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.037
  • Gracias recibida: 15400
  • ar
siguiendo la idea de @kayito  quedaría de esta forma bastaría con ocultar el loginbox al momento de conectar al servidor y abrir la ventana de registro, no esta complicado hacerlo, el problema sería hacer que relogue después de registrar de esta forma me quedaría mas completo como un auto login después del registro
boxing boxing boxing



Exactamente así es como decía yo. Me parece perfecto como te quedó, muy bueno. Sólo faltaría el autologin que eso lo podés hacer sencillamente reusando las funciones del gameserver para loguear aunque la parte del joinserver te conviene automatizarla para que no vuelva a buscar los datos de la cuenta al querer loguear


Offline Odisk #26 Posteado: February 14, 2022, 12:40:06 PM

  • Colaborador
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 879
  • Gracias recibida: 12334
  • pr
Otra cosa que quiero agregar.

Un sistema de este estilo hace falta que lo hagan a través del gameserver correspondiente, por lo que hay que enlazar el sistema al momento de clickear y elegir un server, en ese momento habilitar el botón de registro.

Por qué hago esta aclaración? Porque si tienen un servidor que usa múltiples gameservers y cada gameserver tiene una base de datos distinta, no podrían registrar las cuentas porque no sabrían a qué gameserver hacer el envío. Por eso hace falta que intervengan al momento de clickear y elegir un gameserver (puede ser a través del protocolo al momento de recibir la respuesta del gameserver).

normal mente se usaria un multi server peo en este caso usaria solo Me_MuOnline y esa le serviria a todo los server que tengas, pero quien usa una s6 como multiserver hoy en dia  ? xd

one day

Offline kayito #27 Posteado: February 14, 2022, 01:07:58 PM

  • MAESTRO

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 1.037
  • Gracias recibida: 15400
  • ar
Otra cosa que quiero agregar.

Un sistema de este estilo hace falta que lo hagan a través del gameserver correspondiente, por lo que hay que enlazar el sistema al momento de clickear y elegir un server, en ese momento habilitar el botón de registro.

Por qué hago esta aclaración? Porque si tienen un servidor que usa múltiples gameservers y cada gameserver tiene una base de datos distinta, no podrían registrar las cuentas porque no sabrían a qué gameserver hacer el envío. Por eso hace falta que intervengan al momento de clickear y elegir un gameserver (puede ser a través del protocolo al momento de recibir la respuesta del gameserver).

normal mente se usaria un multi server peo en este caso usaria solo Me_MuOnline y esa le serviria a todo los server que tengas, pero quien usa una s6 como multiserver hoy en dia  ? xd

Eso que vos decís funciona en los servidores que tienen una única base de datos para cuentas y otra para personajes en cada servidor.

Lo que la mayoría hace es crear distintas bases de datos: MuOnlineFast, MuOnlineSlow, MuOnlineMedium y que las cuentas se vayan registrando por separado en cada una.

Si vos armás un sistema de registro ingame, tendrías que tener alguna manera de elegir a cuál de esos servidores querés registrarte, por eso yo opté por hacer que el registro pase por el gameserver, para que vaya por el dataserver y así se registre en el servidor correspondiente.


Offline solar #28 Posteado: February 15, 2022, 06:02:41 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 49
  • Gracias recibida: 1570
  • vn
Otra cosa que quiero agregar.

Un sistema de este estilo hace falta que lo hagan a través del gameserver correspondiente, por lo que hay que enlazar el sistema al momento de clickear y elegir un server, en ese momento habilitar el botón de registro.

Por qué hago esta aclaración? Porque si tienen un servidor que usa múltiples gameservers y cada gameserver tiene una base de datos distinta, no podrían registrar las cuentas porque no sabrían a qué gameserver hacer el envío. Por eso hace falta que intervengan al momento de clickear y elegir un gameserver (puede ser a través del protocolo al momento de recibir la respuesta del gameserver).

normal mente se usaria un multi server peo en este caso usaria solo Me_MuOnline y esa le serviria a todo los server que tengas, pero quien usa una s6 como multiserver hoy en dia  ? xd

Eso que vos decís funciona en los servidores que tienen una única base de datos para cuentas y otra para personajes en cada servidor.

Lo que la mayoría hace es crear distintas bases de datos: MuOnlineFast, MuOnlineSlow, MuOnlineMedium y que las cuentas se vayan registrando por separado en cada una.

Si vos armás un sistema de registro ingame, tendrías que tener alguna manera de elegir a cuál de esos servidores querés registrarte, por eso yo opté por hacer que el registro pase por el gameserver, para que vaya por el dataserver y así se registre en el servidor correspondiente.


Lo probé y cambié la contraseña en el juego, todavía tiene muchos problemas, intentaré solucionarlo.

Gracias:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
1 Replies
1781 Views
Last post March 04, 2019, 05:33:43 PM
by lucasdahir
8 Replies
4743 Views
Last post October 21, 2021, 04:12:35 AM
by felipe2810
30 Replies
19939 Views
Last post November 21, 2023, 07:45:13 PM
by kskooper
0 Replies
1248 Views
Last post November 21, 2021, 04:56:30 AM
by cuong1372
84 Replies
17451 Views
Last post June 26, 2023, 01:59:42 AM
by OBBY