Plugins e integraciones listas para usar en Lin2Guard.
Panel de actividad de jugadores en tiempo real en el panel de la protección: HWID, cuentas, IP y país, con baneo y concesión de ventanas en un clic.
Se ha añadido el monitoreo de servidores al panel de la protección, disponible en los planes Premium+.
Total de registros, baneados, hora del último informe e indicador En línea/Desconectado — según la frescura de los datos de la protección.
En la config de la protección puedes activar el monitoreo, pegar el token y cambiar la frecuencia de envío de datos al panel.
Verificación de hash de los archivos del cliente: Lin2Guard bloquea el acceso con .exe, .dll o recursos modificados. La utilidad FileHasher arma la lista de archivos verificados en un minuto.
FileHasher es una utilidad independiente que escanea la carpeta del cliente, calcula las sumas de verificación de los archivos y genera files.xml. Guard reparte esta lista a los jugadores y comprueba los hashes en cada inicio de sesión: si un solo archivo protegido difiere del original, el cliente no se conecta al servidor.
La verificación de hash bloquea las modificaciones del cliente: un l2.exe reemplazado, .dll de terceros (inyectores, librerías de cheat), ediciones de interfaz y recursos (.u, .xdat), archivos .ini alterados. Aunque un bot se disfrace de archivo del sistema, la diferencia en la suma de verificación lo delata al instante.
En la ventana de FileHasher, indica la carpeta raíz del cliente y pulsa “START GAME SCAN”. Recorre todas las carpetas system*, calcula el MD5 de .exe, .dll, .bin, .u, .xdat, .ini y muestra una tabla “archivo — hash”. Usa las casillas para marcar qué archivos son obligatorios (los inestables como engine.dll / nwindow.dll se excluyen automáticamente). También puedes añadir archivos fuera de system manualmente.
Ejecuta FileHasher.exe y selecciona la carpeta raíz del cliente del juego.
Pulsa “START GAME SCAN” y espera a que termine el escaneo.
En la pestaña “Files/Hashes”, marca los archivos obligatorios; en la pestaña “Result” pulsa “Save as files.xml”.
Coloca files.xml en la configuración de la protección — Guard empezará a comprobar los hashes cuando los jugadores inicien sesión:
<FilesSettings>
<filestocheck>
<file value="system/l2.exe">
<hash value="A1-B2-C3-D4-E5-F6-07-18-29-3A-4B-5C-6D-7E-8F-90" />
</file>
<file value="system/engine.dll" ignore="1">
<hash value="11-22-33-44-55-66-77-88-99-AA-BB-CC-DD-EE-FF-00" />
</file>
</filestocheck>
</FilesSettings>
Los hashes se calculan con MD5 y se guardan en el lado del servidor. Tras actualizar el cliente, solo tienes que regenerar files.xml — actualizar la lista de archivos lleva un par de minutos.
Actualización automática integrada del archivo de protección l2.exe: cuando sale una nueva versión de la protección, el jugador descarga el l2.exe nuevo del servidor al entrar. No hace falta un launcher aparte.
Lite Launcher es un mecanismo integrado para actualizar el archivo de protección. Cuando sale una nueva versión de Lin2Guard, no necesitas repartir el l2.exe actualizado a los jugadores manualmente. Tras una verificación de HWID correcta, Guard envía al cliente los enlaces de litelauncher.xml, y el cliente descarga automáticamente el l2.exe actual del servidor con una barra de progreso. Los jugadores siempre entran con la última versión de la protección.
La configuración ocupa una sola línea — rellenar los enlaces en litelauncher.xml. El resto es automático: el jugador inicia el juego → Guard verifica el HWID → si tiene éxito envía al cliente la dirección de actualización → el cliente descarga el l2.exe de protección nuevo e inicia el juego ya en la nueva versión. Actualizas la protección una vez en el lado del servidor, y cada jugador la recibe por su cuenta en el siguiente inicio de sesión.
Sube el l2.exe de protección actual a tu hosting/nube y obtén un enlace directo de descarga.
Ponlo en downloadlink. Para mayor fiabilidad, añade un espejo en downloadlinktwo y un enlace de reserva en failupdatelink.
Guarda litelauncher.xml junto a la configuración de la protección y reinicia Guard:
<LiteLauncherSettings>
<downloadlink value="https://cdn.your-server.com/update/l2.exe" />
<downloadlinktwo value="https://mirror.your-server.com/update/l2.exe" />
<failupdatelink value="https://your-server.com/download" />
</LiteLauncherSettings>
downloadlink — enlace principal al l2.exe de protección actualizado. downloadlinktwo — espejo de reserva por si el principal no está disponible. failupdatelink — enlace que ve el jugador si la actualización automática falla (por ejemplo, una página de descarga manual).
La actualización se envía al cliente solo tras una verificación de HWID correcta. Si todos los enlaces están vacíos, Lite Launcher queda desactivado y el cliente arranca sin actualizar el l2.exe. Los clientes antiguos que no admiten actualización automática simplemente ignoran el comando — la compatibilidad no se rompe.
Permite a los jugadores pegar texto del portapapeles (Ctrl+V) en el chat del juego. Especialmente útil en las crónicas Interlude (IL) — se activa con una sola flag en la config.
En las crónicas Interlude (IL) pegar texto en el chat suele no estar disponible — el jugador tiene que escribir todo a mano. La flag enablectrlv devuelve el comportamiento habitual: el jugador puede pegar un enlace, un nick o un mensaje preparado con Ctrl+V. Se gestiona en el lado del servidor — puedes activarlo o desactivarlo en cualquier momento, sin recompilar ni redistribuir el cliente.
Abre el archivo de configuración de la protección config.xml.
Busca la línea enablectrlv y pon el valor en True (usa False para desactivar).
Guarda el archivo y reinicia Guard — la función se aplica en el próximo inicio de sesión de los jugadores:
<!-- Ctrl+V paste into the in-game chat -->
<enablectrlv value="True"/>
Especialmente relevante para builds Interlude. Por defecto la función está desactivada (False). Los clientes antiguos que no admiten este parámetro simplemente lo ignoran — la compatibilidad no se rompe.
Permite al jugador abrir una página en su navegador desde un enlace HTML dentro del juego — mediante un paquete especial. Especialmente útil en crónicas antiguas (IL+), donde no hay forma nativa de llevar a los jugadores a páginas web. Se activa con una sola flag en el servidor.
En las crónicas antiguas (Interlude y superiores, IL+) no hay una forma cómoda de abrir una página externa directamente desde el juego. BrowserBypass lo resuelve: permite al jugador abrir una página en su navegador desde el HTML — mediante un enlace en una ventana HTML dentro del juego (diálogos de NPC, community board, etc.). El servidor envía al cliente un paquete especial con el enlace, y este se abre en el navegador. Así puedes llevar a los jugadores a una página de donación, abrir el anuncio de un evento, una promoción o las notas del parche — sin enlaces externos en el chat. La función se activa en el lado del servidor con una sola flag en config.xml.
Abre el archivo de configuración de la protección config.xml en el servidor.
Busca la línea browserbypass y pon el valor en True (usa False para desactivar).
Guarda el archivo y reinicia Guard — la función empieza a funcionar en el próximo inicio de sesión de los jugadores:
<!-- Permitir abrir el navegador del jugador desde un enlace HTML -->
<browserbypass value="True" />
Para abrir el navegador, el servidor envía al cliente un paquete con el opcode 0xFF (255):
1 byte — 0xFF (opcode)
1 byte — 0x03 (subtipo: abrir navegador)
Unicode string — enlace (URL a abrir)
Especialmente relevante para crónicas antiguas IL+. Por defecto la función está desactivada (False). Se abre el navegador del sistema por defecto del jugador. Los clientes antiguos que no admiten este parámetro simplemente ignoran el paquete — la compatibilidad no se rompe.
Los jugadores guardan una cuenta una vez y entran al juego sin escribir login y contraseña en cada inicio.
Este plugin añade una lista de cuentas guardadas a la ventana de login. El jugador elige la cuenta y entra al juego en pocos clics.
La ventana de login recibe una lista separada de cuentas guardadas. El jugador puede elegir una cuenta existente, entrar rápido o añadir una nueva.
Abre el archivo de configuración de la protección config.xml:
<saveaccounts value="True" accountsversion="1" />
En el primer uso, deja accountsversion="1". Si después de un wipe o cambio de datos las cuentas guardadas antiguas deben dejar de funcionar, aumenta este valor en 1.
La integración con Discord ayuda a atraer nuevos jugadores: los amigos ven que juegas en tu servidor. Al iniciar el juego, el estado de Discord muestra el nombre de tu servidor, la imagen, la descripción y el tiempo de juego.
La integración con Discord ayuda a atraer nuevos jugadores: los amigos ven que juegas en tu servidor. Al iniciar el juego, el estado de Discord muestra el nombre de tu servidor, la imagen, la descripción y el tiempo de juego.
Inicia sesión en Discord en la web o crea una cuenta. Abre el Developer Portal y haz clic en «New Application».
Asigna un nombre a tu proyecto.
Completa la información general, sube un icono y pulsa «Save Changes». Copia y guarda el APPLICATION ID (ejemplo: 1000344216532160543).
En el menú izquierdo abre Rich Presence → Art Assets, sube una imagen y anota el ASSET ID (ejemplo: lineage_2_logo). Espera ~10 minutos a que Discord guarde la imagen.
Abre la configuración de protección config.xml — contiene un bloque de Discord. Indica tus valores:
<!-- Discord integration -->
<discord enabled="True" appid="1000344216532160543" biglogo="lineage_2_logo"
details="Playing Lineage 2" state="In Game"
biglogotext="" />
enabled="True" activa la integración; appid — tu APPLICATION ID; biglogo — tu ASSET ID. Reinicia el servidor lin2guard para aplicar los cambios.
El archivo config.xml tiene una codificación incorrecta — debe ser UTF-8. Vuelve a guardarlo como UTF-8 (por ejemplo, con Notepad++).
El uso compartido de actividad está desactivado en tu Discord. Abre Ajustes de usuario (engranaje) → Ajustes de actividad → Privacidad de actividad y actívalo todo.
Dibuja texto y FPS dentro de la ventana del juego.
Muestra el texto que definas. Opcionalmente puedes cambiar el color del texto, el tamaño del texto y la posición, y activar o desactivar el texto o los FPS.
Elige los módulos que necesitas ahora y añade el resto cuando tu servidor crezca.