Required Software
- Updated OS
- Java
- MariaDB (or MySQL)
- Git
Update the OS
sudo -i
apt update
Get & Install Java
L2J is built using Java, to build you need Java JDK as well.
apt install -y temurin-21-jdk
Check the Java version:
java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
If you have multiple versions, you can configure them by using alternatives:
update-alternatives --config 'java'
We recommend updating the JAVA_HOME
environment variable.
As long as it's possible, L2J will be compatible with the latest LTS (Long-Term-Support) version of Java, you can check the roadmap for Java SE here.
Get & Install Git
L2J uses Git as version control system on BitBucket, use it to get the latest versions.
apt install -y git
Check the Git version
git --version
We recommend getting the source code directly from our public repositories.
Get & Install the Database Server
Download and install a database server and create a specific user.
apt install -y mariadb-server
Secure your database installation:
mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
... Success!
Change the root password? [Y/n] n
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Execute the following SQL statements to create a L2J specific database user:
mariadb -u root -p
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
We recommend changing the default database password.
If you do it, you need to edit server.properties
files inside
the game server config
folder and the login server config
folder.
L2J is compatible with MySQL 8.0+, but we recommend MariaDB.
[Optionally] Install Unzip
Unzip utility will be used later on to deploy the compiled server files.
apt install -y unzip