Ctrl+K

Geodata & Pathfinding

L2J Evolution uses a high-precision geodata layer combined with a modern NavMesh-based pathfinding system, replacing the legacy L2J pathfinding entirely. Together, they produce accurate movement validation, realistic AI navigation, and a gameplay feel closer to retail.

Geodata

Geodata is derived from map data extracted from the Lineage II client (UNR format) and processed into a server-side binary format optimized for runtime gameplay systems. No original client assets are distributed — only derived, processed data is used at runtime.

Geodata Source: Geodata is generated from map data extracted from the Lineage II client (UNR format), processed into a server-side format optimized for gameplay systems. No original client assets are distributed — only derived data is used at runtime.

Geodata is the authoritative validation layer for all spatial checks:

SystemRole
CollisionDetermines whether a move between two points is physically blocked
Movement validationServer-side confirmation of every player and NPC step
Line of Sight (LOS)Used by skills, aggro detection, and ranged attacks
Z / Height checksVertical position resolution across terrain and structures

Pathfinding — NavMesh

The legacy L2J pathfinding system has been fully replaced. L2J Evolution uses NavMesh-based pathfinding (Recast/Detour style), which generates navigable mesh surfaces from geodata geometry and computes smooth, obstacle-aware paths for AI and assisted movement.

Architecture note: NavMesh handles routing and pathfinding only. Geodata remains the authoritative validation layer. Every move computed by NavMesh is still validated against geodata before being applied — the two systems are complementary, not redundant.
  • Smoother, more fluid NPC and player movement
  • More natural AI behavior — mobs path around obstacles instead of getting stuck
  • Better obstacle avoidance on complex terrain (bridges, slopes, indoor areas)
  • Gameplay feel significantly closer to retail server behavior

Development Status

The NavMesh system is still under active development, but is already stable and working satisfactorily in production. It is continuously improved to handle edge cases: steep slopes, underground caves, complex LOS scenarios, and dynamic obstacles.

ComponentStatus
Geodata layerStable — used in production
NavMesh generationStable — production-ready
Path smoothing & edge casesActive development — continuously improved
Cave / dungeon routingActive development

Demo Video

NavMesh pathfinding in action — mobs navigating terrain, avoiding obstacles, and pathing through complex areas: