THE LARGEST LINEAGE 2 SERVER COMMUNITYYOUR LINEAGE 2 COMMUNITY

  • +10,000 PLAYERS
  • VERIFIED SERVERS
  • DAILY UPDATES
CHOOSE YOUR NEXT ADVENTURE
EXPLORE L2CALENDAR

What are you looking for?

Search the sections of the site.

TOP SERVERS

Discover the featured Lineage 2 servers.

Blog

Guides, articles and tips for your next adventure.

Vlog

Videos, sieges, PvP and community moments.

Links

Clients, downloads and resources for Lineage 2.

Streamers

Find community streams.

Recruitment

Clan and constant party (CP) recruitment hub.

Buy VIP (AUTO)

Visit the VIP placement page.

Add server (Free)

List your server on the calendar.

Extend VIP time

Renew your VIP listing.

9 sections found.

Install Lineage 2 Server Files: The Exact Order of Steps

L2Calendar Team9 min read
Install Lineage 2 Server Files: The Exact Order of Steps

To install lineage 2 server files you do four things in a fixed order: prepare the runtime, create and populate the database, point the login and game server configs at it, then connect a patched client. Nearly every failed first install is a sequencing problem rather than a code problem — a database installed after the configs were edited, a Java version newer than the pack expects, or a game server that never registered with the login server.

This is the whole sequence with a checkpoint after each stage, so you know which step broke instead of guessing. It works for L2J, L2JMobius and aCis; the file names differ slightly between packs, and I flag where. If you are still choosing a pack, read best server files and packs and L2J vs L2OFF first, because the pack decides everything below.

1. Pick the pack and the chronicle before anything else

An Interlude pack and a High Five pack need different clients, different datapacks and often different Java versions. Decide the pair (pack + chronicle) and stay with it for the whole install. Mixing a High Five core with an Interlude datapack produces a server that starts, logs errors about missing NPCs, and disconnects players at character select.

Two sane starting points, both actively maintained:

  • L2J Server — the reference High Five implementation from the original project. Official installation docs are current and precise: L2J Server installation guide.
  • L2JMobius — one folder per chronicle, from C4 through the modern lines. Source and releases live at MobiusDevelopment/L2J_Mobius.
  • aCis — Interlude-focused, lighter than Mobius, popular for low-rate servers. Source at Tryskell/acis_public.

If you want the pack-specific walkthrough instead of the general order, the dedicated guides are L2JMobius setup and aCis Interlude pack setup.

Install Lineage 2 Server Files: The Exact Order of Steps
Lineage II © NCSOFT

2. Prepare the runtime: Java, database, build tool

Three pieces of software, installed before you clone anything:

  1. JDK. Match what the pack targets, not what is newest. The current L2J line builds on JDK 25 and its docs install it with winget install EclipseAdoptium.Temurin.25.JDK. aCis branches target JDK 8, 11 or 21 depending on the revision — the README and build.xml state which.
  2. Database server. MariaDB is the recommendation; MySQL 8 works. Create a dedicated user for the server instead of running it as root, and scope it to the schema:
    CREATE USER IF NOT EXISTS 'l2j'@'localhost' IDENTIFIED BY 'change-this-password';
    GRANT ALL PRIVILEGES ON l2j.* TO 'l2j'@'localhost';
    FLUSH PRIVILEGES;
  3. Build tool. Maven for L2J (it ships a wrapper: mvnw.cmd install on Windows, ./mvnw install elsewhere), Ant for L2JMobius and aCis, usually driven from Eclipse.

Checkpoint: java --version prints the version the pack expects, and you can log into MariaDB with the new user. If either fails, stop. Nothing downstream will work.

Set JAVA_HOME and put %JAVA_HOME%\bin first on PATH. Two JDKs on one machine is the most common cause of "it compiled yesterday" on Windows.

3. Build and deploy the server files

Build from source rather than trusting a repack. It takes ten minutes and it proves the toolchain is correct.

L2J has three modules — login server, game server and datapack. Build all three, deploy the login and game artifacts into separate folders, then unpack the datapack into the game server folder so it has a data directory:

mvnw.cmd install
mkdir C:\opt\l2j\server\login
mkdir C:\opt\l2j\server\game

For L2JMobius and aCis, the usual flow is an Ant build into a build/ or dist/ folder, then you copy the compiled login and game folders somewhere without spaces in the path. L2JMobius ships one datapack per chronicle, so its data folder already sits inside the game folder.

Checkpoint: each deployed folder contains a start script (startLoginServer.bat / LoginServer.vbs depending on the pack) and a config directory with the properties files. No config files, no deploy — you unzipped the wrong artifact.

Install Lineage 2 Server Files: The Exact Order of Steps (2)
Lineage II © NCSOFT

4. Install the database schema

Both servers need tables, and they need separate installs even when they share one database name. L2J does it through its CLI with an explicit mode and type:

l2jcli.bat
db install -sql C:\opt\l2j\server\login\sql -u l2j -p YOURPASS -m FULL -t LOGIN -c -mods
db install -sql C:\opt\l2j\server\game\sql  -u l2j -p YOURPASS -m FULL -t GAME  -c -mods

L2JMobius ships a db_installer folder with a login installer and a game installer; forks that do not ship one give you the login and game SQL folders to import in order. Run both against the same schema and accept the defaults unless you deliberately split databases.

Checkpoint: two table families exist in the schema — accounts and login-side tables, plus the game tables. If the game install stops halfway, fix the error and re-run with a full install; do not proceed with a partial schema.

5. Point both configs at the database

This is where most installs stall, because the credentials have to be edited in two places and the file names differ per pack:

PackLogin server configGame server config
L2J Serverlogin/config/database.propertiesgame/config/database.properties
L2JMobiuslogin/config/LoginServer.propertiesgame/config/Server.properties
aCisconfig/loginserver.propertiesconfig/server.properties

Set the URL, user and password in both. Leave the hosts at their defaults until the server runs locally — the LAN/WAN setup is a separate job, covered in game and login server configuration.

Checkpoint: the first login-server start reaches "listening" without a JDBC error, and the game server logs a successful database connection. A Communications link failure here means credentials or the URL, not the schema.

6. Start the login server, then the game server

Order matters: the game server registers itself with the login server on start, so the login server must be up first.

  1. Start the login server. Default client-facing port: 2106.
  2. Start the game server. It connects to the login server on 9014 and opens 7777 for players.
  3. Watch the login-server log for the registration line, then check the game server stayed alive for a full minute.

Checkpoint: the login server reports a registered game server and the game server stops logging "not registered". If the game server exits immediately, the usual suspects are a wrong Java version, a missing datapack path, or a database user without rights on the game schema.

7. Patch the client and log in

For a local test the documented L2J approach does not touch the client: either add the host entry

127.0.0.1 l2authd.lineage2.com

or launch the binary with an IP argument (l2.bin IP=127.0.0.1). Neither route edits a client file. The L2J documentation states that client modifications, including GameGuard and L2.ini changes, are not allowed, so keep the client clean and use one of these two methods.

Create an admin account from the CLI (account create -u YourName -p -a 8, where 8 is master access), log in, and confirm you land in the world rather than at a disconnected character list.

Checkpoint: you can create a character and walk ten steps without the client freezing. That one test exercises the login handshake, the game server and the datapack at once.

8. One table to diagnose a failed install

SymptomStage that failedWhat to check
Build errors on Ant or MavenRuntimeJDK version vs pack target, JAVA_HOME
db install stops earlySchemaDB user grants, SQL folder path, MariaDB version
Login server starts, game server exitsConfigCredentials, datapack root, port already in use
Servers run, client cannot connectNetworkPorts 2106/7777, external address config, firewall
Login works, character list emptyDatapackWrong chronicle datapack for the core

Fix the stage, not the symptom. Reinstalling the database because the client cannot connect wastes an evening and changes nothing.

9. Before you invite anyone

A local login is not a live server. Geodata has to be loaded (otherwise players walk through walls and mobs aggro through them), rates and drops need to match the server you advertised, and the client patch has to be distributed with a launcher. Load geodata next — geodata setup explains the files and the three settings that matter.

When the server is ready for players, list it where people actually look. A free listing on L2Calendar takes a few minutes and puts the server in front of players browsing by chronicle and rate: add your server. If you want the top of the category instead of page three, VIP placement is the paid option, and it is worth reading whether VIP is worth it before you spend.

Frequently asked questions

How long does it take to install a Lineage 2 server?
A first install on Windows takes roughly one to two hours: about ten minutes for the JDK and database, ten to twenty for the build, five for the schema import, and the rest for configuration and client testing. Most of the time goes into the config step, not the software.
Do I need a separate database for the login and game server?
No. The common setup is one schema with both table families installed into it, run once for the login server and once for the game server. Separate schemas work too, but then both config files must point at their own database.
Why does my game server close right after starting?
The three usual causes are a Java version the pack does not support, a wrong or missing datapack root, and database credentials without rights on the game tables. Read the last lines of the console before the exit; the cause is almost always logged there.

Lineage 2 Top Private Servers & Openings List

L2Calendar is the premier Lineage 2 private servers top list and calendar for the legendary MMORPG Lineage II. Whether you are looking for upcoming L2 Interlude servers, new High Five launches, or Classic server announcements, our platform tracks all top private server openings in one place.

Stay updated with the best Lineage 2 top servers. Our calendar displays upcoming openings, server rates from low-rate craft to mass PvP, chronicles, and launch times. Never miss a top L2 server opening — bookmark L2Calendar and check back daily for fresh Lineage 2 server announcements.

Looking for the perfect L2 server? Browse our complete list of Lineage 2 top private servers opening soon in 2025/2026. From low-rate craft servers to high-rate PvP realms, find your next Lineage II adventure here.