TUServerMU

MuOnline => Archivos desarrollo => Tema comenzado por: SaintZeus on March 19, 2025, 01:40:36 PM

Titulo: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 19, 2025, 01:40:36 PM
Que es esto? nada que el chat INGAME se vea en tiempo real en tu web  comiendo

Detecta de que GS viene el chat (si tienes subservers)
Diferencia la cuenta del PJ (ósea muestra el PJ y no la cuenta)
No muestra los Chat Guild(son privados)
No muestra los Chat Gens(son privados)
No muestra los Chat Party(son privados)
Solo muestra los ultimos 10 mensaje (el ultimo arriba y asi...)
Se actualiza en tiempo real al juego (sin tener que recargar la web)
Muestra GMs y/o Admins con otro color (ambos distinto color)
Mensajes /post con su propio estilo
Mensajes /postitem con su estilo dorado
Filtro por tipo de mensaje
Tooltip completo (con estilo y deteccion de razas) de postitem
No almacena mensajes del tipo comando ej /make 0 1
Una consola externa hace todo
Soporta sistema Emojis
Bueno es una boludes ....

(https://i.ibb.co/RpVdfytF/Imagen-de-Whats-App-2025-03-19-a-las-14-37-18-8076d629.jpg) (https://ibb.co/5WfwmFC0)
(https://i.ibb.co/pvG07z5J/Imagen-de-Whats-App-2025-03-21-a-las-13-10-33-bf1c7194.jpg) (https://ibb.co/PZ3mLh0w)
ono total (https://imgbb.com/)
(https://i.ibb.co/W4G3MGRP/Sin-t-tulo.png) (https://ibb.co/LXYPcYsJ)
(https://i.ibb.co/kfxNV4c/Imagen-de-Whats-App-2025-03-22-a-las-19-49-16-ce70903b.jpg) (https://ibb.co/QRfy7Pm)
(https://i.ibb.co/j942g3PY/Sin-t-tulo.png) (https://ibb.co/sp3Gysd4)
(https://i.ibb.co/RZNcvyT/ANCIENT.png) (https://ibb.co/5tkLMFh)
(https://i.ibb.co/4ZGLzrQz/EXELENT.png) (https://ibb.co/zhYgpvkp)
(https://i.ibb.co/b54J1LS1/SOCKET.png) (https://ibb.co/Xxn8XphX)
(https://i.ibb.co/dJbNSWDL/1.jpg) (https://ibb.co/h1XGk7VZ)
(https://i.ibb.co/1tKtdddb/2.jpg) (https://ibb.co/q393WWWx)
(https://i.ibb.co/fYQczkLQ/3.jpg) (https://ibb.co/nsRWN7tR)
(https://i.ibb.co/JRN2Hk4X/4.jpg) (https://ibb.co/PZR4gCnB)
(https://i.ibb.co/TMvGmmHD/5.jpg) (https://ibb.co/d4WvGGQs)
(https://i.ibb.co/ccQBVry2/Sin-t-tulo.png) (https://ibb.co/tMDGFJHY)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 11:19:49 AM
Ya distingue con colores a los GMs, Admins y user normales. bad
Remarca los /post con otro estilo  Musicx2

(https://i.ibb.co/XxqkWBf0/IMG-20250320-WA0005.jpg) (https://ibb.co/nMF8w2qd)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: xXSiniestroXx on March 20, 2025, 11:22:55 AM
También puedes hacer que el usuario logeado en la web elija un character y pueda escribir desde la web al servidor
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 11:25:44 AM
También puedes hacer que el usuario logeado en la web elija un character y pueda escribir desde la web al servidor
Lo pense pero ya seria un poco mas complejo eso y me dio fiaca intentarlo  Question2
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 01:24:22 PM
Ya distingue los postitem con su estilo  kisss2:

(https://i.ibb.co/k221z2wk/Imagen-de-Whats-App-2025-03-20-a-las-14-22-19-f7f79c3d.jpg) (https://imgbb.com/)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: Cartman on March 20, 2025, 02:51:45 PM
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???
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: lunaticodeveloper on March 20, 2025, 03:18:03 PM
Excelente , yo lo tengo programado desde hace un rato como un modulo externo con otros sistemas

(https://i.ibb.co/gLqLHLyt/parecido.png)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: Odisk on March 20, 2025, 05:23:44 PM
Lol hace dias estaba pensando algo asi xD Pero no sabia por donde empezar.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: kayito on March 20, 2025, 05:31:50 PM
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.
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.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: xXSiniestroXx on March 20, 2025, 05:49:57 PM
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???

Claro si es de manera local, basta con leer los logs.txt que se generan del GS, pero si la web esta en hosting el GS debe conectarse y enviar esa información para que sea guardada en un archivo (txt,xml,etc) y de ahí hacer la interpretación de la info.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 05:59:38 PM
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.
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.
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...
Fijate si el chat de megamu es legible jeje  blush
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 06:01:53 PM
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.
Me diste una idea, intentare que se guarde en una tabla en MuOnline aunque hay que preparar el source del gs y dataserver   evilx2
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: kayito on March 20, 2025, 07:23:43 PM
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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 20, 2025, 07:47:24 PM
Lol hace dias estaba pensando algo asi xD Pero no sabia por donde empezar.
Si yo pude hacerlo lo puede hacer cualquiera  cheesyy2
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: lunaticodeveloper on March 20, 2025, 08:01:04 PM
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

Si es bastante sencillo , yo lo hice en C# para que simplemente de forma local haga la lectura y lo vaya actualizando en la db cada x tiempo no consume mas que kbs.

Despues tmbien lo hice exponiendolo al host con un webservice en c# pero fue mas facil y practico de la otra forma.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: xXSiniestroXx on March 21, 2025, 10:10:51 AM
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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: kayito on March 21, 2025, 10:50:23 AM
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.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: xXSiniestroXx on March 21, 2025, 11:56:14 AM
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.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: kayito on March 21, 2025, 12:11:25 PM
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.

Si no disponés del código fuente, en ese caso sí estás totalmente limitado a lo que se tire en logs. Aunque hoy día la mayoría usa base muemu, de la cual casi todos disponen de la fuente, y a lo sumo se pueden integrar scrips en LUA para cumplir esa función.
Pero bueno, en caso extremo que no se disponga ni el source ni sistema de scripting, no queda otra que limitarse a los logs de los txt, lo cual también es muy acotado ya que dependés 100% de lo que haya decidido el desarrollador meter en el log. Por ejemplo logs de eventos, logs de duelos, logs de wars, si el desarrollador no los consideró necesarios para loguear, no vas a poder hacer nada al respecto jaja
pero si es posible evitar la lectura de los logs, se evita porque en cada refresco de la página, hay que releer el log y en términos de rendimiento y eficiencia no se recomienda para nada.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 21, 2025, 01:09:06 PM
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 10 msj para que no crezca tanto:

(https://i.ibb.co/fYzBrprW/IMG-20250321-WA0009-1.jpg) (https://ibb.co/4Zn94T4L)

Y de ahi saco los datos para la web  comiendo
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: nelson on March 21, 2025, 02:33:48 PM
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.
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 21, 2025, 03:06:25 PM
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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: kayito on March 21, 2025, 06:18:41 PM
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

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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 21, 2025, 06:40:46 PM
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

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
Descartamos extraer los datos de un CSV o de la DB entonces  evilx2
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: dakosmu on March 21, 2025, 07:25:52 PM
Cuando el foro era popular en en los años 1600 el foro era del dominio blogspot.com no recuerdo como se llamaba aquel entonces
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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 21, 2025, 08:11:49 PM
Cuando el foro era popular en en los años 1600 el foro era del dominio blogspot.com no recuerdo como se llamaba aquel entonces
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
Eso 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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: dakosmu on March 21, 2025, 09:08:16 PM
Cuando el foro era popular en en los años 1600 el foro era del dominio blogspot.com no recuerdo como se llamaba aquel entonces
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
Eso 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

no creo q afecte mucho el rendimiento

antes si afectaba algo por que los discos eran mas lentos. hoy en dia los VPS tienen discos muy rapidos y el internet es rapido tambien

igual intenta.. y publica. y asi hacemos el test,,

felicidades a tus proyectos
  aplausos aplausos aplausos aplausos aplausos

Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: nelson on March 22, 2025, 12:16:10 AM
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 sido
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 22, 2025, 08:07:03 AM
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 sido
Tengo 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)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: nelson on March 22, 2025, 08:14:10 AM
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 sido
Tengo 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
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on March 22, 2025, 08:16:57 AM
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 sido
Tengo 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
Claro me diste la perspectiva de un user xD
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on April 02, 2025, 05:17:55 PM
Excelente , yo lo tengo programado desde hace un rato como un modulo externo con otros sistemas

(https://i.ibb.co/gLqLHLyt/parecido.png)
Cuando 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/C5P29Jg5/Sin-t-tulo.png) (https://imgbb.com/)(https://i.ibb.co/Vc2DWD4d/Sin-t-tulo2.png) (https://imgbb.com/)
(https://i.ibb.co/GfVxd9MM/Sin-t-tulo3.png) (https://imgbb.com/)(https://i.ibb.co/0R0k6h7B/Sin-t-tulo4.png) (https://imgbb.com/)

A y tambien con el chat pero del margen derecho:
(https://i.ibb.co/zH0VmYC5/Sin-t-tulo5.png) (https://imgbb.com/)(https://i.ibb.co/LXL2ysch/Sin-t-tulo6.png) (https://ibb.co/C3kTySYs)

(https://i.ibb.co/MkkPwbm5/Sin-t-tulo7.png) (https://ibb.co/d44kCSRJ)

De paso le meti un ranking top 1 por tipo de golden y cuantas veces lo mato:
(https://i.ibb.co/6cCwxgw7/Sin-t-tuwlo.png) (https://ibb.co/WNJ5wg54)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on April 09, 2025, 11:21:27 PM
*Agregado filtros de tipo de mensajes.
*Pequeño ToolTip en los postitem.
*No se ven los comandos cuando los escriben en chat.

(https://i.ibb.co/RZNcvyT/ANCIENT.png) (https://ibb.co/5tkLMFh)
(https://i.ibb.co/4ZGLzrQz/EXELENT.png) (https://ibb.co/zhYgpvkp)
(https://i.ibb.co/b54J1LS1/SOCKET.png) (https://ibb.co/Xxn8XphX)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: lunaticodeveloper on April 10, 2025, 10:51:29 AM
Excelente trabajito bro... exitos!
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on April 17, 2025, 11:38:02 AM
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:
 evilx2
Caracteristicas:

Citar
-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.
-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.

(https://i.ibb.co/dJbNSWDL/1.jpg) (https://ibb.co/h1XGk7VZ)
(https://i.ibb.co/1tKtdddb/2.jpg) (https://ibb.co/q393WWWx)
(https://i.ibb.co/fYQczkLQ/3.jpg) (https://ibb.co/nsRWN7tR)
(https://i.ibb.co/JRN2Hk4X/4.jpg) (https://ibb.co/PZR4gCnB)
(https://i.ibb.co/TMvGmmHD/5.jpg) (https://ibb.co/d4WvGGQs)

La consola es una poronga lo se  cryy2 pero es util, tengo control con Logs de los que insultan y hacen spam en el server y asi puedo banearlos  cheesyy2
(https://i.ibb.co/KctxkKzH/Sin-t-tulo.png) (https://ibb.co/Ps2GnDz8)
Titulo: Re: Mostrar CHAT INGAME en Web
Posteado por: SaintZeus on April 28, 2025, 04:23:48 PM
EMOJIS  woot

(https://i.ibb.co/ccQBVry2/Sin-t-tulo.png) (https://ibb.co/tMDGFJHY)