This is the general site of

and this is the download page of it

Dont be confused and get here

to download latest server and data release.
How to set up Loginserver and Gameserver
Preparation
Necessary software to download and install
"Java JDK 6 Update 14" or newer to run the "Server".
Java JDK can be downloaded here:
"MySQL 5.1.35" or newer to run the "DataBase".
MySQL can be downloaded here:
"Navicat 8.1.20 for MySQL" or newer to administrate your "DataBase".
Navicat for MySQL can be downloaded here:

Note: Navicat Lite is free.
"L2J Server" can be downloaded here:
"L2J DataPack" can be downloaded here:
1. Installing MySQL
* a. Extract the mysql-5.*.x-win.zip file to a temporary location.
* b. Install MySQL to the location you want it to go.
Write down the password if you set one.
* c. After installation, reboot your system.
2. Prepare server files
* a. Extract the L2J_Server-unstable.zip file to a new folder of your choice.
* b. Extract the L2J_DataPack-unstable.zip file to a new folder (different form folder choosed at step "a") of your choice.
3. Installing Navicat
* a. Execute the file and install it to the location where you want it to go.
* b. Now run the program.
* c. Select "New Connection", and fill in the fields like shown on the picture. Then click OK.
* d. Single click the connection localhost (it should turn green), then right click on your new localhost connection, and create a new database with the name l2jdb.
* e. Close the Navicat program.
4. Getting the data in your database
* a. Read the readme file of the datapack.
* b. Run the database_installer.bat (Windows) or database_installer.sh (Linux) and follow onsceen steps - choose full install for new databases/upgrade for existing databases - use database created in previous step.
5. Java
* a. Simple, just execute the jdk-*.exe file to install the needed java components.
Now you have everything prepared, read carefully next.
Servers installation
6. Loginserver installation
* a. Copy the folder /login/ from your l2j loginserver temporary directory to the PC and folder you want to run the loginserver from.
7. Gameserver installation
For each gameserver:
* a. Copy the folder /gameserver/ from your l2j gemeserver temporary directory to the PC and folder you want to run the gameserver from.
* b. Copy the the contents of your l2j datapack temporary directory to the /gameserver/ folder you just created (you will know that you copied it to the correct location if you are asked if you want to replace/overwrite existing files - choose yes)
Servers setup
8. Loginserver setup
Note: Take care not to insert extra spaces at end of line when you edit.
DO NOT COPY AND PASTE SAMPLE FILES, THEY ARE FOR ILLUSTRATIVE PURPOSES ONLY.
The following text is an example of an actual loginserver.properties file located in your loginserver /config folder. (To view or change the content, use your favorite text editor)
* a. For your loginserver, open /login/config/loginserver.properties and change the following values:
# This is the server configuration file. Here you can set up the connection for your server.
# Usually you have to change the ExternalHostname option to
# - 127.0.0.1 (if you want to play alone / testing purpose)
# - LAN IP* (if you want to play from another computer in the network)
# - WAN IP** (if you want to play with friends over internet)
# - Questions? =>

#
# * = If you want to get your LAN IP, simply choose "Start" => "Run..." then type "cmd" => "ipconfig"
# **= If you want to get you WAN IP, visit

# ================================================== =================================================
# ================================================== ==============
# General server setting !!! REQUIRED to configure to everyone !!!
# ================================================== ==============
# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
ExternalHostname= <---- HERE PUT YOUR PUBLIC INTERNET IP (WAN), TO ALLOW EXTERNAL USERS CONNECT TO YOUR SERVER
IF YOU ARE PLAYING/TESTING ALONE IN YOUR LOCAL MACHINE, JUST PUT 127.0.0.1
# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname
InternalHostname= <---- HERE PUT YOUR INTERNAL IP, GENERALLY 127.0.0.1
IF YOU ARE PLAYING/TESTING IN LAN WITH OTHERS USERS, PUT YOU LAN IP HERE.
# Bind ip of the LoginServer, use * to bind on all available IPs
LoginserverHostname=*
LoginserverPort=2106
# How many times you can provide an invalid account/pass before the IP gets banned
LoginTryBeforeBan=10
# Time you won't be able to login back again after LoginTryBeforeBan tries to login. Provide a value in seconds. Default 10min. (600)
LoginBlockAfterBan=600
GMMinLevel=100
# The address on which login will listen for GameServers, use * to bind on all available IPs
LoginHostname=*
# The port on which login will listen for GameServers
LoginPort=9014
# If set to true any GameServer can register on your login's free slots
AcceptNewGameServer = False
# If false, the licence (after the login) will not be shown
# It is highly recomended for Account Security to leave this option as defalut (True)
ShowLicence = True
# Database info
Driver=com.mysql.jdbc.Driver
#Driver=org.hsqldb.jdbcDriver
#Driver=com.microsoft.sqlserver.jdbc.SQLServerDriv er
URL=jdbc:mysql://localhost/l2jdb
#URL=jdbc:hsqldb:hsql://localhost/l2jdb
#URL=jdbc:sqlserver://localhost/database=l2jdb/user=sa/password=
Login=root
Password= <---- HERE PUT YOUR MYSQL PASSWORD
MaximumDbConnections=10
# Useable values: "true" - "false", use this option to choose whether accounts will be created
# automatically or not.
AutoCreateAccounts=true
# The delay in minutes after which the login updates the gameservers IP's (usefull when their ip is dynamic)
IpUpdateTime=15
# ================================================== ============
# Test server setting, shoudnt be touched in online game server
# ================================================== ============
Debug = False
Assert = False
Developer = False
# Enforce GG Authorization from client
# Login server will kick client if client bypassed GameGuard authentication
ForceGGAuth=True
#FloodProtection. time in ms
EnableFloodProtection=True
FastConnectionLimit=15
NormalConnectionTime=700
FastConnectionTime=350
MaxConnectionPerIP=50
9. Gameserver setup
Note: Take care not to insert extra spaces at end of line when you edit.
DO NOT COPY AND PASTE SAMPLE FILES, THEY ARE FOR ILLUSTRATIVE PURPOSES ONLY.
The following text is an example of an actual server.properties file located in your gameserver /config folder. (To view or change the content, use your favorite text editor)
* a. For each gameserver, open /gameserver/config/server.properties and change the following values:
# This is the server configuration file. Here you can set up the connection for your server.
# Usually you have to change the ExternalHostname option to
# - 127.0.0.1 (if you want to play alone / testing purpose)
# - LAN IP* (if you want to play from another computer in the network)
# - WAN IP** (if you want to play with friends over internet)
# - Questions? =>

#
# * = If you want to get your LAN IP, simply choose "Start" => "Run..." then type "cmd" => "ipconfig"
# **= If you want to get you WAN IP, visit

# ================================================== =================================================
# ================================================== ==============
# General server setting !!! REQUIRED to configure to everyone !!!
# ================================================== ==============
# Bind ip of the gameserver, use * to bind on all available IPs
GameserverHostname=*
GameserverPort=7777
# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
# If this ip is resolvable by Login just leave *
ExternalHostname= <---- HERE PUT YOUR PUBLIC INTERNET IP (WAN), TO ALLOW EXTERNAL USERS CONNECT TO YOUR SERVER
IF YOU ARE PLAYING/TESTING ALONE IN YOUR LOCAL MACHINE, JUST PUT 127.0.0.1
# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname
# If this ip is resolvable by Login just leave *
InternalHostname= <---- HERE PUT YOUR INTERNAL IP, GENERALLY 127.0.0.1
IF YOU ARE PLAYING/TESTING IN LAN WITH OTHERS USERS, PUT YOU LAN IP HERE.
# The Loginserver host and port
LoginPort=9014
LoginHost=127.0.0.1
# This is the server id that the gameserver will request (i.e. 1 is Bartz)
RequestServerID = 1
# If set to true, the login will give an other id to the server if the requested id is allready reserved
AcceptAlternateID = True
# Database info
Driver=com.mysql.jdbc.Driver
#Driver=org.hsqldb.jdbcDriver
#Driver=com.microsoft.sqlserver.jdbc.SQLServerDriv er
URL=jdbc:mysql://localhost/l2jdb
#URL=jdbc:hsqldb:hsql://localhost/l2jdb
#URL=jdbc:sqlserver://localhost/database=l2jdb/user=sa/password=
Login=root
Password= <---- HERE PUT YOUR MYSQL PASSWORD.
MaximumDbConnections=100
# Datapack root directory, defaults to current directory from which the server is started
# DatapackRoot = C:/Work/tmp/DataPack
# Define character name template
# Example to use only : CnameTemplate=[A-Z][a-z]{3,3}[A-Za-z0-9]*
# will allow names with first capital letter, next three small letters,
# and any (capital or not) letter or number, like ZbigN1eW
# Most rational to have CnameTemplate=[A-Z][a-z]*
# meaning names only of letters with first one capital, like Zbigniew
# Default .* - any namy of any symbols
CnameTemplate=.*
PetNameTemplate=.*
# Maximum number of chars per account - Default 7 (0 = unlimited [7 is the client limit])
CharMaxNumber = 7
# Define how many players are allowed to play simultaneously on your server.
MaximumOnlineUsers=100
# Minimum and maximum protocol revision that server allow to connect.
# You must keep MinProtocolRevision <= MaxProtocolRevision.
MinProtocolRevision = 828
MaxProtocolRevision = 828
10. Registering Gameservers
* a. For every gameserver: start /login/RegisterGameServer.bat (/login/RegisterGameServer.sh) and select the number you wish to assign to the gameserver then copy the "hexid(server-x).txt" file to the /gameserver/config/ directory for the gameserver you have just registered and rename it "hexid.txt".
11. Running
* a. For your loginserver: start /login/startLoginServer.bat (/login/startLoginServer.sh)
* b. For every gameserver: start /gameserver/startGameServer.bat (/gameserver/startGameServer.sh)
Notes
If any of your gameservers have the same WAN IP you must use different ports for those gameservers with the same WAN IP.
If you want to enable telnet for your loginserver and gameservers, you must use different ports that are not already in use for each one.
Your server is now ready to run.
Now start loginserver and gameserver.
If you want to be absolutely sure it works, see if the output of the gameserver looks similiar to this:
Starting L2J Game Server.
loading gameserver config
MLog clients using java 1.4+ standard logging.
Initializing c3p0-0.9.0 [built 08-??????-2005 15:47:30 +0400; debug? false; trac
e: 5]
Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@5e179a [ conn
ectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSourc e@4aeb
52 [ acquireIncrement -> 5, acquireRetryAttempts -> 0, acquireRetryDelay -> 500,
autoCommitOnClose -> true, automaticTestTable -> connection_test_table, breakAf
terAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> c
om.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, f
orceIgnoreUnresolvedTransactions -> false, identityToken -> 4aeb52, idleConnecti
onTestPeriod -> 60, initialPoolSize -> 3, maxIdleTime -> 0, maxPoolSize -> 10, m
axStatements -> 0, maxStatementsPerConnection -> 100, minPoolSize -> 1, nestedDa
taSource -> com.mchange.v2.c3p0.DriverManagerDataSource@cfec48 [ description ->
null, driverClass -> null, factoryClassLocation -> null, identityToken -> cfec48
, jdbcUrl -> jdbc:mysql://localhost/l2jdb2, properties -> {user=******, password
=******} ], preferredTestQuery -> null, propertyCycle -> 300, testConnectionOnCh
eckin -> true, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxi
es -> false ], factoryClassLocation -> null, identityToken -> 5e179a, numHelperT
hreads -> 3 ]
etc....
etc....
etc....
IdFactory: Free ObjectID's remaining: 1878992804
GameServer Started, free memory 175 Mb of 512 Mb
Connecting to login on 127.0.0.1:9014
Maximum Numbers of Connected Players: 100
Telnet server is currently disabled.
GameServer listening on all available IPs on Port 7777
Registered on login as Server 0 : Bartz
Reference Links
This was the basic server setup, you should be able to run the server without any problems.
You may want to see Advanced Setup for rest of .properties files.
Now continue to Client, so that you can test the setup.
Use the latest Lineage II Gracia 2.3 (Final) Client.
Better find an "OPEN" editable system to work with and to give to l2.ini the desired IP (127.0.0.1 for local use or the PC IP for local network use... etc etc etc)