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