How to Make a Lineage 2 Server From Scratch
If you want to know how to make a Lineage 2 server, the short answer is: pick an emulator pack, set up a database, configure your rates, open the right ports, and list your server somewhere players will find it. The longer answer - the one that decides whether your server runs for two weeks or two years - covers the decisions behind each of those steps.
L2J or L2OFF: Pick Your Emulator First
Two emulator families exist. L2OFF runs on leaked NCSoft server binaries. It is hard to find, legally riskier, and requires more server administration experience. Most operators skip it.
L2J (Java-based, open source) is what the majority of private servers run. The main forks are:
- L2JMobius - supports 40+ chronicles across Main, Classic, and Essence lines. If you want High Five, Interlude Classic, or anything modern, start here.
- aCis - focused exclusively on Interlude, with a strong push for retail accuracy. One of the most polished free packs for that specific chronicle.
- L2JServer / L2JOrion / L2JSunrise - older forks with active or legacy communities, useful if you need a specific chronicle or modding community around a pack.
The chronicle you pick locks in the class system, skills, packets, and stat formulas. High Five and Interlude are the two most-populated chronicles in the private server scene right now. Classic draws a smaller but dedicated crowd. Pick based on where you want your community, not which one you personally grinded on in 2007.
What You Actually Need to Run It
You need four things before a single player connects:
- Java Development Kit - JDK 8 or 11 for older packs; JDK 21 for current L2JMobius builds. Get the version the pack specifies, not the latest.
- MySQL or MariaDB - the game database. MariaDB 10.x works well and is easier to install on Linux. For local dev, XAMPP bundles both MySQL and a web UI.
- A build tool - Eclipse with the pack's project files is the most common setup. Maven works if you prefer command-line builds.
- A machine that stays on - for a real public launch, you need a VPS or dedicated box. A dual-core CPU (Xeon-class for production) and 3-4 GB RAM is the baseline. Home servers are fine for testing or a 5-person friend group. They are not fine for 100+ players, especially when your home ISP throttles upload.
Linux (Ubuntu or Debian) handles L2J better than Windows for long-running processes. It is not mandatory, but if you are serious about uptime, run Linux.
Configuration: Rates, Port Forwarding, and the Database
After you compile and import the SQL files into your database, the core configuration files live in the config/ directory of your pack. The files you touch first:
- Server.ini (or server.properties) - sets your hostname, game port (7777), and login server port (2106). Your public IP goes here.
- Rates.ini - XP rate, adena rate, drop rate, spoil rate. These are multipliers against retail values. x1 is hardcore. x5-x15 is mid-rate. Anything above x100 burns through content in days and kills the economy. Choose rates that match your target audience; you cannot change them mid-season without angering your player base.
- NPC and skill configuration files - advanced, but relevant if you are modifying spawn tables or class progression.
For port forwarding: open ports 2106 and 7777 on your router (if home-hosted) or your cloud firewall rules, and point them at your server's local IP. Players connect using your public IP. If your ISP assigns a dynamic IP, use a DDNS service so the address does not change under you.
Test locally first. Connect a client to 127.0.0.1, log in, and walk around. Then test from a different network (a phone on mobile data) before announcing launch.
Chronicle, Rates, and Season Length: The Real Decisions
Most technical setups take a weekend. The decisions that kill servers take longer to get right.
Chronicle: Interlude has the widest player pool and the most client options (L2.ini is well-documented for it). High Five is close behind. Classic attracts players who want a different meta. Do not pick a niche chronicle hoping to corner a market unless you already have a community ready to populate it.
Rates: Low-rate servers (x1-x5) retain players longer but require a bigger initial population because progress is slow. High-rate servers (x50-x500) fill up fast and empty out fast. If this is your first server, a mid-rate (x5-x20) gives you room to correct mistakes while the population is still learning the server.
Season length: Define it before launch. A 3-month season with a scheduled wipe is easier to communicate than an indefinite server that quietly dies. Players will forgive a planned end. They will not forgive a silent shutdown.
Bot protection: L2J packs include basic anti-cheat hooks, but dedicated bot programs (Walker, Adrenaline) will still find ways in. GameGuard integration varies by pack and client version. At minimum, set up an active GM presence for the first few weeks. No technical solution replaces a GM who actually logs in and bans.
A Note on Legal Exposure
Running a Lineage 2 private server uses NCSoft's intellectual property without a license. NCSoft has sent cease-and-desist letters and has shut down servers in the past, particularly larger ones with active donation systems. Smaller servers under the radar tend to operate without issue for years. This is not legal advice - just the reality of how the scene works. Charging money increases your profile and your risk. A free server with a cosmetic shop is a different risk profile than a pay-to-win server pulling $10k/month.
Getting Players to Actually Show Up
A server that nobody knows about is the same as no server. Announce on the forums and communities where L2 players actually gather: L2Top.co, L2Network, the relevant Discord communities and subreddits, and server listing sites.
L2Calendar is built specifically for this. You can list your server for free and get it in front of players who are actively looking for a new server to join. If you want more visibility at launch - featured placement, VIP tier display - VIP listing puts your server at the top of the list when players are searching by chronicle or opening date.
Your launch date matters more than your feature list. Players coordinate around opening dates. Announce early, stick to the date, and show an honest online count once you are live.
