Wiki

Clone wiki

L2Homage / Home

Welcome

This wiki is a work in progress. I plan on keeping this wiki up to date, documenting everything you need to know about the L2 Homage (L2H) tool. I won't go into details on what happens behind the scenes, but I'll explain how to setup a server environment, and how to use L2H to customize the data. If you have any further questions, you can contact me directly on Discord.

I've recently been made aware of a localization issue with L2H. If you're using Russian localization, you might run into issues.

Table of Content

What is L2 Homage

L2Homage is a modding tool meant to make modding L2 OFF files easier. It doesn't do anything you can't do on your own by editing a handful of files. It just makes the whole process easier. Think of L2H as an extensive editing tool for both client and server files for Lineage 2 Epilogue.

This project is aimed at providing users with a tool that’s capable of re-purposing most of Lineage 2's existing in-game content. L2H allows users to rethink and reshape the world of Lineage 2, providing the hordes of burnt out players with new, exciting content, without having to spend hours learning how to manipulate the data structure. The hope is to see a bunch of unique, new game worlds appear, instead of relaunches of the same L2 experience we’ve all been through too many times to count.

With this tool, you can edit all weapons, armors, misc items (etcs), recipes, npcs, droplists and spawns. The list goes on, and expands as the project evolves.

L2H allows you to very easily edit, replicate or modify a huge of amount of Lineage 2 content - without having to worry about L2OFF data structures, file editors, encryption or decryption.

It's as simple as editing a spreadsheet.

Credits

Special thanks to the people who helped make L2Homage possible L2H wouldn't be here if it wasn't for:

  • Eressea, for sharing an awesome extender and for answering a bunch of questions. L2H wouldn't have started with your contributions.

  • Weedy, for encouraging development, helping with tests and providing great feedback.

  • Sepultribe, for answering very specific questions and helping with the encryption/decryption setup.

  • L2Miko, for sharing encryption/decryption and assembling/disassembling tools (https://github.com/L2Miko/L2FileEdit)

  • Rootware, for inspiration for the spawn system and how to present territory data.

  • PARADISE, for being the first to tell me this project had a future, as well as answering questions about the L2 coordinate system.

  • Virusfreeturtlecat, for helping with so many questions I've had a long the way.

  • Sindelia, for always being helpful when I need it.

  • AdvExt, for their account creation tool.

  • Badwatermagic, for solid testing and ongoing feedback.

You've all been very helpful, thank you so much for your contribution! Let's make sure Lineage 2 stays alive.

I'm sorry if I forgot to mention people, this project has been in development since 2017. My memory isn't what it used to be.

Features

The following features are currently available in L2 Homage:

  • Add, delete or modify weapons
  • Add, delete or modify armors
  • Add, delete or modify etc items
  • Add, delete or modify sets
  • Add, delete or modify spawn zones
  • Add, delete or modify NPCs
  • Add, delete or modify NPC spawns and parameters
  • Add, delete or modify skills
  • Add, delete or modify recipes
  • Add, delete or modify droplists
  • Add, delete or modify shoplists (multisell)
  • Modify any stats of any class
  • Modify the starting equipment of any class
  • Modify the starting location of all classes
  • Modify when classes learn skills
  • Modify what skills cost or require
  • Modify NPC AI Properties (requires .nasc files in data/ai folder)
  • Modify system text
  • Modify class descriptions and titles
  • Modify loading screen text
  • Modify hunting areas
  • Modify the EULA
  • Modify the chat filter
  • Modify zone names
  • Modify raids list (accessible through in-game map)
  • Export server and client files simultaneously, ready for use immediately

Installation

This section outlines everything you need to install and how.

Installation Overview

To use L2H, we'll need to install a few programs. I'll outline them first, then detail each step below. This wiki is only intended for Windows installations. If you follow these steps, the installation should work on a regular Windows 10 x64 installation.

It's important to know that you cannot play Lineage 2 on the same computer you host the server on, unless your router supports loopback. Most routers don't, so just assume you need two computers to setup a development environment. Most computers will work, even laptops, but you will run into issues if it has less than 16GB RAM.

The first thing we'll do, is prepare the Lineage 2 server installation. You'll need to download the server bundle, and extract it somewhere easily accessible. "C:/l2s" is a good option. Why? I'll let you know later.

The second thing we'll do is install MSSQL. This is your database, containing character data, user accounts, world data and so on. For the most part, you won't need to do much here to customize Lineage 2. You'll mainly be interacting with the database to handle accounts, bans or adding/removing items from players. I personally like using SQL Server Management Studio (SSMS), so I'll be using that to show examples.

Next, we'll setup the ODBC files. Think of these as access points to your database. You only need to set them up once, then you'll never touch them again.

We'll test that the database is working correctly, and then we'll test the server installation. When everything is working as intended, it's time to install the Lineage 2 game client, the modded L2/system folder and prepare the L2H tool. The L2H tool requires a set of map images as well, as they're used for visually representing spawn areas.

Downloads and Preparation

The files you need to download are available here:

MSSQL: https://go.microsoft.com/fwlink/?linkid=866662

SSMS: https://aka.ms/ssmsfullsetup

Lineage 2 Epilogue Client: https://drive.google.com/file/d/0BxcFDPsm5786MHpWQmR5Ym96VXc/view <-- Could change any time. I'm not hosting the files. If link is down, just find a regular Lineage 2 Epilogue installation. It's easily available.

Lineage 2 System Folder: https://ufile.io/yc5unx8h

L2 Server Bundle: https://l2-info.ru/pts/sborki-pts/12-l2-pts-epilogue.html <-- Could change any time. I'm not hosting the files.

L2 CacheD Serial Generator: https://ufile.io/8oqkwsqn

L2 Account Creation Tool: https://ufile.io/3rpef2e7

L2 AI Bundle: https://mega.nz/folder/GWBSjAKK#u1hRLGHdvQooUTAVRXE4jQ/file/WGxUkCAK <-- it's the file called ai.tar.bz2.

L2 Homage: https://ufile.io/rtn4d8q1

Map files: https://ufile.io/xnexegup

Installation of L2OFF server

Unpack the downloaded server bundle anywhere you like. It's wise to keep it in a short location though, just in case you want to mess with split AI files at a later time. It can get messy if the path is longer than 256 characters, and you'll easily reach that cap with unpacked AI files. I suggest "C:/l2s" or similar. In the folder you unpacked, create a new folder called "ODBC". You'll know why later.

Download the "L2 CacheD Serial Generator" linked above. Unpack it into the "C:/l2s/Cached" folder. You will need this later.

Installation of MSSQL and SSMS

MSSQL

Let's start with MSSQL. Download the installer linked above, and execute it. Click on custom installation to choose directory. It doesn't really matter where you install this. Click 'Install' to continue. The installer will now download the required files and move on to the SQL server installation. When it's ready, it'll look like this:

SQL1.png

Click on Installation on the left side, then "New SQL server....".

SQL2.png

Select the version you wish to install. The free dev version should work just fine.

SQL3.png

Click 'Next' until you get to Feature Selection. We don't need much for our installation, so just tick the "Database Engine Services" selection and click next.

SQL4.png

Now it's time to name our MSSQL instance. You can call it what you want, but keep it persistent. I'll use L2HTest for this guide. Click next.

SQL5.png

For the server configuration, set the SQL Server Browser service to automatic. It'll make your life a little easier with the ODBC files. Then click next.

SQL6.png

This step is very important. Be sure to set the Authentication Mode to Mixed Mode. This allows the Lineage 2 server to connect to the database with a username/password. If you select the "Windows authentication mode", you'll run into trouble. Don't say I didn't warn you. Type in a strong password for your server, or a simple password, depending on how vulnerable you want the database to be. I find that server administrators generally want their data to be secure, but it's all up to you, you renegade. For this guide, I'll use the universally strong and powerful password "SUPERSECUREPASSWORD1". Notice how there's a number in there, it makes everything that much more secure. After typing in your password, click on the "Add Current User" button to add your windows account to the server as an administrator.

SQL7.png

Click Next, then Install. When everything is done, you should see that the installation was successful. If not, something went wrong. Check the previous steps again, before asking on Discord please.

SQL8.png

Boom, our database is now ready to be fed some Lineage 2 stuff. To make this process easier on you (and me, if you have any questions) we'll use SSMS.

SSMS

Download the linked SSMS installer above and execute it. You can't really mess up the SSMS installation, so just go ahead and install it. After the installation, you'll need to restart your computer.

When your computer is ready again, let's open SSMS! The first time we log in, we'll use the windows authentication. You should see your server name in the field below server type.

SSMS1.png

Click connect, and you should now be connected to your database. You'll know when the object explorer to the left looks something like this:

SSMS2.png

Right click on the Databases folder and select New Database. You only need to fill in the name of the new database, we're good with the standard settings. Call it lin2db. The prompt should look like this:

SSMS3.png

Click OK, and your lin2db should now be visible in the object explorer to the left.

SSMS4.png

The database lin2db will contain login information and stuff about accounts. That's all good, but we need another database to hold information about the game world. Items equipped, raid bosses spawned, castles owned and so on. We'll call the second database lin2world. Go ahead and create it the same way you did with lin2db. When finished, you should see your two databases ready for action!

SSMS5.png

But wait! They're empty right now. There's nothing in the databases. We just created databases without any sort of structure or data in it. Luckily, we don't have to do that ourselves, as the data for the databases is already included in your Lineage 2 server installation. We just need to find it. Before we do that though, we need to create an account that can access these databases, without using Windows authentication.

Open the Security folder, and then the Logins folder. Right click the Logins folder and click "New Login.."

SSMS7.png

Now we need to give your new admin account a name. For this guide, we'll call it something cryptic, like l2admin. Set the authentication mode to SQL Server authentication and give it a strong password. You should use a different password for each account you make, that's just good databasing. We're going to use a completely different but equally strong password for this account, so we'll use "SUPERSECUREPASSWORD2". Fill in your password and REMEMBER to untick the little "Enforce password policy" bastard hiding in there. That means it should be OFF. This is what you should see by now:

SSMS8.png

I've marked the box that needs to be OFF with a discrete arrow.

Next we need to allow this account some big cheese access privileges. Click on the "Server Roles" page, and tick "sysadmin". That'll give our new account all the access it needs. See example:

SSMS9.png

Click OK. You should now see your account in the object explorer on the left side.

SSMS8_1.png

Now we're ready to use our newly created account. This account will be used by the server software to connect to your database.

Editing SQL File

Navigate to your Lineage 2 Server installation. You should see a folder called "sql". In there you'll find two files with some recognizable names; lin2db.sql and lin2world.sql. These contain everything you need for your databases. But, as with everything Lineage 2, you need to mess with them a little bit first.

Right click lin2world.sql and open it in your favorite text editor. I prefer notepad++, but most text editors will do. You just need to be able to see the line numbers for what we're about to do.

Go to line 2961. It should look like this:

SSMS10.png

We need to change 3 values here.

Change l2world01 to whatever you want the world to be called. For this guide, we'll use l2h.

Change dbid to the administrator login we created in SSMS.

Change password to the administrator password we created in SSMS.

The line should look like this (but with your info instead of mine):

-- & '' OPENROWSET ( ''SQLOLEDB'', ''l2h'';''l2admin'';''SUPERSECUREPASSWORD2'', ''

Now go to line 6611. It should look like this:

SSMS11.png

Again, change 3 values.

l2world01 should be the same as we used before. In this guide, it's 'l2h'.

gamma needs to be changed to our newly created account name. In this guide, it's 'l2admin'.

lineage2pwd needs to be changed to our newly created account password. In this guide, it's 'SUPERSECUREPASSWORD2'.

Now go to line 8791. It should look like this:

SSMS12.png

Change 2 values here.

'sa' needs to be changed to our newly created account name. In this guide, it's 'l2admin'.

'pass' needs to be changed to our newly created account password. In this guide, it's 'SUPERSECUREPASSWORD2'.

DO NOT CHANGE @world_id NO MATTER HOW TEMPTING IT IS!

Now go change the same values in line 12818 and line 13769.

SSMS13.png

SSMS14.png

Make sure to save the .sql file. We're done with that for now! Phew.

Now it's time to show SSMS some love again.

Back to SSMS Again

Open SSMS again, find your lin2db and right-click it, then select "New Query".

SSMS15.png

You'll see a big blank white space in the middle of the screen now. Go find your lin2db.sql file in the Lineage 2 server installation and drag it in there. It should look like this:

SSMS16.png

Make sure the dropdown menu in the top left corner correctly shows lin2db as the targeted database. Then click Execute. If you've done everything right, you should get a message saying the query was successful.

SSMS17.png

Now right-click the lin2world database in the object explorer and select "New Query". This time, we'll drag in our edited lin2world.sql file. Make sure the dropdown menu in the top left corner is targeting the lin2world database. Then click execute.

It'll take a bit longer, but you should get a message saying something like this:

SSMS18.png

There's a few missing objects, but I haven't had any issues with that. You'll eventually learn how everything regarding L2OFF files seems to be missing something, contains mixed data or straight up corrupted data. It'll still keep chugging along though, like a train held together by duct-tape. That doesn't matter, we still love this monstrosity.

Last thing we need to do here is to add a world to our database.

Expand Databases -> lin2db -> Tables -> dbo.server

Right click dbo.server and click "Edit Top 200 Rows".

SSMS19.png

You'll see the table has no rows at the moment. Each row represents a game world. For now, everything should just say NULL.

SSMS20.png

Now we input our data.

id: 1 name: l2h (same as we did when we edited the lin2world.sql file)

ip: Use your external IP if you want other people to connect. If you don't know your IP, check here. Use your Internal IP if you want a closed LAN setup. You can get that by pressing winkey+r and writing cmd. In the command window, write ipconfig and press enter. You should see a bunch of data there, including your internal IP. Check below for an example.

SSMS21.png

inner_ip: If you used your external IP in the ip field, you can use your internal IP here. If not, write 127.0.0.1.

ageLimit: 0

pk_flag: 1

kind: 0

port: 7777

region: 0

Then press enter. Let's use the internal IP for this guide. Here's how it should look:

SSMS22.png

That was the last part of the SQL and SSMS installation!

Let's move on to the ODBC files.

ODBC Files

Without going into too much detail, ODBC files are a way for applications to connect to your database. We'll create two ODBC files, one for each database we have (lin2db, lin2world).

Go to Control Panel -> Administrative Tools -> ODBC Data Sources 64-bit. You can also just press the windows key and write ODBC, it should be the only resulting item.

Open ODBC Data Source Administrator (64-bit) and click on the File DSN tab. Navigate to wherever you want your two ODBC files to be located. It doesn't really matter. For this guide, I'll use "C:/l2s/ODBC". I created that folder myself, there won't be one by default. It should look like this:

ODBC1.png

Go to your ODBC folder and click on the "Set Directory" button. It'll ask you if you want to make this location your default ODBC location. Click yes.

Now we need to add 2 ODBC files. Click on "Add...". You'll see this screen:

ODBC2.png

Select the "ODBC Driver for SQL Server" and click next. You'll be asked to name the first ODBC file. For this guide, we'll call it lin2db.

ODBC3.png

Click "Next" and then "Finish". A new prompt will appear. If you remembered to set the SQL Browser Service to automatic, you should see your SQL server appear in the "server" dropdown. Be warned, it can take a few tries for windows to find it. Keep clicking that dropdown if you're certain you enabled the SQL Browser Service. If not, you'll have to input the name of your SQL instance manually. This is how it should look:

ODBC4.png

Click next, and select the "SQL Server Authentication with login ID" option. Put our newly created account name and password into the Login ID and Password fields below. For this guide, it's Login ID:l2admin and Password:SUPERSECUREPASSWORD2. See below for example.

ODBC5.png

Click "Next", and tick the "Change the default database to" field. Find the lin2db database in the dropdown. Select it.

ODBC6.png

Click next, and then click on Finish. A prompt will allow you to "Test Data Source...". Do that. Assuming you've done everything right, and windows isn't throwing a fit, you'll see a successful test result:

ODBC7.png

Go through the same steps to create the second ODBC file "lin2world". Remember to set the default database to lin2world in this case.

When done, you should see the two files in your ODBC Data Source Administrator:

ODBC8.png

And with that, ladies and gentlemen, we're done with the SQL installation, the SSMS setup and the ODBC configuration. If you've made it this far, good job. I know you're enjoying yourself with all this exciting setup stuff, but it's about to get even more fun.

Configuration of Server Files

There are 4 separate parts to a Lineage 2 server.

*hAuthD <-- login server.

*cacheD <-- cache server. Think of it as your server's RAM.

*L2Server <-- Lineage 2 world server.

*L2NPC <-- Lineage 2 NPC server.

We need to configure these 4 parts to work with our database and SQL server. Navigate to your Lineage 2 server folder. For this guide, it would be "C:/l2s".

HAuthD (Login Server)

Open the folder "hAuthD" and find the hAuthD.ini file. Open it with a text editor. In the top you'll see the mssql settings. You need to update it with your info. This is how it should look, except with your own servername.

Do not put LAPTOP-G84KSU8T\L2HTEST in there and ask me why it's not working.

Configs1.png

If you're unsure of what your mssql instance is called, look at the top of the object explorer in SSMS.

Configs2.png

You should also change the admin password on line 26.

Configs3.png

Save the hAuthD.ini and close the file. We'll hopefully never have to touch it again. Let's see if it works! Right-click hAuthD.exe and run as administrator.

Configs4.png

Success!! Do not close hAuthD yet.

CacheD (Cached Data)

Next up is CacheD. Navigate to your server location. This guide uses "C:/l2s".

This next step is very important, so please make sure you read the instructions before continuing.

Go to the folder "C:/l2s/cached/Serial Number Generator". You should have that if you followed this guide. Inside is CachedSNGen.exe. Open it, you'll see this:

Configs5.png

We need to fill out the two top fields. To get our Mac Address and Machine Name, let's open up a command prompt (windows key + r, then write "cmd"). Write "ipconfig /all" in the prompt, not including the quotation marks of course. I removed some private information here, but you should see something like this:

Configs6.png

Grab your Physical Address and put it into the Mac Address field of the serial number generator.

In the Machine Name field, write your IPv4 address. It should be your internal IP. Yes, I know it asks for machine name. But what it really wants is your internal IP. Mine is 192.168.1.70, yours is most likely similar.

Click on the "Generate" button, and you should get a key. Save this key somewhere very important! You're going to use it very soon.

Navigate to "C:/l2s/cacheD" and find CachedMyExt64.exe. Right-click it and open as administrator. You should get prompted to enter a serial key. It'll look like this:

Configs7.png

Input your generated key into the prompt and click OK. CacheD will close itself. You need to open it again (remember as administrator). This time, you'll see a different prompt, asking for the file DB and your mssql login. For this guide, the File DB is called lin2world.dsn. We created it in the ODBC section. It may suggest l2world.dsn, which won't work for us, so be sure to double-check that field.

As you know by now, the login name is: l2admin and password: SUPERSECUREPASSWORD2.

Click OK! If you see something like this, it worked!

Configs8.png

Do not close the CacheD process yet, we need it to be running for the next two parts to work.

L2Server (World Server)

Next, we navigate to "c:/l2s/l2server". Right-click L2ServerMyExt64.exe and run as administrator. This one will ask you for a serial key again. Input the same one as you generated and used for CacheD above. L2ServerMyExt64.exe will close, and you'll need to start it again (as administrator). If you see something like this, you're successful:

Configs9.png

Don't close L2server yet, we need it for the NPC server.

L2NPC Server

Now navigate to "c:/l2s/L2NPC". Right-click L2NPCMyExt64.exe and run as administrator. This shouldn't ask you for a key, but sometimes the little rascal is hiding. If that's the case, hold your mouse over the process in the task bar, so the little square preview shows up. Then right-click the square and select "Move". Then use the mouse to bring the process into a visible area.

If you end up with something like this, it worked:

Configs10.png

Congratulations! You've successfully set up a Lineage 2 Epilogue server! You can close the server now that everything seems to be working. Next time you want to start the server, remember the order of the 4 parts and remember to open them as administrator.

  1. hAuthD
  2. CacheD
  3. L2Server
  4. L2NPC

You can set the administrator option in the compatibility properties if you want to make life easier for yourself. You'll be opening these files a bunch of times when modding.

With the server fully functional, it's almost time to setup our client and L2Homage! Awesome stuff. Before we do that, let's create an account.

Creating Account

Download the linked L2 Account Creation Tool, and open the L2Account.ini file. You'll need to input data 3 places.

Configs11.png

DBAccount_Text is the account name you created in SSMS. This guide uses l2admin.

DBBase_Text is the name of your database. This guide uses lin2db.

DBPassword_Text is the account password you created in SSMS. This guide uses SUPERSECUREPASSWORD2.

DBServer_Text is the name of your MSSQL instance. For this guide it's LAPTOP-G84KSU8T\L2HTEST.

DBWorld_Text is the name of the L2 World Database. For this guide it's lin2world.

Save the L2Account.ini file and open L2Account.exe. You should see something like this:

Configs12.png

Click on "Test Connect". You should see the connection was successful. That means we're ready to add an account.

For this guide, the account will be 'TEST' with password '123'. You can choose an AccountName and a Password yourself, but don't click Add Account yet. We want this first account to have GM privileges, so we can test stuff out. In L2, a GM account is called a "Builder Account", and there are several tiers of builder accounts. The highest is level 1, which can do anything. Let's use that. We'll tick the little "is Builder Account" setting and set the level to '1'. Now we can click "Add Account". Hopefully, you'll see this:

Configs13.png

Now we're finally ready to move on to the Client and L2Homage!

Installation of Lineage 2 Epilogue client

Download and install Lineage 2 Epilogue. I'm trusting you to be able to install this one on your own, tech wizard. When you've installed the client, navigate to the installation folder and rename the "system" folder to "system backup". Then download the patched system folder linked above and place it where the original system folder would have been. That's important, otherwise you won't be able to launch the game correctly.

Installation and Preparation of L2 Homage

Compared to what we've just been through, the installation of L2 Homage will be a breeze.

Installing L2H

Simply download and unpack the latest version of L2H wherever you want. That's it, now we just need to feed it data from the client and the server. Do not open L2H yet, as we need to prepare a few things

Preparing L2H

We need to add 4 things to the Data folder in L2H.

  • Encrypted Data Files
  • Server Script Files
  • Map Files
  • AI Files

Encrypted Data Files

We'll start with the data files. Go to wherever you installed Lineage 2, then find the "system" folder, and copy all of the .dat files AND the l2.ini file you find there. Go to the folder "L2 Homage/Data/encrypted data files" and paste them. You don't really need all of them, but it's much easier just to place them all in there. That's it for the encrypted data files.

Server Script Files

Go to your Lineage 2 Server folder, and find the "script" folder. For this guide, that would be "C:\l2s\script". Grab all the .txt files there and copy them into "L2 Homage/Data/server". Then it's time for the map files.

Map Files

Download the map files linked above, and place them in the "L2 Homage/Worldmap" folder. Please notice that the Worldmap folder is not in the data folder.

AI Files

These are not strictly necessary, but they'll make it easier to change simple behaviors on NPCs. Grab the linked AI download above, and unpack the files into "L2 Homage\Data\ai\ai". Yes, there are two ai folders in a row. Now we're ready to launch L2 Homage!

L2 Homage First Launch

Open L2Homage.exe as administrator. Hopefully, you'll see this exact thing:

L2H1.png

You'll notice the decrypted files show as "not found". That's intentional. We need L2H to decrypt them for us. If you see anything else missing in your list, make sure you've followed the preparation correctly. This first launch is important, as L2H will create a baseline, necessary to modify data later.

Be aware that L2H might pretend like it's frozen while loading data, that's completely okay. It's just looking for attention, just let it finish its tantrum.

Loading Items and NPCs

Let's click on "Load Items/Npcs". L2H Should now ask you if you want to decrypt the files. Click "Confirm" and watch the magic happen. When it's done decrypting, it'll automatically start loading in the decrypted data, ready for you to modify. It should tell you when it's done, and it should look like this:

L2H2.png

Loading Skills

When items and NPCs have finished loading, we can start loading skills. Skills take much longer to load, which is why it's separated into two different loads. If all you're trying to do is edit items, you'll be much better off not loading the skills.

Let's click on "Load All Skills". Everything should load correctly. When it's done, you should see this:

L2H3.png

Now everything available for modding is loaded! Feel free to click on the different tabs above and check out the stuff you can do. There's a lot of stuff available for you, and it might seem a bit overwhelming at first - But I promise it will all make sense. To see how to use your modifications on the server and in the game client, check the "Exporting Content" part of this Wiki.

I'll use the next section of this wiki to elaborate on the different options you have when creating content. You can use this as a reference, or simply try to wing it and see where your modifications take you! Good luck on your server, I hope it turns out awesome.

Oh, and make sure to backup your stuff! Simply copy the whole "L2Homage/Data" folder somewhere else, or compress it into an archive. If you screw something up, just delete your "L2Homage/Data" folder and replace it with your backup.

Customizing and Exporting Content

The first thing you'll want to do before we start customizing content, is to set the target IP address to your server's IP. You can do this directly through L2H:

L2H4.png

Make sure that at least items/npcs are loaded, then input your IP and click "Export All". Your computer should be doing some magic for a while, preparing and exporting files for you. When L2H says it's done, you can find your exported files in your "L2H/Export" folder. There are two folders in there, Client and Server.

Everything in the "L2H/Export/Client" folder needs to be copied into your "Lineage2/system" folder.

Everything in the "L2H/Export/Server" folder needs to be copied into your server installations script folder. This guide uses "C:/l2s/script".

Let's test if it works. First of all, NEVER OPEN THE DEFAULT LINEAGE 2 LAUNCHER. It'll either not work, or it'll start updating your files. We don't want either of those things to happen.

Fire up all 4 parts of your server, and when it's ready, go to your "Lineage2/system" folder. Find l2.exe and open it. Lineage 2 should launch without a problem, and you should be greeted by your login screen.

Punch in the login/password you created with the account manager and click Login. Assuming you've done everything right, you'll be taken to the login screen. Congratulations! Create a character and try it out. You now have an almost fully functional, normal L2 Epilogue server running. You could stop right now, if that's all you want. But that's no fun, there's a billion normal servers out there. Let's start customizing it.

One important thing to note before we start. Deleting or editing original data can have dire consequences. For the most part, you want to leave the original items be. You can easily change simple stats for them, but when we start getting into skills, sets or passive bonuses, it's best to clone the item first. How? I'm glad you asked!

Weapons

Let's start with customizing a weapon. Click on the "Weapons" tab, and you'll see all the different weapons in the game at your disposal. We'll start simple and select the "small_sword". Click on the cell, not the row, and then click on the "Clone" button on the top left corner.

L2H5.png

L2H will make an exact copy of that weapon, including all references in both server and client software. Neat. It'll appear at the bottom of the list. It should look like this:

L2H6.png

Feel free to change any of the variables of your new item. It's all available. Here's a list of the columns and what you can put into them:

ID

cannot be changed

A unique identifier.

T. ID

cannot be changed

The ID of the original item template used to create this item. If blank, it's an original item.

Name ID

normal text, no spaces

The server ID of the weapon. This is used for referencing the weapon through NPCs or droplists.

In-Game Name

Normal text The in-game name of the item.

Type

cannot be changed

The type of the item. In this case, it's weapon.

SubType

Normal text

The subtype of the item. Options are:

Ancient Sword Bow Blunt Crossbow Dagger Duals Dynasty Fishing Rod Fist Polearm Rapier Shield Spellbook Sword

Price

Integer number

The default price of the item, before any taxes are calculated. Items can be sold to merchants for 50% of this value.

Durability

Integer number

The durability of the weapon. In this case, it's the number of minutes this item is exists once equipped.

Weight

Integer number

The weight of the weapon.

Crystallizable

Integer number

Can this weapon be crystallized? 1 for yes, 0 for no.

Crystal Type

Integer number

Which grade of crystal does this return? Values 0 to 7.

Crystal Count

Integer number

Amount of crystals given when item is crystallized.

P. Atk

Integer number

Physical attack value.

M. Atk

Integer number

Magical attack value.

Crit Rate

Integer number

Critical strike chance.

Hit Rate

Integer number

Accuracy rating.

Evasion

Integer number

Evasion rating.

Shield P. Def

Integer number

Physical defense value on shield.

Shield Rate

Integer number

Shield block rate.

Speed

Integer number

Attack speed. Higher is faster.

Hero

Integer number

Is this a hero item? 1 for yes, 0 for no.

MP Consume Per Attack

Integer number

Mana cost per attack. This usually applies to bows.

Soulshot Consume

Integer number

Amount of soulshots consumed per attack.

Spiritshot Consume

Integer number

Amount of spiritshots consumed per cast.

Attack Range

Integer number

The distance between the attacker and target, required to start an attack. Different from Damage Range, which is the distance between the attacker and target required to deal damage.

Damage Range

Integer number, semi-colons

The required minimum distance between the attacker and target to deal damage. Different from Attack Range, which is the distance between the attacker and target required to start an attack.

Base Attribute Attack

normal text, integer

Attack attribute and amount. Options are:

fire water wind earth holy unholy

Base Attribute Defense

Integer number, semi-colons

Defense attributes. Same options as for attribute attack above. Positive numbers for extra defense, negative numbers for opposite effect.

Item Skill

Normal text

Skill provided by item.

Attack Skill

Normal text

Skill triggered when attacked or when attacking. I can't recall which :)

Magic Skill

Normal text

Skill triggered when casting a spell.

Magic Skill Percentage

Integer number

% Chance of magic skill above being triggered.

Enchanted to +4 Skill

Normal text

Skill provided by weapon when enchanted to +4 or more.

Special Skills

normal text, separated by semi-colons

Special skills provided by item.

Droppable

Integer number

Can this item be dropped? 1 for yes, 0 for no.

Tradable

Integer number

Can this item be traded? 1 for yes, 0 for no.

Private Store-able

Integer number

Can this item be sold in a private shop? 1 for yes, 0 for no.

Destructible

Integer number

Can this item be destroyed? 1 for yes, 0 for no.

Description

Normal text

The in-game description of the item.

Weapon Mesh 1-2

Normal text

The mesh IDs of the weapon.

Weapon Texture 1-4

Normal text

The texture IDs of the weapon.

Weapon Sound 1-4

Normal text

The sound IDs of the weapon.

Drop Sound

Normal text

The sound ID played when dropping the weapon in the world.

Equip Sound

Normal text

The sound ID played when equipping the weapon on a character.

Effect

Normal text

A special effect applied to this weapon.

Icon 1-5

Normal text

The icon IDs of the weapon.

Drop Mesh 1-3

Normal text

The mesh IDs appearing on ground when weapon is dropped.

Drop Texture 1

Normal text

The texture IDs appearing when weapon is dropped.

Drop Texture Extra

Normal text

Any extra texture (if needed for some reason).

Armors

Etcs

Recipes

Sets

Skills

NPCs

Spawns

Droplists

Classes

Game Tips

Hunting Zones

Chat Filter

Raids

System Text

System Msg

Zone Names

EULA

AI

Builder Commands

Security

Creating Launcher

Account Creation

Additional Customization

Replacing Images or Textures

Future Customization

Current Workarounds

Updated