Skip to content

Repository files navigation

Lineage II Solo

L2Solo (C4: Scions of Destiny)

Old-school Lineage 2 solo play, locally in a live world with over 1700 bot population.

L2Solo is a local-first Lineage II C4 server emulator, tuned for a solo MMO experiment: one real player, a live world, and bots with AI that makes the server feel alive. Nothing is auto-generated. Everything in the world is the result of a player's or a bot's actions.

Project status: public alpha

🏗️ Work in progress. Playable.

💬 Discord Support, updates, and communication. Join the Discord to be up to date with development.

⚔️ Game client Clean C4 client protocol 656

Latest updates

  • 2026-08-25 Bot clans update follow-up, bug fixes
  • 2026-08-24 Bot clans, better cold/hot performance, bug fixes, and more
  • 2026-08-20 Loot and mob skills bug fixes, bot social graph base
  • 2026-08-19 Runtime optimization, cold bot progression bottlenecks fix, bot equipment enchantment
  • 2026-08-18 Fixes, cold bots progression, better AI compatibility
  • 2026-08-17 Fix cold bots progression, melee and polearm attack range, raid minion party fear
  • 2026-08-16 Summoners, BD, SWS, agro skills and Observer update
  • 2026-08-15 Blade Dancers and Sword Singers bot progression update
  • 2026-08-15 Raid Encounter and Gameplay Stability Update
  • 2026-08-15 Server stability and performance update
  • 2026-08-13 Fix hot party performance issues, fix raid boss atk freeze
  • 2026-08-13 Raid bosses, better bot progression and market use, skill fixes, party finder update
  • 2026-08-11 Expand C4 world content and bot progression systems
  • 2026-08-09 Expand C4 world content and runtime fidelity

Game Checklist

✅ What's done

Server:

  • Server launcher
  • Authentication: create account, login (C4 client, protocol 656)
  • Character creation
  • Variable server rates for each server start: (x1/x10/x50) XP, SP, party XP/SP, drop/adena/spoil multipliers
  • Real-time player web map that shows bots and players
  • Partial or full wipe anytime

World:

  • Complete geodata for all locations
  • Complete live economy
  • Teleports via NPC or .admin menu
  • Live world / local / party / trade chats
  • NPC shops in towns
  • Profession change (first to third)
  • Auto-learn skills (no books or NPC needed)
  • Quests (0-20lvl + 1st profession change)
  • Private trade or craft
  • Clans, including bot clans

Character:

  • Progression depending on chosen rates
  • Full C4 skill coverage: self, targeted, AoE, effects, items, and class skills
  • Potions, scrolls, spoil, SA, manor, etc
  • Party with bots with native (/invite, /leave), plus .botparty / .bp to find bots and invite them to the party
  • All armor sets
  • Soulshots/Spiritshots
  • Death, respawn

Mobs:

  • Attack
  • Skill usage
  • Drop table (scales from server rates)
  • Social agro
  • AoE agro
  • Party loot
  • Raid bosses

Bots:

  • Dynamic bot population with a smart new bot seeding up to 1700
  • Bots are farming solo and in party
  • In-party roles (tank, dps, healer, buffer, etc)
  • In-party buff control
  • Bot goals: equipment craft/drop/purchase, gain wealth, lvl-up faster, etc
  • Craft using recipes and craft stations
  • Selling loot in towns using a private store
  • Buying needed resources or equipment
  • PK bots
  • Bots attack a PK or run away
  • Communication in chat (LFP, LFG, PK alert, etc)
  • Cost parties and friends system
  • Reputation system - bots will reject player party if you treated them badly or become friends and const party members if good
  • Bots ask for loot if you have something they need
  • Bots go for NPC (Nobie guide) buff
  • Bots change their farming location based on lvl, number of mobs around, or a crafting goal
  • Bots join and fight in a party with a player
  • Bots have a memory about interaction with a player; they act correspondingly
  • Bot persona traits: Sociability, Commitment, Caution, Ambition, Assertiveness, Empathy, Resilience
  • Bots create clans, level clans up, form clan farm parties

✴️ Will be added

  • Clan halls
  • Clan wars
  • Wars for a farm spot
  • Olympiad, heroes
  • Sieges (bot- or player -driven)
  • World bosses
  • Full quests, including profession change
  • Better bot AI brain
  • Complete Lineage 2 C4 experience

🎮 Wanna play now?

You will need:

Quick Start

npm install
npm start

That command will start the L2Solo Launcher.

Press Start in the launcher to run the server.

On the first server start, L2Solo checks data/Geodata. If the region files are missing, it downloads the verified C4 geodata pack from https://l2solo.com/files/geodata.zip and installs it before opening the game server. The archive is about 209 MiB and expands to about 900 MiB. You can prepare it without starting the server with:

npm run geodata

Custom mirrors and external geodata directories can be configured with L2NODE_GEODATA_URL, L2NODE_GEODATA_SHA256, and L2NODE_GEODATA_DIR.

Configuration

Committed defaults live in config/default.ini.

Private local overrides go in ignored config/local.ini. This is where API keys and a machine-specific SQLite path belong.

Example:

[OpenRouter]
enabled = true
apiKey = <your-OpenRouter-key-here>
apiUrl = https://openrouter.ai/api/v1/chat/completions
model = openai/gpt-5.6-luna
partyRouterModel = openai/gpt-5.6-luna
debug = true

OpenRouter can also read the key/model from environment variables:

OPENROUTER_API_KEY=sk-or-v1-your-key-here npm start

The bot simulation can also use a local or remote provider that exposes the OpenAI-compatible Chat Completions API. Use an [AI] section instead of [OpenRouter] and provide the complete endpoint URL:

[AI]
enabled = true
apiUrl = http://127.0.0.1:1234/v1/chat/completions
apiKey = lm-studio
model = <model-id-from-the-provider>
partyRouterModel = <model-id-from-the-provider>
# Optional for thinking models: off (default), low, medium, or high.
# reasoningEffort = off

For Ollama, use http://127.0.0.1:11434/v1/chat/completions and a pulled model tag such as llama3.2. The API key can be empty for local providers; a value like ollama or lm-studio is also accepted when the server expects an OpenAI-compatible client key. Thinking is disabled by default for [AI], which keeps the bounded bot response budget available for the required JSON; set reasoningEffort to low, medium, or high when the selected model benefits from explicit reasoning.

In-Game Commands

  • .admin - open the admin menu.
  • .sell - sell all unequipped non-Adena items for 50% item value.
  • .bot / .b - open companion controls.
  • .botparty / .bp - search active bots to join the player party; distant companions catch up after joining.
  • .botfriends / .bf - friend list and const party management.
  • .botstatus / .bs - show a bot overview panel.
  • .botstatus <name> / .bs <name> - show detailed status for a specific bot.
  • .botpath / .bpath (optionally with <name>) - inspect bot movement, town-route waypoints, and geodata path diagnostics.
  • .trade or /trade - open the bot trade window with the targeted SimPlayer, useful as a fallback to the native client trade action.
  • .leave - dismiss all companion bots.
  • .kick <name> - dismiss one companion bot.
  • /invite while targeting a bot - recruit that bot as a companion.
  • /dismiss <name> and /leave also work through the party request path.

Nearby bots also react to plain chat lines such as hi, follow, wait, hunt, heal, and buff.

Credits

This project is a heavily modified solo-MMO fork of the original NodeL2 Server Emulator.

L2Solo is licensed under the Apache 2.0 license.

Crafting with ❤️ by a player for players 🤘

L2solo hit the star

About

Lineage II Chronicle 4 server emulator tuned for a solo MMO experience

Topics

Resources

Stars

19 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages