Lineage 2 · Chronicle 4
C4 como fue, no como lo recuerda una lista de features. Experiencia x1, cero items custom, cero rebalanceo. La única mano que le metimos al juego son los enanos, y está explicada abajo con nombre y apellido.
Qué es este servidor
La idea es sencilla: que un personaje de este servidor sea el mismo personaje que era en Chronicle 4. Ninguna skill cambió de número, ninguna tabla de drop se tocó, ningún NPC tiene stats inventados. Lo único que se movió son los rates —y son una sola curva, no una pila de perillas sueltas— y las líneas enanas.
Una curva, no perillas sueltas
Ritmo retail, incluidos SP, party, experiencia de quest y mascotas.
Chance x2, cantidad x1. Spoil igual. Raid bosses también x2.
La adena de quest también x3.
Pociones, pergaminos, recetas y materiales incluidos.
Por qué x1 de experiencia con x2 de drop: en x1 un personaje pasa unas cinco veces más tiempo en cada nivel, así que un x5 de drop daría cinco veces el botín repartido en cinco veces las matanzas, y el equipo se adelantaría muy por delante del nivel — arruinando justamente el farmeo que el x1 existe para conservar.
| Autoloot | Encendido para monstruos, apagado para raids |
|---|---|
| Delevel y penalización por muerte | Retail: se puede perder nivel y la death penalty funciona como siempre |
| Monstruos campeones | 5% de frecuencia entre nivel 20 y 70, cinco veces la vida y cinco veces la experiencia — neutro por unidad de tiempo |
| Skills de clase | Se entregan solas al subir de nivel y al entrar |
| Personajes por cuenta | 7 |
| Subclases | 1 por personaje, hasta nivel 80 |
| Clientes por IP | 1, o 2 con premium |
| Vitality | Apagada: es un sistema posterior a C4 |
| Balance | Intacto. Ningún daño de skill, tabla de drop o stat de NPC fue rebalanceado. Números de C4. |
El único cambio
En C4 el enano es un oficio antes que un personaje: spoilea, craftea, y para subir depende de que alguien lo lleve. Acá sigue siendo el que craftea y spoilea, pero además puede farmear solo. Es la única intervención de balance del servidor y está acotada a propósito: cada línea enana sigue a una línea humana, tier por tier, y copia sus skills tal cual — mismos números, mismo costo, ninguna skill nueva inventada.
| Clase enana | Sigue a | Entradas en el árbol |
|---|---|---|
| Scavenger | Rogue | 146 |
| Artisan | Human Wizard | 176 |
| Bounty Hunter | Treasure Hunter | 500 |
| Warsmith | Sorcerer | 556 |
| Hay que promocionar | Nada se injerta en Dwarf Fighter. Ninguna de estas skills existe antes de la primera clase — la misma puerta que cruzan los humanos que las tienen. A los 40, la segunda clase continúa la línea que empezó la primera. |
|---|---|
| Cada cadena arranca en nivel 1 | Los niveles bajos de Mortal Blow, Anti Magic, Ice Bolt, Vampiric Touch y Weapon Mastery pertenecen al Human Fighter y al Human Mystic, así que se copiaron también. Ninguna cadena arranca colgada en el nivel 10. |
| El corte es por PvE | Lo que quedó afuera es exactamente lo que hace fuertes a esas clases en PvP. El objetivo era un enano que pueda farmear, no un segundo Rogue ni un segundo Sorcerer. |
| Ningún número tocado | Las entradas se copiaron literalmente del árbol humano, hijos incluidos: mismo daño, mismo costo de SP, mismo reuso. |
Uno en cada una de las quince ciudades, al lado del gatekeeper. 43 buffs, una hora de duración, hasta 4 esquemas guardados por personaje. Gratis para todos hasta nivel 30; arriba de eso, solo cuentas premium.
Elemental, Divine y Arcane Protection, Siren's Dance y las canciones de Renewal, Meditation y Champion no las da el NPC. Eso sigue siendo de un Cardinal, un Eva's Saint, un Shillien Saint, un Hierophant, una Sword Muse o un Spectral Dancer.
Comercio y crafteo offline con .offline: cerrás el cliente y tu tienda queda parada hasta 3 días. Sobrevive a los reinicios del servidor.
CP, HP y MP automáticos al 70%, sin plugins ni programas de terceros. El autoplay, en cambio, está apagado: farmear lo farmeás vos.
Con .lang es el cliente pasa a español: gatekeepers, mercaderes, guardias, entrenadores, warehouses, village masters, los libros de ayuda y Seven Signs. También disponible en inglés y griego.
.expoff y .expon para quedarte en el nivel que quieras mientras farmeás o preparás un personaje.
Dos con premium. Es un límite deliberado: en un servidor x1 la ventaja de las cajas múltiples se acumula durante meses.
Cada PvP y cada PK se anuncia al servidor. Sin recompensas por matar: la única consecuencia es la karma de siempre.
Cuatro pasos
Es el único lugar donde se crean: el servidor no crea cuentas solo al entrar. Nombre de 4 a 14 caracteres, letras y números; contraseña de 8 a 16 — el campo del cliente C4 no acepta más de 16.
Scions of Destiny. El servidor acepta las revisiones de protocolo 656, 660 y 746.
Abrí system/l2.ini y dejá la línea así:
ServerAddr=l2jsaked.servegame.com
Con el nombre de cuenta y la contraseña del paso 1. Tu cuenta de juego queda lista pocos segundos después de registrarte; la página de tu cuenta te lo confirma.
.premium | Muestra tus rates reales y cuánto premium te queda |
|---|---|
.lang es | Cambia el idioma del cliente (es, en, el) |
.offline | Deja tu tienda o tu crafteo funcionando y cierra el cliente |
.expoff / .expon | Frena y reanuda la ganancia de experiencia |
.menu | Menú de personaje |
La contraseña se cambia solo desde tu cuenta. El comando
.changepassword está apagado a propósito: solo llega al juego, y te dejaría
adentro del servidor pero afuera del sitio.
Premium
La donación paga la máquina y la conexión donde corre el servidor. Lo que compra es ritmo, no poder: no vende ni un item, ni un punto de stat, ni un nivel. Un personaje premium y uno que nunca donó pelean con exactamente los mismos números.
Los precios se muestran al entrar a tu cuenta.
| Beneficio | Normal | Premium |
|---|---|---|
| Experiencia | x1 | x1.5 |
| SP | x1 | x2 |
| Cantidad de drop | x1 | x2 |
| Cantidad de spoil | x1 | x2 |
| Adena | x3 | x6 |
| Clientes por IP | 1 | 2 |
| Buffer por esquemas | hasta nivel 30 | cualquier nivel |
En el juego, .premium muestra siempre los números que estás recibiendo de verdad.
Optimización y código
Casi todos los servidores te cuentan lo que agregaron. Este te puede decir lo que verificó, y sobre cuántas cosas miró para decirlo. Cada número de acá es un conteo sobre los datos y el código reales, no una estimación, y está en el historial de commits para que lo revises.
| Qué se midió | Resultado |
|---|---|
| Archivos XML de datos que validan contra su esquema | 1.448 / 1.448 |
| Ids de NPC definidos más de una vez | 0 de 5.784 |
| Conexiones a la base sin cierre garantizado | 0 de 354 |
| Camino de una entrada remota a un SQL sin parametrizar | ninguno |
| Puntos de spawn dentro de la grilla del mundo | 10.167 / 10.167 |
| Diálogos de cambio de clase presentes para los NPC de C4 | 222 / 222 |
| Tareas periódicas protegidas contra una excepción | 69 / 69 |
| Pruebas unitarias | 54 |
| Scripts del datapack compilados en cada cambio | 785 |
Agregar items a un stack no tomaba el candado que destruirlos y transferirlos sí tomaban. Una prueba con 8 hilos y 2.000 depósitos cada uno perdía cerca de la mitad: 8.519 de 17.000 esperados. Corregido tomando los dos candados en orden de id.
Las cinco consultas que juntan los ids en uso se tragaban su propio error, así que una que no terminaba borraba en silencio los ids de una tabla entera y el servidor los volvía a repartir. Ahora el manager se niega a arrancar antes que adivinar.
Las variables del personaje descartaban los cambios cuando la escritura fallaba, así que la memoria y la base se separaban sin que nadie se enterara.
Las excepciones de las tareas iban a stderr y nunca al log. Diez archivos y carpetas quedaban abiertos si algo salía mal, y seis hilos ignoraban su propia interrupción — uno de ellos podía dejar la JVM colgada.
Corre sobre L2J Mobius compilado con Java 25, con un vigilante de deadlocks cada 20 segundos. El código es público: github.com/fermanzolido/L2C4.