aCis Pack Setup: cómo compilar y ejecutar un servidor Interlude C6

Un setup del pack aCis es la vía más directa para tener un servidor Interlude C6 similar al retail y bajo tu control total. aCis ("another Crappy interlude server") es un emulador Java construido sobre el trabajo de L2J y fijado a una sola crónica, que es justo por lo que los dueños de servidores privados vuelven a él una y otra vez. Su GeoData se reutiliza en otros packs, su comportamiento sigue de cerca al retail y el proyecto está ajustado para Interlude en lugar de repartirse entre una docena de crónicas. Esta guía lleva a un dueño de servidor por los requisitos previos, el build con Ant, el instalador de base de datos, la configuración, el handshake del hexid y el parche del lado del cliente, incluida la trampa del build con JDK 21 que detiene a la mayoría de los montajes primerizos.
Qué es aCis y por qué los admins de Interlude lo eligen
aCis significa "another Crappy interlude server". Es un emulador de servidor de Lineage 2 en Java derivado del trabajo de L2J y, a diferencia de los proyectos de propósito general, apunta a una sola crónica: Interlude (C6). Ese enfoque estrecho es la clave. Como el código nunca tiene que servir a Kamael, Gracia o sistemas posteriores, el comportamiento se mantiene cerca del Interlude retail, las quests y skills están ajustadas para esa era, y el GeoData que incluye aCis es lo bastante bueno como para que otros packs lo reutilicen.
El proyecto sigue un modelo freemium. Las fuentes públicas son gratuitas, mientras que las revisiones más nuevas y refinadas están reservadas para los supporters que aportan dinero o código. Si quieres las correcciones más recientes, o donas o envías merge requests. El foro de la comunidad en acis.i-live.eu es donde viven las revisiones, los changelogs y los hilos de soporte, y el repositorio público está en gitlab.com/Tryskell/acis_public.
Como contexto, L2JMobius soporta muchas crónicas y es muy activo, lo que lo convierte en una elección general sólida. aCis es la apuesta contraria: solo Interlude, valorado por su fidelidad al retail. Si tu servidor es un proyecto Interlude C6, esa compensación suele valer la pena.

Requisitos previos: JDK, MariaDB, Eclipse y Ant
Cuatro cosas deben estar listas antes del primer build: un JDK, MariaDB, Eclipse (el paquete IDE for Java Developers) y Ant. En Windows, el paquete de MariaDB incluye HeidiSQL, que es una forma cómoda de inspeccionar las dos bases de datos más adelante. MariaDB en sí es una instalación estándar desde mariadb.org.
La versión del JDK no es opcional, porque depende de la revisión de aCis que compiles:
| Revisión de aCis | JDK requerido |
|---|---|
| Menor que 381 | JDK 8 |
| 381 a 406 | JDK 11 |
| Mayor que 406 | JDK 21 |
Las revisiones públicas actuales están en el rango 4xx, así que JDK 21 es la elección moderna. Tanto Liberica JDK 21 como OpenJDK 21 funcionan. El detalle importante es apuntar Eclipse y Ant al mismo JDK 21 al que apuntan las fuentes. Mezclar un JDK más nuevo o más viejo del que espera la revisión es una causa común de salidas de build confusas.
Obtener el código: revisiones públicas vs builds de supporters
Empieza por el repositorio público. Clónalo en una carpeta de trabajo y revisa el número de revisión en el readme o el changelog para saber con qué JDK y qué conjunto de funciones estás trabajando. Como las revisiones más nuevas están detrás del soporte, el árbol público puede ir por detrás del bleeding edge, y eso es lo esperado, no una señal de una descarga rota.
Si mantienes un servidor en vivo y dependes de correcciones recientes, las revisiones de supporters son la vía de actualización honesta. Revisa los changelogs del foro antes de decidir, porque algunas revisiones cambian claves de configuración o expectativas de base de datos, y querrás planificar una ventana de mantenimiento en lugar de parchear a ciegas.

Importar y compilar con Ant (y la trampa del JDK 21)
El proyecto incluye un script Ant build.xml. En Eclipse, importa el proyecto aCis_gameserver, deja que resuelva los jars bajo lib/ y luego ejecuta el build de Ant. La salida es l2jserver.jar, que va en la carpeta libs/ del gameserver. En Ubuntu 22 o 24 también hay un instalador de la comunidad que instala JDK 21, MariaDB, Apache con PHP y Adminer, y Ant, crea el usuario de la base de datos y ambas bases, rellena el instalador y los archivos de configuración, compila el pack y lo deja todo dispuesto. Esa automatización ahorra mucho tiempo, aunque igualmente deberías leer lo que cambia.
El gotcha del build que conviene conocer en JDKs modernos: en JDK 18 y posteriores, el uso del Security Manager por parte de Apache Ant lanza un error que dice UnsupportedOperationException: Setting a Security Manager is not supported. No es un problema del código de aCis. La solución limpia es usar una versión reciente de Eclipse y de Ant cuyo build ya no dependa del Security Manager obsoleto. Si estás atascado con un toolchain antiguo, puedes pasar la propiedad de Ant -Dant.securitymanager.usage.warn=true para superarlo, pero actualizar Eclipse es la solución más ordenada.
Si el build tiene éxito pero el servidor no arranca, lo primero que hay que revisar es el JRE de Eclipse. Debe ser JDK 21, igual que las fuentes, no un JDK más nuevo que tu máquina prefiera por casualidad.
Instalar las bases de datos y configurar el pack
El instalador de base de datos es database_installer.sh en Linux o el .bat correspondiente en Windows. Crea y rellena la base de datos de login y la base de datos de juego, que son dos esquemas separados. Asegúrate de que las credenciales que introduces coincidan con el usuario que MariaDB está configurado para aceptar, y vuelve a ejecutar el instalador tras una actualización del pack si una revisión cambia el esquema.
Toda la configuración vive en la carpeta config/:
server.propertiespara el game server: rates, puertos y toggles de jugabilidad.loginserver.propertiespara el login server: gestión de cuentas y la comprobación del hexid.hexid.txt, el archivo que vincula un game server registrado con el login server.geoengine.propertiespara GeoData, pathfinding y ajustes de rendimiento relacionados.npcs.properties,players.properties,siege.properties,clans.propertiesyevents.propertiespara el resto del mundo.
Lee cada archivo antes de cambiarlo. La mayoría de los fallos de arranque en un primer build son una credencial de base de datos incorrecta, un puerto incorrecto o una clave de configuración que una revisión más nueva renombró.
Registrar el hexid, orden de arranque y parche de cliente
El hexid se genera cuando registras el game server, y luego se copia para que el login server lo acepte. Si el login server rechaza el game server, el hexid casi siempre es el culpable: regénéralo, colócalo donde se espera hexid.txt y confirma que ambos lados coinciden.
El orden de arranque importa. Levanta primero el login server y después el game server. Arrancar el game server antes que el login server es una forma segura de ver errores de conexión que no tienen nada que ver con tu configuración real.
En el lado del cliente necesitas un cliente Interlude C6 más una carpeta system parcheada. El cliente Interlude clásico usa el protocolo 746, así que el parche debe coincidir con ese protocolo, o el cliente no podrá conectar aunque el servidor esté perfectamente sano.
Una vez que el servidor corre, el siguiente paso práctico es ponerlo delante de los jugadores. Puedes listarlo a través de /addnews, comparar tu posicionamiento con el directorio más amplio en /all-servers y conseguir una ubicación más fuerte con /addnews_vip. Un pack aCis funcionando es solo la mitad del trabajo; un listado claro es lo que lo convierte en un servidor poblado.
