How to Install GeoData and PathNodes on L2J Server (2026)

Setting up GeoData and PathNodes on an L2J server is one of those tasks that looks intimidating at first, but once you understand the file layout and the configuration switches, it becomes a repeatable 30-minute job. I have rebuilt Interlude, High Five, and classic L2J Mobius packs over the past few years, and the workflow is basically identical across forks. This guide walks you through the entire process of installing GeoData and PathNodes on an L2J server, from downloading the right files to verifying that monsters actually walk around walls instead of straight through them.

By the end, you will know how to drop the geodata folder into your pack, edit GeoData.properties, generate or supply a geo_index.txt, and troubleshoot the most common errors that prevent NPC pathfinding from working.

What Is GeoData and PathNodes on an L2J Server?

GeoData is the geographical mapping information that tells an L2J server where the walls, terrain, and obstacles are in the game world. Without it, your server has no spatial awareness at all. Monsters would clip through doors, players would fall through floors, and quests that depend on coordinates would break in subtle ways.

PathNodes are the companion dataset. They form a navigation graph that the A* pathfinding algorithm uses to calculate routes for NPCs, raid bosses, and pets. When a monster needs to chase a player from one side of Aden to the other, the pathfinding system uses PathNodes to find a valid path that respects collision data stored in GeoData.

Together, these two systems turn a flat world into a navigable 3D space. The L2J server reads them at startup through the GeoData.properties file and the geo_index.txt index that points to each region file.

Why GeoData Matters for Private L2J Servers

If you launch your L2J server without geodata, the game will technically run, but you will quickly see the symptoms. Mobs will run through walls during a chase. Raid bosses will teleport to their target. Players will get stuck inside NPCs. Every visual element of the game relies on these two files to behave correctly.

A forum user on the L2J Mobius board put it simply in late 2025 while setting up their Interlude sandbox: figuring out where the files go and which settings to flip is the single biggest barrier for anyone new to L2J server administration.

Prerequisites Before Installing GeoData on L2J

Before you start downloading anything, make sure your server environment is ready. GeoData is large, and the pathfinding calculations are CPU intensive when many NPCs are on screen at once.

Hardware and Software Requirements

  • A running L2J server pack (L2J Mobius, L2J Frozen, or any modern derivative)

  • Java 8 or Java 11 depending on your L2J fork version

  • At least 1.5 GB of free RAM for the game server, plus another 500 MB for the login server

  • At least 500 MB of free disk space for the geodata folder

  • A clean client matching your server chronicle (Interlude client, High Five client, etc.)

Forum reports from maxcheaters show that a populated geodata-enabled server with 200 to 300 concurrent players pulls roughly 2 GB of RAM. Plan your host accordingly.

Tools You Will Need

  • 7-Zip or WinRAR to extract compressed geodata archives

  • Notepad++ or VS Code for editing configuration files

  • GeoEditor or HDGE if you plan to generate custom geodata later

  • GeoConv if you need to convert between L2J and L2OFF formats

How to Install GeoData on L2J Server Step by Step?

The actual installation is mostly a copy-and-paste operation. The tricky part is getting the right version of the geodata pack for your server’s chronicle. Here is the exact process I follow on a fresh L2J Mobius Interlude install.

Step 1: Download the Correct Geodata Pack

Head to the L2J Geodata project on SourceForge or your fork’s recommended mirror. The classic file is around 151 MB compressed and expands to roughly 500 MB once extracted. Make sure the pack you download matches your server’s chronicle. An Interlude geodata pack will not load on a High Five server.

Step 2: Locate Your Server’s Data Directory

Inside your L2J pack, navigate to dist/game/data/geodata/. If the folder does not exist, create it. This is where every region file will live.

Step 3: Extract the Geodata Pack

Extract the contents of your downloaded pack directly into dist/game/data/geodata/. You should see a large number of files with numeric names like 20_20.l2j or 21_22.l2j. These are the tiles that make up the world map.

Step 4: Copy PathNodes Data

The same pack usually contains a pathnode/ folder. Copy that folder into dist/game/data/geodata/ as well. The pathnodes use the same coordinate naming but a different file extension.

Step 5: Place the geo_index.txt File

Your pack should include a geo_index.txt file. This is the index that tells the server which region file corresponds to which map area. Drop it into the root of dist/game/data/geodata/.

Step 6: Install the Pathnode Index

Some packs ship a separate pathnode_index.txt. Place it in the same geodata/ root. Without it, PathNodes will silently fail to load and your monsters will freeze in place.

Configuring GeoData.properties and geo_index.txt

With the files in place, you now need to tell the L2J server to actually use them. Open your server config at dist/game/config/GeoData.properties.

Key Settings in GeoData.properties

  • GeoDataEnabled = True — turns the system on. This is the single most important line.

  • GeoIndexPath = ./data/geodata/geo_index.txt — points to your index file.

  • PathnodeIndexPath = ./data/geodata/pathnode_index.txt — points to your pathnode index.

  • PathCleanEnabled = True — allows automatic cleanup of unreachable pathnodes.

  • GeoEditorFormat = False — set to True only if you are using HDGE or GeoEditor native output.

Save the file and restart your game server. On boot, the console should print lines like GeoData: Loaded 256 region files and PathNodes: Loaded 256 pathnode files. If those numbers are zero, something is wrong with your file placement.

Generating or Editing geo_index.txt

The index file is plain text. Each line lists a region coordinate and its corresponding file. A typical entry looks like this:

20_20 = 20_20.l2j

If you ever need to remove regions (for example, to strip Teleport locations or unused PvP zones), you simply delete those lines from the index. The server will treat missing regions as flat walkable space, which is useful for testing.

Setting Up PathNodes for NPC Pathfinding

PathNodes form the spine of A* pathfinding on the L2J server. Each node is a point in the world that an NPC can stand on, and the network of connections between them is what the algorithm searches through when a mob decides to chase a player.

How A* Pathfinding Uses PathNodes

When a monster needs to reach a target, the L2J server runs the A* algorithm across the pathnode graph. The algorithm calculates the shortest valid path by checking neighbors, comparing estimated cost, and pruning routes that hit terrain blocked by GeoData collision data. This is why you need both files working together. PathNodes alone without GeoData will let monsters walk through walls. GeoData without PathNodes will leave them rooted in place.

Optimizing PathNodes for Performance

Dense pathnode graphs give smoother NPC movement but increase CPU load. To trim them down, most servers enable PathCleanEnabled = True in GeoData.properties. This module removes redundant nodes at startup. For large custom maps, you can also raise the PathFindBuffer value to reduce the frequency of pathfinding recalculations.

Removing Unnecessary Path Nodes

To strip unused path nodes manually, open pathnode_index.txt and delete entries for any region you do not plan to use. The cleanest method is to delete a region from both geo_index.txt and pathnode_index.txt at the same time. Mismatched indexes will cause exceptions at startup.

L2J vs L2OFF Geodata Format Differences

You will see two formats when downloading geodata. The L2J format is what the official L2J server packs use, and the L2OFF format is the encrypted format that retail NCSoft clients use.

Feature L2J Format L2OFF Format
File extension .l2j .dat
Encryption None Encrypted
Compatible with L2J servers Direct Requires GeoConv converter
Editable in GeoEditor Yes No
Original source Open-source community Retail NCSoft client

If you only have L2OFF files, run them through Stazis L2 Geo Converter (GeoConv) to produce the L2J variant. The converter handles batch files and is the standard tool on every L2J administrator’s USB stick.

Testing and Verifying Your GeoData Setup

Restart your server and watch the console for the loaded region count. Then log in with a player character and start checking the world. A classic test move is to take a trainer mob in Lair of Antharas and watch whether it walks around pillars or runs straight through them. If the mob pathes correctly, your setup is working.

Quick Verification Checklist

  • Server logs show non-zero region file count

  • PathNodes also load with a non-zero count

  • Mobs walk around walls instead of clipping through

  • Players cannot move through closed doors

  • Raid bosses chase targets across complex terrain

Troubleshooting Common GeoData Issues

Even with a clean install, you can hit problems. Here are the issues I run into most often and how I fix them.

GeoData Not Loading

Check that GeoDataEnabled = True and that the path in GeoIndexPath matches your actual folder layout. Linux servers are case-sensitive, so GeoData and geodata are different paths.

PathNodes Not Loading

Almost always a missing or misplaced pathnode_index.txt. Confirm the file exists and that the PathnodeIndexPath value points to it.

NPCs Walking Through Walls

Your GeoData is loading but the collision values are missing or in the wrong format. Verify you used the L2J format, not L2OFF. Run the converter if needed.

Server Lag After Geodata Install

Pathfinding is expensive. Enable PathCleanEnabled, reduce the pathnode grid in dense areas, and make sure your server has at least 2 GB of RAM allocated to the Java heap.

Old Guides With Broken Links

A lot of community guides from 2010 to 2015 link to dead file hosts. Stick to the L2J Geodata project on SourceForge or your fork’s official repository. Those mirrors are maintained and stable.

FAQs

How do I setup geodata on L2J?

Download a geodata pack that matches your server’s chronicle, extract the contents into dist/game/data/geodata/, then enable GeoData and PathNodes by editing GeoData.properties. Restart the server and confirm the console reports a non-zero region count.

How to put geodata and pathnode in L2J server?

Place the .l2j region files into dist/game/data/geodata/, drop the pathnode folder into the same directory, and add the geo_index.txt and pathnode_index.txt files at the root of the geodata folder. Then set GeoDataEnabled = True in GeoData.properties.

How to create your own geodata for L2J?

Use Stazis L2 Geo Converter (GeoConv) to convert original L2OFF .dat files into L2J format. Open the resulting files in GeoEditor or HDGE to edit regions, then rebuild the geo_index.txt to reference your new files.

How can I efficiently remove unnecessary path nodes?

Delete matching entries from both geo_index.txt and pathnode_index.txt for any region you no longer need. Then enable PathCleanEnabled = True in GeoData.properties so the server removes unreachable nodes automatically on startup.

Final Thoughts on GeoData PathNodes L2J Server Setup

Getting GeoData and PathNodes working on an L2J server is the difference between a flat prototype and a believable game world. Once you have the geodata folder in place, the index files mapped, and GeoData.properties flipped on, the whole system runs quietly in the background. Spend an afternoon on a clean install, keep a backup of your working geo_index.txt and pathnode_index.txt, and you will be able to rebuild any L2J pack in under an hour.

For more Lineage 2 server tutorials, geodata tools, and pack reviews, keep our Top Game Server guides bookmarked. We publish fresh L2J content for server admins every month.

Leave a Comment