Guía L2JServer: compila, configura y ejecuta un servidor de Lineage 2

Esta guía de l2jserver acompaña a los dueños de servidores en la compilación, configuración y lanzamiento de un servidor de Lineage 2 completo desde el código fuente. L2J Server es un emulador gratuito y de código abierto escrito en Java y publicado bajo GPLv3, y sigue siendo uno de los proyectos más antiguos y más bifurcados del panorama de servidores privados. El stack se divide en un login server y un game server, y el lado del juego se divide a su vez en el core y el datapack. Este artículo cubre los requisitos previos, la compilación con Maven, la base de datos, la configuración, el registro del servidor, los puertos y la primera conexión del cliente, para que pases de una máquina limpia a un mundo en funcionamiento.
Qué es L2J Server y cuándo usarlo
L2J Server es un emulador de servidor de Lineage 2 gratuito y de código abierto, escrito íntegramente en Java y publicado bajo la GPLv3. Es uno de los proyectos L2J más antiguos y se ha bifurcado muchas veces a lo largo de los años. La documentación oficial está en la documentación de L2J Server, y es el primer sitio que conviene consultar cuando un paso de esta guía no coincide con tu entorno.
El proyecto es más un ecosistema que un único binario. Se descompone en tres partes:
- Login Server — autentica las cuentas y dirige el cliente al game server.
- Core del Game Server — el repositorio del core l2j_server, el motor en sí.
- Datapack — el repositorio l2j-server-datapack, que contiene scripts, spawns, quests y datos estáticos.
Sobre la elección: L2J Server es la línea clásica. En la práctica, los dueños que montan Interlude suelen tirar de aCis, mientras que los mundos de High Five a menudo eligen L2J Server o L2JMobius. Mobius cubre muchas crónicas y está muy activo; aCis se centra en Interlude. Elige L2J Server cuando quieras el stack Java clásico y bien documentado sobre High Five.

Requisitos previos antes de compilar
Prepara esto primero para que la compilación y el arranque no se atasquen a mitad de camino:
- Un JDK reciente. Las compilaciones actuales de L2J Server apuntan a Java 11 o superior, y Java 21 es una opción moderna y segura.
- MySQL o MariaDB. La página de descargas de MariaDB tiene paquetes para los principales sistemas operativos.
- Un cliente de Lineage 2 compatible y un system patch creado para tu revisión del servidor.
- Git y utilidades prácticas como HeidiSQL para la base de datos y 7-Zip para los archivos comprimidos.
Ejecútalo todo en una máquina que controles. Un VPS pequeño basta para probar; en producción normalmente querrás más RAM cuando escalen los jugadores y los spawns.
Obtener el código fuente y compilar con Maven
Clona ambos repositorios desde Bitbucket. Todavía existe un espejo antiguo en GitHub, pero el proyecto se trasladó a Bitbucket, así que toma Bitbucket como fuente canónica e ignora los forks obsoletos de otros sitios.
Importan tres ramas:
- master — la última versión de High Five.
- develop — el desarrollo actual de High Five, más nuevo y algo menos probado.
- Interlude — una rama heredada que se mantiene y sigue actualizándose.
La compilación moderna usa el wrapper de Maven, así que no necesitas una instalación de Maven en el sistema. En Linux ejecuta ./mvnw clean install; en Windows ejecuta mvnw.cmd clean install. Los tutoriales antiguos usaban Gradle y Eclipse, así que trátalos como historia y no como instrucciones vigentes.
Si prefieres saltarte la compilación por completo, hay una imagen de contenedor mantenida publicada en la imagen Docker de L2J Server.

Configurar la base de datos MySQL o MariaDB
Crea los esquemas. Un diseño habitual usa dos bases de datos, por ejemplo l2jls para el login server y l2jgs para el game server, aunque algunas instalaciones mantienen una sola l2jdb para ambos. Cualquiera funciona siempre que tus archivos de configuración concuerden con ella.
Los instaladores de base de datos están en server/tools: dbinst_ls para el esquema del login y dbinst_gs para el esquema del juego. El datapack también incluye su propio instalador de base de datos. Ejecuta el instalador correspondiente contra cada esquema y confirma que las tablas se crearon antes de continuar.
Crea un usuario de base de datos dedicado para el servidor en lugar de usar root. Concédele permisos solo sobre los esquemas que el servidor necesita, y asígnale una contraseña fuerte.
Configurar el login y el game server
Dos archivos gobiernan la conexión con tu base de datos: config/loginserver.properties y config/server.properties. En cada uno, define la URL JDBC y las claves Login y Password para que coincidan con el usuario de base de datos que acabas de crear.
Mientras estás ahí, revisa también:
- El host y el puerto a los que se enlaza el login server.
- Las direcciones externa e interna del game server, que deben coincidir con cómo llegan los jugadores hasta ti.
- Rates, multiplicadores de spawn y límites de jugadores: deja los valores por defecto hasta que el servidor arranque sin errores, y luego ajusta.
Mantén ambos archivos de configuración bajo control de versiones. Cuando algo se rompa tras un cambio, un diff rápido es mejor que adivinar.
Registrar, iniciar y conectar
Antes de que el game server pueda comunicarse con el login server, regístralo. Ejecuta la herramienta de registro del game server para generar un archivo hexid.txt y luego copia ese archivo en la carpeta de configuración del login server. Saltarse este paso es el motivo más común de que una instalación nueva se niegue a conectar.
Inicia en orden. Levanta primero el login server con startLoginServer.bat en Windows o startLoginServer.sh en Linux, y después arranca el game server con startGameServer.bat o startGameServer.sh. Vigila ambas consolas por si hay errores durante el arranque; son mucho más fáciles de arreglar ahora que después del lanzamiento.
Puertos: el login server y el game server usan por defecto los puertos 2106 y 7777. Ambos deben ser accesibles. En una máquina de pruebas local los valores por defecto están bien, pero para jugar fuera de localhost ábrelos en el firewall del sistema operativo y en cualquier grupo de seguridad de la nube, y luego pruébalos desde una red externa.
Antes de abrir a los jugadores
Cuando el cliente conecte, revisa lo básico: verifica la creación de cuentas, inicia sesión con un personaje de prueba y confirma que los rates y los NPC se comportan como esperas. Cambia todas las contraseñas por defecto y desactiva todo lo que no necesites exponer.
Empieza con una compilación privada, demuestra el ciclo completo de login y juego en tu propia máquina, y solo entonces abre el firewall. Depurar una capa a la vez ahorra horas.
Cuando estés listo para atraer jugadores, anuncia tu mundo a través del formulario de envío gratuito de servidores, o hazte con una colocación VIP para tener más visibilidad. También puedes explorar el directorio completo de servidores para ver cómo otros dueños presentan sus rates, crónica y características antes de escribir tu propio anuncio.
