Guía de setup de L2JMobius: Del clon al primer login

Un setup de l2jmobius limpio lleva una tarde si sigues el orden que el proyecto espera: compilar primero, base de datos después, configuración en tercer lugar, y solo entonces arrancar los servidores. La mayoría de los primeros intentos fallan porque alguien se salta el instalador de base de datos, arranca el game server antes que el login server, o compila con la versión de Java equivocada. Esta guía recorre el camino completo desde clonar el repositorio hasta que tu primer personaje entra, y lista los errores que frenan a la gente en cada paso. Los comandos exactos reflejan la estructura actual del proyecto, tu carpeta de crónica puede diferir en pequeños detalles.
Requisitos previos: Java, base de datos y la crónica correcta
Ten esto listo antes de tocar el código. Que falte uno de estos es la causa más común de una compilación fallida.
- Java JDK. Las releases recientes de L2JMobius apuntan a un JDK moderno: la línea C4 actual requiere JDK 25, y las carpetas de crónicas anteriores pueden usar otra versión. Mira el
readme.txtde tu carpeta de crónica e instala exactamente ese JDK. - Un motor de base de datos. MySQL 5.7+ o MariaDB 10.3+. Crea una base de datos dedicada con collation
utf8mb4para un manejo correcto de caracteres. - Una herramienta de compilación. Apache Ant, guiado por el
build.xmlen la raíz de la crónica que compilas. - Hardware. Al menos 4 GB de RAM para probar (16 GB o más recomendado cuando haya jugadores), y unos 10 GB de disco libre para el código, la salida de compilación y la base de datos.
Elige una carpeta de crónica y trabaja solo dentro de ella. L2JMobius entrega una distribución autocontenida por crónica, y mezclar carpetas o esquemas causa fallos evitables.

Paso 1 — Clona el repositorio y compila con Ant
Clona el proyecto, ábrelo en tu IDE y ejecuta la compilación de Ant.
- Clona
https://gitlab.com/MobiusDevelopment/L2J_Mobius.git(el código completo está en GitLab). - Importa los proyectos en Eclipse o IntelliJ, y asegúrate de que el IDE apunta al JDK que instalaste, no a uno incluido.
- Haz clic derecho en
build.xmly ejecútalo como Ant build. Espera aBUILD SUCCESSFUL. - Recoge la distribución empaquetada del directorio
build(un zip que extraes a una carpeta de trabajo comoC:\L2J_Mobius, o tu ruta elegida en Linux).
Si la compilación falla de inmediato, casi siempre es la versión de Java o un Ant no instalado. Arregla eso antes de investigar cualquier otra cosa.
Paso 2 — Configura MySQL o MariaDB
Instala y arranca el servicio de base de datos, luego crea el esquema y un usuario para el servidor.
- En Windows, XAMPP es una forma cómoda de arrancar MySQL, pero comprueba que su versión incluida sigue cumpliendo el mínimo de arriba, una instalación independiente de MySQL o MariaDB es la opción más segura. En Linux, usa tu gestor de paquetes y
systemctl. - Crea la base de datos y un usuario dedicado, y concédele privilegios sobre esa base de datos.
- Usa
utf8mb4para la base de datos, para que los nombres con caracteres no latinos se guarden correctamente.
Ten las credenciales a mano. Las introducirás en dos archivos de configuración, no en uno.

Paso 3 — Ejecuta el instalador de base de datos y configura las conexiones
El instalador de base de datos crea las tablas y carga los datos base. Saltárselo es el error de setup número uno.
- Abre la carpeta
db_installeren tu distribución extraída. - Edita
config/Database.inidentro del instalador con tu host, nombre de base de datos, usuario y contraseña. - Ejecuta el instalador (en Windows, el
DatabaseInstaller.vbsincluido, en Linux, el lanzador de shell ojava -jar DatabaseInstaller.jar). - Elige la opción de instalar tanto el esquema de login como el de juego, y deja que cree las tablas e importe los datos base.
Ahora configura los dos servidores para llegar a esa base de datos. Edita el mismo bloque de conexión tanto en login/config/Database.ini como en game/config/Database.ini. Si difieren de la config del instalador, los servidores arrancarán y luego fallarán al leer datos.
Paso 4 — Arranca el login server, luego el game server
El orden importa. El game server se registra con el login server, así que el login server debe estar arriba primero.
- Arranca el login server desde la carpeta
login. Espera al mensaje de que está escuchando (puerto por defecto 2106). - Arranca el game server desde la carpeta
game. Espera a que reporte que escucha (puerto por defecto 7777) y que se registra correctamente. - Ajusta la memoria de la JVM en
java.cfgpara cada proceso. El game server necesita bastante más heap que el login server.
Si el game server registra un fallo de registro, las credenciales de base de datos o el estado del login server son las causas habituales, no la red.
Paso 5 — Empareja el protocolo del cliente e inicia sesión
Un servidor en marcha es solo la mitad del trabajo. El cliente debe hablar la misma versión de protocolo que la crónica que compilaste.
- Verifica que la versión de protocolo del cliente coincide con la carpeta de crónica (los clientes de Chronicle 4, por ejemplo, suelen usar el protocolo 656). Un desajuste se manifiesta como una desconexión inmediata en la selección de personaje.
- Apunta la dirección del servidor y el puerto de login del cliente a tu máquina si pruebas en local.
- Crea una cuenta de juego a través del login server, luego entra y confirma que tu primer personaje carga.
Errores comunes de setup de L2JMobius y sus arreglos
- "Cannot connect with client" o desconexión instantánea. Casi siempre un desajuste de protocolo: confirma que la versión del cliente coincide con la crónica.
- La compilación falla en la comprobación de Java. Tu JDK es la versión equivocada para esa carpeta de crónica. Instala la versión que especifica el readme.
- El game server arranca pero los personajes no se mueven ni cargan. Corregir esto normalmente significa que el instalador de base de datos nunca se ejecutó, o que login/game apuntan a bases de datos distintas. Reejecuta el instalador y reconcilia ambos archivos de configuración.
- Conexión rechazada a la base de datos. El servicio de base de datos no está arrancado, o las credenciales en
Database.inison incorrectas. - El servidor va con lag con jugadores online. Revisa el heap de la JVM en
java.cfgy la configuración de tu base de datos antes de culpar al código.
Tras el primer login: lista tu servidor y hazte visible
Un setup de L2JMobius que funciona es el principio, no el lanzamiento. Verifica la estabilidad con una prueba privada, y luego publica un listing preciso (crónica, rates y hora de apertura) en el listing gratuito de L2Calendar. Cuando estés listo para competir por la atención durante las semanas de lanzamiento, la colocación VIP pone el servidor delante de jugadores que navegan activamente buscando aperturas nuevas. El pack te pone en marcha, el descubrimiento es lo que llena tu servidor.
