Wiki
Clone wikiL2Homage / 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
- Credits
- Features
- Installation
- Customizing and Exporting Content
- Weapons
- ID
- T. ID
- Name ID
- In-Game Name
- Type
- SubType
- Price
- Durability
- Weight
- Crystallizable
- Crystal Type
- Crystal Count
- P. Atk
- M. Atk
- Crit Rate
- Hit Rate
- Evasion
- Shield P. Def
- Shield Rate
- Speed
- Hero
- MP Consume Per Attack
- Soulshot Consume
- Spiritshot Consume
- Attack Range
- Damage Range
- Base Attribute Attack
- Base Attribute Defense
- Item Skill
- Attack Skill
- Magic Skill
- Magic Skill Percentage
- Enchanted to +4 Skill
- Special Skills
- Droppable
- Tradable
- Private Store-able
- Destructible
- Description
- Weapon Mesh 1-2
- Weapon Texture 1-4
- Weapon Sound 1-4
- Drop Sound
- Equip Sound
- Effect
- Icon 1-5
- Drop Mesh 1-3
- Drop Texture 1
- Drop Texture Extra
- Armors
- Etcs
- Recipes
- Sets
- Skills
- NPCs
- Spawns
- Droplists
- Classes
- Game Tips
- Hunting Zones
- Chat Filter
- Raids
- System Text
- System Msg
- Zone Names
- EULA
- AI
- Weapons
- Builder Commands
- Security
- Creating Launcher
- Account Creation
- Additional Customization
- Future Customization
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:
Click on Installation on the left side, then "New SQL server....".
Select the version you wish to install. The free dev version should work just fine.
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.
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.
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.
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.
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.
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.
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:
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:
Click OK, and your lin2db should now be visible in the object explorer to the left.
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!
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.."
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:
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:
Click OK. You should now see your account in the object explorer on the left side.
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:
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:
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:
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.
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".
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:
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.
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:
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".
You'll see the table has no rows at the moment. Each row represents a game world. For now, everything should just say NULL.
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.
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:
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:
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:
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.
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:
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.
Click "Next", and tick the "Change the default database to" field. Find the lin2db database in the dropdown. Select it.
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:
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:
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.
If you're unsure of what your mssql instance is called, look at the top of the object explorer in SSMS.
You should also change the admin password on line 26.
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.
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:
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:
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:
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!
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:
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:
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.
- hAuthD
- CacheD
- L2Server
- 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.
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:
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:
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:
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:
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:
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:
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.
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:
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