También puedes hacer que el usuario logeado en la web elija un character y pueda escribir desde la web al servidorLo pense pero ya seria un poco mas complejo eso y me dio fiaca intentarlo Question2
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la información que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Está buena la idea, la implementé hace unos años atrás y lo ideal es utilizarla sólo para mensajes importantes del servidor porque si el juego es muy concurrido, ese chat se explota enseguida de mensajes y es prácticamente ilegible, como los streams de streamers muy famosos.Mi idea solo era que cuando alguien nuevo entre a la web vea que dentro del juego estan activos y se animen a entrar... lo unico que muestro son chat normales, los chat globales y la venta de items...
A lo sumo dejaría por un lado un chat sólo para los posts y otro para los mensajes del servidor, mensajes de eventos, mensajes globales de administradores y mensajes genéricos como wars o duelos mostrando el inicio, el durante y el fin del duelo o war.
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???De momento si lo tengo con archivos logs csv ya que el formato txt confunde cosas.
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Lol hace dias estaba pensando algo asi xD Pero no sabia por donde empezar.Si yo pude hacerlo lo puede hacer cualquiera cheesyy2
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Esto no necesariamente tiene que ser así.
Por ejemplo la vez que lo hice yo fue poniendo un php a la escucha y generando una base de datos en tiempo real en la misma web.
Desde el gameserver yo podía disparar consultas HTTP de forma asíncrona por lo que armé un pequeño código en el que yo le pasaba una serie de datos y una url destino (por ejemplo "http://kayitoelmasmejor.com/servidor/posts.php") y simplemente armaba una solicitud HTTP de tipo POST, donde el cuerpo eran esos datos en formato JSON.
Entonces desde el gameserver al momento de procesar cuando un personaje escribía "/post hola", había una función que era por ejemplo "DataSendToAll" o una pavada así que enviaba el paquete de chat a todos los conectados con el texto "hola" en formato post, justo a continuación de esa función llamaba a la función encargada de enviarle la solicitud HTTP a la web.
De esa manera, enviaba a todos los usuarios el post y también a la web.
Y la web simplemente recibía la solicitud, la guardaba localmente en un array de strings y podía dibujarlo en un simple módulo que hacía uso de ese array de strings mostrándolo en la web. Entonces se actualizaba siempre en tiempo real y podía limitarlo a que mostrara no sé... los últimos 20 posts.
De la misma manera se puede hacer con todos los tipos de mensajes que dispara el gameserver. Simplemente hay que hacer un código en c++ que dispare requests HTTP en formato POST y con un cuerpo específico en formato JSON y desde una url ustedes reciben eso, lo parsean y lo muestran.
Con ChatGPT lo hacen de taquito :P
Otra alternativa podría ser armar otro mini ejecutable (como el JoinServer por ejemplo) que reciba los paquetes del GameServer y se encargue por sus propios medios de enviarlos a la web (para no sobrecargar al GameServer). Yo lo llamaría WebServer jaja
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Esto no necesariamente tiene que ser así.
Por ejemplo la vez que lo hice yo fue poniendo un php a la escucha y generando una base de datos en tiempo real en la misma web.
Desde el gameserver yo podía disparar consultas HTTP de forma asíncrona por lo que armé un pequeño código en el que yo le pasaba una serie de datos y una url destino (por ejemplo "http://kayitoelmasmejor.com/servidor/posts.php") y simplemente armaba una solicitud HTTP de tipo POST, donde el cuerpo eran esos datos en formato JSON.
Entonces desde el gameserver al momento de procesar cuando un personaje escribía "/post hola", había una función que era por ejemplo "DataSendToAll" o una pavada así que enviaba el paquete de chat a todos los conectados con el texto "hola" en formato post, justo a continuación de esa función llamaba a la función encargada de enviarle la solicitud HTTP a la web.
De esa manera, enviaba a todos los usuarios el post y también a la web.
Y la web simplemente recibía la solicitud, la guardaba localmente en un array de strings y podía dibujarlo en un simple módulo que hacía uso de ese array de strings mostrándolo en la web. Entonces se actualizaba siempre en tiempo real y podía limitarlo a que mostrara no sé... los últimos 20 posts.
De la misma manera se puede hacer con todos los tipos de mensajes que dispara el gameserver. Simplemente hay que hacer un código en c++ que dispare requests HTTP en formato POST y con un cuerpo específico en formato JSON y desde una url ustedes reciben eso, lo parsean y lo muestran.
Con ChatGPT lo hacen de taquito :P
Otra alternativa podría ser armar otro mini ejecutable (como el JoinServer por ejemplo) que reciba los paquetes del GameServer y se encargue por sus propios medios de enviarlos a la web (para no sobrecargar al GameServer). Yo lo llamaría WebServer jaja
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Esto no necesariamente tiene que ser así.
Por ejemplo la vez que lo hice yo fue poniendo un php a la escucha y generando una base de datos en tiempo real en la misma web.
Desde el gameserver yo podía disparar consultas HTTP de forma asíncrona por lo que armé un pequeño código en el que yo le pasaba una serie de datos y una url destino (por ejemplo "http://kayitoelmasmejor.com/servidor/posts.php") y simplemente armaba una solicitud HTTP de tipo POST, donde el cuerpo eran esos datos en formato JSON.
Entonces desde el gameserver al momento de procesar cuando un personaje escribía "/post hola", había una función que era por ejemplo "DataSendToAll" o una pavada así que enviaba el paquete de chat a todos los conectados con el texto "hola" en formato post, justo a continuación de esa función llamaba a la función encargada de enviarle la solicitud HTTP a la web.
De esa manera, enviaba a todos los usuarios el post y también a la web.
Y la web simplemente recibía la solicitud, la guardaba localmente en un array de strings y podía dibujarlo en un simple módulo que hacía uso de ese array de strings mostrándolo en la web. Entonces se actualizaba siempre en tiempo real y podía limitarlo a que mostrara no sé... los últimos 20 posts.
De la misma manera se puede hacer con todos los tipos de mensajes que dispara el gameserver. Simplemente hay que hacer un código en c++ que dispare requests HTTP en formato POST y con un cuerpo específico en formato JSON y desde una url ustedes reciben eso, lo parsean y lo muestran.
Con ChatGPT lo hacen de taquito :P
Otra alternativa podría ser armar otro mini ejecutable (como el JoinServer por ejemplo) que reciba los paquetes del GameServer y se encargue por sus propios medios de enviarlos a la web (para no sobrecargar al GameServer). Yo lo llamaría WebServer jaja
Otra opción a parte de la que estan dando, es crear una api.
Puedes usar un framework como codeigniter para que te facilite la vida, ahí desarrollas tu api que lea los archivos que genere el gs y que permita enviar esa información por la url (no es información delicada y tampoco es que van a poder hacer put ni nada ya que solo es lectura de info).
Ejemplo:
Yo lo hice con las noticias de la webengine, a través de la api mandando una solicitud por la url ($_GET) puedes obtener las noticias que hay disponible en mi web
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Esto no necesariamente tiene que ser así.
Por ejemplo la vez que lo hice yo fue poniendo un php a la escucha y generando una base de datos en tiempo real en la misma web.
Desde el gameserver yo podía disparar consultas HTTP de forma asíncrona por lo que armé un pequeño código en el que yo le pasaba una serie de datos y una url destino (por ejemplo "http://kayitoelmasmejor.com/servidor/posts.php") y simplemente armaba una solicitud HTTP de tipo POST, donde el cuerpo eran esos datos en formato JSON.
Entonces desde el gameserver al momento de procesar cuando un personaje escribía "/post hola", había una función que era por ejemplo "DataSendToAll" o una pavada así que enviaba el paquete de chat a todos los conectados con el texto "hola" en formato post, justo a continuación de esa función llamaba a la función encargada de enviarle la solicitud HTTP a la web.
De esa manera, enviaba a todos los usuarios el post y también a la web.
Y la web simplemente recibía la solicitud, la guardaba localmente en un array de strings y podía dibujarlo en un simple módulo que hacía uso de ese array de strings mostrándolo en la web. Entonces se actualizaba siempre en tiempo real y podía limitarlo a que mostrara no sé... los últimos 20 posts.
De la misma manera se puede hacer con todos los tipos de mensajes que dispara el gameserver. Simplemente hay que hacer un código en c++ que dispare requests HTTP en formato POST y con un cuerpo específico en formato JSON y desde una url ustedes reciben eso, lo parsean y lo muestran.
Con ChatGPT lo hacen de taquito :P
Otra alternativa podría ser armar otro mini ejecutable (como el JoinServer por ejemplo) que reciba los paquetes del GameServer y se encargue por sus propios medios de enviarlos a la web (para no sobrecargar al GameServer). Yo lo llamaría WebServer jaja
Otra opción a parte de la que estan dando, es crear una api.
Puedes usar un framework como codeigniter para que te facilite la vida, ahí desarrollas tu api que lea los archivos que genere el gs y que permita enviar esa información por la url (no es información delicada y tampoco es que van a poder hacer put ni nada ya que solo es lectura de info).
Ejemplo:
Yo lo hice con las noticias de la webengine, a través de la api mandando una solicitud por la url ($_GET) puedes obtener las noticias que hay disponible en mi web
Yo no estoy muy de acuerdo con leer los archivos de logs todo el tiempo. Soy más de eficientizar las lecturas y leer desde disco es la peor decisión y ni hablar si lo tiene que hacer constantemente. Por eso mi propuesta tiene que ver con que el gameserver o un ejecutable soporte sea el encargado de enviarle la información directamente por http (claramente protegiendo la comunicación con algún sistema de token tipo JWT) a una web que esté simplemente a la escucha de solicitudes por url (una API Rest funciona perfectamente) y que lo que reciba, lo almacene en estructuras propias.
Luego al momento de renderizar desde la web, simplemente se leen esas estructuras y se muestra la información. Es mucho más eficiente que andar leyendo permanentemente desde el disco los archivos de log.
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???
Esto no necesariamente tiene que ser así.
Por ejemplo la vez que lo hice yo fue poniendo un php a la escucha y generando una base de datos en tiempo real en la misma web.
Desde el gameserver yo podía disparar consultas HTTP de forma asíncrona por lo que armé un pequeño código en el que yo le pasaba una serie de datos y una url destino (por ejemplo "http://kayitoelmasmejor.com/servidor/posts.php") y simplemente armaba una solicitud HTTP de tipo POST, donde el cuerpo eran esos datos en formato JSON.
Entonces desde el gameserver al momento de procesar cuando un personaje escribía "/post hola", había una función que era por ejemplo "DataSendToAll" o una pavada así que enviaba el paquete de chat a todos los conectados con el texto "hola" en formato post, justo a continuación de esa función llamaba a la función encargada de enviarle la solicitud HTTP a la web.
De esa manera, enviaba a todos los usuarios el post y también a la web.
Y la web simplemente recibía la solicitud, la guardaba localmente en un array de strings y podía dibujarlo en un simple módulo que hacía uso de ese array de strings mostrándolo en la web. Entonces se actualizaba siempre en tiempo real y podía limitarlo a que mostrara no sé... los últimos 20 posts.
De la misma manera se puede hacer con todos los tipos de mensajes que dispara el gameserver. Simplemente hay que hacer un código en c++ que dispare requests HTTP en formato POST y con un cuerpo específico en formato JSON y desde una url ustedes reciben eso, lo parsean y lo muestran.
Con ChatGPT lo hacen de taquito :P
Otra alternativa podría ser armar otro mini ejecutable (como el JoinServer por ejemplo) que reciba los paquetes del GameServer y se encargue por sus propios medios de enviarlos a la web (para no sobrecargar al GameServer). Yo lo llamaría WebServer jaja
Otra opción a parte de la que estan dando, es crear una api.
Puedes usar un framework como codeigniter para que te facilite la vida, ahí desarrollas tu api que lea los archivos que genere el gs y que permita enviar esa información por la url (no es información delicada y tampoco es que van a poder hacer put ni nada ya que solo es lectura de info).
Ejemplo:
Yo lo hice con las noticias de la webengine, a través de la api mandando una solicitud por la url ($_GET) puedes obtener las noticias que hay disponible en mi web
Yo no estoy muy de acuerdo con leer los archivos de logs todo el tiempo. Soy más de eficientizar las lecturas y leer desde disco es la peor decisión y ni hablar si lo tiene que hacer constantemente. Por eso mi propuesta tiene que ver con que el gameserver o un ejecutable soporte sea el encargado de enviarle la información directamente por http (claramente protegiendo la comunicación con algún sistema de token tipo JWT) a una web que esté simplemente a la escucha de solicitudes por url (una API Rest funciona perfectamente) y que lo que reciba, lo almacene en estructuras propias.
Luego al momento de renderizar desde la web, simplemente se leen esas estructuras y se muestra la información. Es mucho más eficiente que andar leyendo permanentemente desde el disco los archivos de log.
Bueno en este caso como es un chat, debería ser lo más preciso posible y si es un server con full usuarios ps si va a joder que tengas que estar leyendo cada milisegundo el log.txt, así que sí sería mala idea, aunque si te da igual la vida también es una opción.
Ahora ¿Entonces como se haría si no se tiene el código fuente del GS? Porque desde ahí sale la info del chat del juego y para evitar leer esos txt entonces se debería sacar directo del GS esa info.
Cómo idea es buena, nose si quisiera estar en el server leyendo las boludeces que se dicen entre usuarios, y después re leer lo mismo desde una web.Se pone un boton para ocultar chat en la web y listo cool22
No estoy leyendo desde los logs txt (o en mi caso csv), lo hago desde la DB. Modifique el source para que almacene todo en una tabla y se sobre escriban los últimos 50 msj para que no crezca tanto:
(https://i.ibb.co/0pVtP0xw/Imagen-de-Whats-App-2025-03-21-a-las-13-10-33-bf1c7194.jpg) (https://imgbb.com/)
Y de ahi saco los datos para la web comiendo
Descartamos extraer los datos de un CSV o de la DB entonces evilx2No estoy leyendo desde los logs txt (o en mi caso csv), lo hago desde la DB. Modifique el source para que almacene todo en una tabla y se sobre escriban los últimos 50 msj para que no crezca tanto:
(https://i.ibb.co/0pVtP0xw/Imagen-de-Whats-App-2025-03-21-a-las-13-10-33-bf1c7194.jpg) (https://imgbb.com/)
Y de ahi saco los datos para la web comiendo
Imaginate un servidor con mil usuarios hablando todo el tiempo, son mil consultas consecutivas a la base de datos metiendo un insert y un chequeo para pisar el top 50.
Y si tenés multiservidor, imaginate 5 servidores con mil usuarios cada uno y que todos registren a la misma db...
Esa clase de consumo tiene un costo en rendimiento que quizá no estás considerando.
Otra cosa también es desde la web cada cuánto releés esa tabla para mostrarla? a las escrituras del servidor, sumale las lecturas de la web...
Yo hice todo un análisis previo antes de implementarlo y la forma más eficiente que encontré fue la que comenté de una api y que el gameserver u otro ejecutable soporte envíe la info como si la api fuese un usuario más que necesite recibir el paquete de una forma particular.
Sino pregunten al chatgpt cuál es la mejor forma de hacerlo y comparen las propuestas
Cuando el foro era popular en en los años 1600 el foro era del dominio blogspot.com no recuerdo como se llamaba aquel entoncesEso hice... Pero no me gusto el formato txt asi que lo pase a csv.... Ahora lo hago mediante la DB pero dicen que ambos metodos son perdida de rendimiento asi que... cryy2
alguien subio este sistema estoy hablando del año 2005, no recuerdo si fue Antiferna el que hiso el aporte solo funcionaba en los files Titans Tech
funcionaba de esta manera
el GS escribia todo el chat en un txt
y el codigo php publicaba todo lo que la gente escribia en el juego a tiempo real,
ya que el php cargaba las conversaciones del dicho txt que generaba el GS
yo creo tener un CD del 2002 al 2003 que tiene ese codigo.. revisare mis baules aver si estan
asi era la manera que se publicaba las conversaciones a tiempo real desde un php/txt
si lo consigo lo aporto
Cuando el foro era popular en en los años 1600 el foro era del dominio blogspot.com no recuerdo como se llamaba aquel entoncesEso hice... Pero no me gusto el formato txt asi que lo pase a csv.... Ahora lo hago mediante la DB pero dicen que ambos metodos son perdida de rendimiento asi que... cryy2
alguien subio este sistema estoy hablando del año 2005, no recuerdo si fue Antiferna el que hiso el aporte solo funcionaba en los files Titans Tech
funcionaba de esta manera
el GS escribia todo el chat en un txt
y el codigo php publicaba todo lo que la gente escribia en el juego a tiempo real,
ya que el php cargaba las conversaciones del dicho txt que generaba el GS
yo creo tener un CD del 2002 al 2003 que tiene ese codigo.. revisare mis baules aver si estan
asi era la manera que se publicaba las conversaciones a tiempo real desde un php/txt
si lo consigo lo aporto
Y lo dejamos en 50/50 o 60/40? Repito, cómo idea es buena. Nose si para una web, pero si modo administración. Ejemplo, un user llamado X denuncia a otro usuario llamado Y. Ya se por spam, o cualquier otro dicho con mal intencion. Tonces podemos tener la certeza de que así ah sidoTengo los txt de logs igual para eso...
Y lo dejamos en 50/50 o 60/40? Repito, cómo idea es buena. Nose si para una web, pero si modo administración. Ejemplo, un user llamado X denuncia a otro usuario llamado Y. Ya se por spam, o cualquier otro dicho con mal intencion. Tonces podemos tener la certeza de que así ah sidoTengo los txt de logs igual para eso...
Su botonsito tipo toggle cheesyy2:
(https://i.ibb.co/R4dZKH50/Sin-t-tulo.png) (https://ibb.co/XkMNPJws)
Claro me diste la perspectiva de un user xDY lo dejamos en 50/50 o 60/40? Repito, cómo idea es buena. Nose si para una web, pero si modo administración. Ejemplo, un user llamado X denuncia a otro usuario llamado Y. Ya se por spam, o cualquier otro dicho con mal intencion. Tonces podemos tener la certeza de que así ah sidoTengo los txt de logs igual para eso...
Su botonsito tipo toggle cheesyy2:
(https://i.ibb.co/R4dZKH50/Sin-t-tulo.png) (https://ibb.co/XkMNPJws)
Todo xq yo lo dije. Jajaja, bueno..aumento a 70/30 de usarlo. Jaja
Excelente , yo lo tengo programado desde hace un rato como un modulo externo con otros sistemasCuando vi tu imagen me re gustaron esos registros así que los cree y los puse en mi web pero en forma de botones y para que se vaya actualizando en tiempo real, la ventana se despliega al apretar el botón y se cierra al hacer clic fuera de la misma:
(https://i.ibb.co/gLqLHLyt/parecido.png)
tengo una duda, esto solo funciona si la web esta instalada de forma local?? ya que asumo que esta sacando la informacion que bota el GS en sus logs solo lo estas mostrando en la web pero si esta en hosting no funcionaria???Al final termine haciendo una consolita que une los 4 sistemitas que hice para la web:
-Recibe datos de los sistemas chat, kill, golden, duelos desde el GS via sockets. El GS solo envia datos ya no inserta nada en la DB.Citar
-Genera log de los sistemas en CSV.
-Cada sistema cuenta con:
--Tab para ver registros en tiempo real.
--Botones con funciones:
---Crear Db (si no la tienes)
---Limpiar consola
---Limpiar tabla
---Limpiar Log CSV
-Sistema Buscar: busca en las 4 db al pj que pongas y te muestra toda su actividad en esos sistemas.
--Botones:
---Exportar CSV: te exporta un archivo con el nombre del pj para que lo guardes.
---Limpiar consola.
-Sistema infractores: genera logs con nombre de los Pjs. Dentro de los logs muestra cuantas veces insulto y que fue lo que insulto. Tambien muestra cuantas veces hizo spam sin parar.
--Botones:
---Limpiar consola.
---Agregar palabras: agrega palabras en un txt y esas seran las palabras que contara al detectarlas como insulto.
-Funcionamiento en segundo plano, solo sale al apretar boton Salir
-Monitoreo con estadisticas y estado de conexion.
-Varias variables controladas desde .ini.
-Boton Reload para el .ini y txt.
-Cada sistema tiene un hilo dedicado que procesa su cola.
-Los datos se almacenan en memoria primero y luego se insertan en lote.
-Si SQL falla, el sistema genera un CSV como respaldo automáticamente.
-No hay creación masiva de hilos: solo se usan los necesarios.