Jump to content

How to build a Lineage 2 OFF server


Recommended Posts

How to build a Lineage 2 private server, by PyroMaker

 

 

 

Hello. In this tutorial I'll be explaining how to build a Lineage 2 private server. This applies to C4, C5 and Interlude "official" servers, afterall all the C5 and Interlude servers are mere C4 PTS servers with extenders, given the fact C5 and Interlude official files were never leaked.

 

That being said, let's begin.

 

 

 

 

1. The basics:

 

The first thing you have to understand is that Lineage 2 OFF servers consume a shitload of resources and if you are opening a serious server, it sure will cost you an average amount of money. So from own experience, I can suggest these pre-requisites for required and recommended specs:

 

Required:

 

  • Athlon 64 4200+ Processor
  • 4GB RAM
  • 200GB HDD
  • 10mbit dedicated connection
  • Microsoft Windows 2003 Server x64

 

Recommended:

 

  • Dual Intel Xeon 2.8Ghz
  • 8GB or 16GB RAM
  • 2x or 3x 200GB 10k+ RPM HDDs (SCSi)
  • 100mbit dedicated connection
  • Microsoft Windows 2003 Server x64

 

Make sure the operating system is a 64-bits system, since L2Server won't work in a 32-bits system.

With the "Required" specs you'll be able to get about 300 ~ 500 players with no lag. Anything above that will cause unwanted lag.

With the "Recommended" specs you'll be able to get about 1000 ~ 1500 players with 8GB RAM and with 16GB RAM it should take on 2000 ~ 3000 players without major problems.

 

I suggest you either buy a server machine with those specs by yourself (Dell, ebay, etc) and colocate it in a datacenter like FDCServers.net or rent a dedicated machine at a datacenter like NGZ-Servers.de

 

 

2. Understanding the server:

 

Before I start explaining furthermore, first you'll need to understand how the server works.

Lineage 2 OFF servers database system is SQL. All kinds of information about characters, accounts etc. are stored in the SQL database. Therefore, you'll need MSSQL, which can be downloaded below.

 

There's something else you also need to know. Lineage 2 OFF servers basically consist of the following:

 

  • AuthD (Login Server)
  • CacheD (Acts like a bridge between L2Server.exe and SQL)
  • L2Server.exe (Game Server)
  • L2NPC.exe (Loads all NPCs in the Game Server)

 

Besides that, there are several folders with all several types of files. The most important folders, that means... Those you will be dealing with all the time to edit items, NPCs, skills, terrain issues, quests and so on are the following:

 

  • Script
  • HTML
  • Geodata

 

All of this can be found in the PPC Release.

 

 

3. Server files:

 

Alright, so you already got your server?

 

That's great. Now we need to get some files. There is a developing community forum called PostPacific. This is the place where most Lineage 2 OFF developers gather around from all over the world. These guys have worked together for a long while, and with shares from everybody PostPacific now is glad to introduce its PPC Interlude Release (not ready yet) which consists of an Interlude server pack free for all developers who want to open their own servers or simply for study purposes.

 

You'll need to download the following files:

 

 

 

4.1. Configuring the Database:

 

1. Install MSSQL server to any folder of your choice. It's a very basic installation, you'll mainly just choose "Yes" all the time. When it asks you for what kind of installation, choose "Complete". This should avoid any problems in the future. When it asks for what user to choose, leave it as "sa" and choose whatever password you wish.

 

2. Once it's finished installing, go on start menu and look for the SQL Server Management Studio. Open it. It should prompt a connection window. If the connection name isn't "localhost", type it down there and click on "Connect"

 

3. Click on "New Query", then go to your PPC Release folder and look for a folder named DBScript. Open the file "0_create-db.sql" with notepad then copy and paste all content to the New Query window, right click and press "Execute Query". You can also simply click 0_create-db.sql twice and it'll automatically perform the query. After you've done that, all databases and tables should be created. (lin2world, lin2db etc.)

 

4. Close the New Query window. Look at the left side for "Databases". Open it, then go to lin2db > tables. Right click on dbo.server and choose "Open Table". Now you'll configure the server settings in this table.

 

ID: 1 (2, 3, 4 and so on for more servers)
Name: Pick a 11 characters (no more, no less) name.
IP: Insert the WAN IP here. ([url=http://whatsmyip.org]Click to learn it![/url])
inner_ip: Insert your localhost (127.0.0.1) IP here.
ageLimit: 0
pk_flag: 1
kind: 0
port: 7777
region: 0 (1, 2, 3 and so on for more servers)

 

 

4.2. Configuring the OBDC:

 

This should be piece of cake. You'll have to configure your OBDC in order for this to function correctly.

 

1. Go on Start > Administrative Tools > Data Sources (OBDC):

 

obdc1.jpg

 

2. Go to "File DSN" tab and click on "Set Directory":

 

width=585 height=480http://i4.photobucket.com/albums/y105/koyfo/Various/Various2/obdc2.jpg[/img]

 

3. Write the adress that appears in this window somewhere for your own records and then press "Yes" to set

 

that directory as default for OBDC file DSNs:

P.S: It usually is always the same: 'C:\Program Files\Common Files\OBDC\Data Sources'

 

4. Go to that place in your computer, and create two file DSNs:

 

lin2world.dsn

lin2db.dsn

 

After you do that, open the DSNs with notepad and insert this:

 

lin2world.dsn:

 

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2world
WSID=host_name
APP=Microsoft Data Access Components
Trusted_Connection=Yes
SERVER=host_name

 

lin2db.dsn:

 

[ODBC]
DRIVER=SQL Server
UID=sa
DATABASE=lin2db
WSID=host_name
APP=Microsoft Data Access Components
Trusted_Connection=Yes
SERVER=host_name

 

If you're going to use other tables such as l2comm and so on, simply make more DSN files with respective names and alter the DATABASE line. As you can see in WSID and SERVER lines you'll have to replace host_name with your actual computer Host Name, which can be found by performing ipconfig /all. To learn how to do that, go to 5. Building the Server.

 

5. Go back to Start > Administrative Tools > Data Sources (OBDC), then go to "File DSN" tab. The DSNs you've just created should be listed there. If they still do not list up, click on "Add", choose "SQL Server", browse the DSNs where they are located and press OK.

 

It should then look like this:

 

width=585 height=480http://i4.photobucket.com/albums/y105/koyfo/Various/Various2/obdc4.jpg[/img]

 

Congratulations, you've successfully configured your OBDC!

 

 

 

5. Building the Server:

 

Now that you understand how the server works, I'll be explaining this with a bit more technical terms. If you fail to understand any of this, feel free to read again the section "Understanding the Server".

 

Let's get to work.

 

 

1. Unzip the PPC Release to any folder of your choice in your server.

 

2. Go to Start > Run, type cmd and press enter. A new prompt window will be showed. Type ipconfig /all and press enter.

You'll see a bunch of text like this:

 

C:\Documents and Settings\Administrator>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : u8714
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : NVIDIA nForce Networking Controller #2
Physical Address. . . . . . . . . : 00-18-F3-DA-E8-21
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 89.163.145.74
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 89.145.78.6
DHCP Server . . . . . . . . . . . : 211.205.230.16
DNS Servers . . . . . . . . . . . : 216.192.221.194
. . . . . . . . . . . . . . . . . . . . : 89.166.247.171
Lease Obtained. . . . . . . . . . : Montag, 4. Februar 2008 22:02:41
Lease Expires . . . . . . . . . . : Dienstag, 5. Februar 2008 00:02:41

 

This basically shows all kinds of information regarding your network you'll need to know. Keep this window open, it'll be useful for many things beyond this point.

 

3. Open the CacheD Serial Generator you've downloaded earlier. It should look like this:

 

cached.jpg

 

Insert the Mac Adress and the Machine Name (Host name) you've found in ipconfig /all in that CacheD Generator and generate the serial number.

Once you've done that, open CacheD.exe. It'll open a box asking for you to insert the Serial Number in. Insert the generated serial number in there.

 

Close it and restart it. It should ask for three things:

 

Database: You'll type lin2world here. If it's already "linworld", change it to "lin2world".
Username: You'll type sa or whatever user you set to MSSQL here.
Password: You'll type the password you've chosen for your database here.

 

Once you've inserted that and pressed OK, it should start CacheD. Congratulations, you've successfully configured CacheD.

 

4. Go to the PPC release folder > AuthD. Open config.txt.

 

Make sure it looks like this:

 

serverPort = 2104
serverExPort = 2106
serverIntPort = 2108
worldport = 7777
DBConnectionNum=10
encrypt = true
numServerThread = 2
numServerExThread = 2
numServerIntThread = 2
logDirectory="c:\work\log"
;30206 : l2, 30310 : Sl
ProtocolVersion = 30810
;8:lineage2, 4 halo
GameID=8
DesApply=false
PacketSizeType = 3
useForbiddenIPList=true
ReadLocalServerList=false
OneTimeLogOut=true
CountryCode=2
DevConnectOuter=true
DevServerIP="insert_your_WAN_ip_here"
;»á·� ��°‘¡� º�º���´�´�.
;SocketTimeOut�º »ç¿ë��°‘ Action�� �ü�ô ¾ø�»¢§ ²÷´� ½�°£��´�´�.
;·�±����� ¾�¹« ¾�¼�¾ø�� °‘¸¸�÷ ��´�°� �» ¹æ�â��±Ò �§����´�´�.
SocketTimeOut = 60
;SocketLimit´�
SocketLimit=5000
AcceptCallNum=1
;UseOneIOCom=true
UseOneIOCom=false
AcceptThread=1
WaitingUserLimit=1000
dumppacket=true
UserData=false
UseLogD=false
logdip="127.0.0.1"
logdport=3999
logdconnectinterval=120

SupportReconnect=true
;(true=auth-main reconnect on/false=auth-main reconnect off)
AutokickAccount = true
NewEncrypt = false

 

Pay extra attention to these two lines:

 

DevConnectOuter=true

DevServerIP="insert_your_WAN_ip_here"

 

Lines with the ; signal before them can be removed if you'd like, since they're just comments.

 

Make sure DevConnectOuter is set as true, and at DevServerIP you have to insert the WAN IP here. (Click to learn it!)

 

Database: You'll type lin2db here. If it's already "lindb", change it to "lin2db".
Username: You'll type sa or whatever user you set to MSSQL here.
Password: You'll type the password you've chosen for your database here.

 

After you've inserted the correct information and pressed OK, AuthD should load. Congratulations, you've successfully configured AuthD.

 

6. Go to PPC Release folder > L2NPC. Open l2npc.ini.

 

Make sure the first four lines are line this:

 

[server]
address="127.0.0.1"
port=2002

[CacheD]
address="127.0.0.1"
port=2008

 

7. Go to PPC Release > L2Server folder. Open l2server.ini. It should look like this:

 

[CacheD]
address="127.0.0.1"
port=2006

[AuthD]
address="your_wan_ip_adress_here"
port=2104

[LogD]
address="127.0.0.1"
port=3999

[World]
WorldId=1
UserLimit=1000
LetBuilder=1

[PetitionD]
address="127.0.0.1"
port=2107
WorldName=LineageIV"
;world name have to exact 9 characters.
DisableStart=5
DisableEnd=13

[Report]
Interval=600 ;minute

[setting]
UserPathFind=true
WorldCollision=false
ExceptionMailing = false
MailServer=10.10.10.254
ExceptionMinidump = false
IOBufferCount=30000
;check age (0:don't, 1:korean, default is 0)
AgeCheckType=0
AcceptEscapeCommand = true
country=4
; Korea=0, USA=1, Japan=2, Taiwan=3, China=4, Thailand=5
BOTLog = false
BOTBlock = false
gameguard=false
gameguard_checkonly=false
canrolldice=0
reconnectAuth=1

[fontCHECK]
fontcheck=0
; enable=1, disable=0
filename=smallfont.gly

[bBS]
WriteLevel=10
WorldNames=";ΒΉΓ�Γ�Γ·;Γ�ΓΆΒ±Γ�Γ�Γ�ΒΈΒ£Γ�Β�;Γ�Β«Γ�Γ�;ΒΈΒ�ΒΏΓ�Β³Βͺ;¿‘¸Β�Γ�Β«;Β°Γ�Β½ΒΊΓ�ΒΎ;
Β΅Γ₯ΒΊΓ±ΒΎΓ�Β΄Γ�;Γ�ΓΉΒ΅Β₯ΒΉΓ�Γ�Β�;Γ�Γ�ΒΏΓ�;Γ�Γ�ΒΆΓ΅Γ�Γ·;·ç³Βͺ;Γ�«½ºΓ�ΒΌΒΏΒ£;ΒΎΓ�Γ�Γ�ΒΈΒ°
;Β½ΒΊΓ�ΒΈΒΈΒ�Β½ΒΊ;ΒΌΒΌΒΈΒ�ΒΏΒ€;Γ�Γ€Γ�Γ�»þ¸£;¿‘¸£Γ�Γ�Β³Βͺ;ΒΏ
€¸Β�Γ�°¾Γ�;Β½Β¬Γ�Γ�;Β½ΒΊΓ�©¢óΓ�Γ�Β΅Γ₯;Γ�Γ�
¸��°¿�½º;¿���¸�¾�;»þ�©¡�;�¸�â��;¾�¸�¾�;¿‘
Β½ΒΊΒΏΒ£;ΒΏΒ€Γ�«¡ð¾Γ�;Γ�Γ�ΒΎΓ�Β³Βͺ;ΒΌΒΌΒ·ΒΉΒ½Γ�;Γ�ΒΈΒΈΒ£Γ�Β«Γ�Γ�;Γ�«¡ð¾Γ�;Β·Γ�Γ�Γ�ΒΏΒ£"

[L2COMM]
Address="127.0.0.1"
Port=2010
Autoconnect=0
Usesvr=0

[bOT]
block=0

[NPCPOS]
extra_mob=off

 

Leave it as it is, only replace the line "your_wan_ip_adress_here" with, well... Should be self-explanatory. Load L2Server.exe. It'll prompt a box window asking for a serial number. Use the serial number that you generated with Cached Serial Generator. It should start loading. If it loads fine, then you're all set!

 

 

6. Correct order to load server processes:

 

Make sure you always load the processes in this order:

 

1/2. AuthD.

2/1. CacheD.

3. L2Server.

4. L2NPC.

 

AuthD rarely ever crashes, and you can also reload it whenever you want, it should not affect the server in general, except that people won't be able to login while it's being reloaded.

 

Since CacheD acts as a bridge to the database, if you close it, L2Server will also shutdown along with L2NPC.

 

If you close L2Server, L2NPC is also going to close.

 

L2NPC rarely ever crashes aswell, but if it does, you'll be able to reload it. However, it always takes about 10-15 minutes to fully load all NPCs.

 

 

7. Server security:

 

If you want to stay on track, you'll need to have a secure server. Otherwise people [MaxCheaters.com  ;D] will jump in your server, burn it and destroy all of your work with no mercy.

Apart from protection DLLs, such as Depmax and Amped which can be found in this PPC release you'll also need to configure your Firewall to block certain ports or else you'll be susceptible to SQL/CacheD injections, and that's not good.

 

Filter the following ports in your firewall: (windows firewall, for example)

 

  • 1433 (SQL) (only local area network access / closed)
  • 2002 (only local area network access / closed)
  • 2008 (only local area network access / closed)
  • 2012 (only local area network access / closed)
  • 2106 (auth) (open to the public / open)
  • 7777 (l2server) (open to the public / open)

 

 

8. Have fun with your own server!  ;D

Link to comment
Share on other sites

  • 2 months later...

Pyro, i wanted to tell you that you have a big brain and thanks a lot for sharing it with us. This guide helped learn how to make a oFF server. And the best thing is its very easy to be understanded. Thanks again :]

Link to comment
Share on other sites

Yeah i agree with hackzor .. i am l2j dev not l2off .. i Dled c3 files just to test them .. with this guide .. i runned the server 100% on my pc without any problem ( Just runned out of memory lol xD the half of l2server.exe runned :P) ! it works 100% .... Just a bing thx to pyro !

Link to comment
Share on other sites

  • 3 weeks later...

Well i think its the files but i am not sure .. i think that means pay per click but i am not sure .... anyway i didnt need it while i was setting up my l2off server ... u need mssql 2002 or 2005 files and for some packs the CacheD Serial Generator

Link to comment
Share on other sites

Link to comment
Share on other sites

hello I am new and I speak Spanish with a translator of google, I can not look at the mounting guide the complete smoothly but when I wish I did not understand the server takes the pass and loguin calculation I have to make or change something in the cache or NPC etc. .. apart in odbc not I get the drawing of Mundita no sex and I'm using Windows Server 2008 x64

Link to comment
Share on other sites

is this kamael or interlude?????

 

lolex  , you set all files with this guide ... in order to make your server kamael you need kamael extender .. search on PP or here , on server modifications there is an kamael extender.

 

if i am wrong i apologise , cause i am newbie over l2off but i set up my own l2off server on home pc ( c3 files ) just for test and it worked a lot .. also i used too warmasters guide in this section :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...