Guide d'installation
Introduction
À propos de nous
L2J Server est un projet Open Source officiel, développé en Java, dont l'objectif est de fournir un serveur de jeu Lineage II.
Nous sommes actifs depuis de nombreuses années et notre mission est de fournir une expérience aussi proche que possible du jeu officiel.
Notre vision est d'avoir un serveur basé sur une architecture microservices cloud-native qui pourra exécuter n'importe quelle version du jeu en fonction de sa configuration.
À propos du produit
L2J Server est divisé en deux composants : L2j Game Server et L2j Login Server. Parallèlement, L2j Game Server est divisé en Core et Datapack. Le Core est le code Java définissant les mécanismes du jeu, la persistance et les mécanismes de communication, tandis que le Datapack est composé de tous les fichiers liés au gameplay tels que les dialogues, les scripts de quêtes, l'IA, entre autres.
L'installation du serveur nécessite d'abord d'installer des logiciels supplémentaires (Java, base de données, Git, etc.), puis de récupérer le code source et de le compiler, d'installer la base de données, de déployer les fichiers du serveur compilés, d'effectuer une configuration minimale, et enfin de démarrer et de tester les serveurs.
Logiciels requis
- Système d'exploitation mis à jour
- Java
- MariaDB (ou MySQL)
- Git
Mise à jour de l'OS
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
wuauclt /detectnow /updatenow
sudo -i
dnf update
sudo -i
apt update
sudo -i
apt update
brew update && brew upgrade
Obtention et installation de Java
L2J est construit en Java. Pour construire le serveur, vous aurez également besoin du JDK Java.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install EclipseAdoptium.Temurin.25.JDK
Si vous utilisez déjà winget, vous pouvez mettre à jour votre version de Java avec :
winget upgrade EclipseAdoptium.Temurin.25.JDK
Vérifier la version de Java :
java --version
cat <<EOF > /etc/yum.repos.d/adoptium.repo
[Adoptium]
name=Adoptium
baseurl=https://packages.adoptium.net/artifactory/rpm/${DISTRIBUTION_NAME:-$(. /etc/os-release; echo $ID)}/\$releasever/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
EOF
sudo -i
dnf install -y temurin-25-jdk
Vérifier la version de Java :
java --version
openjdk 25.0.2 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-25.0.2+10 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.2+10 (build 25.0.2+10-LTS, mixed mode, sharing)
Si vous avez plusieurs versions, vous pouvez les configurer avec alternatives :
update-alternatives --config 'java'
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt update
apt install -y temurin-25-jdk
Vérifier la version de Java :
java --version
openjdk 25.0.2 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-25.0.2+10 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.2+10 (build 25.0.2+10-LTS, mixed mode, sharing)
Si vous avez plusieurs versions, vous pouvez les configurer avec alternatives :
update-alternatives --config 'java'
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt install -y temurin-25-jdk
Vérifier la version de Java :
java --version
openjdk 25.0.2 2026-01-20 LTS
OpenJDK Runtime Environment Temurin-25.0.2+10 (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.2+10 (build 25.0.2+10-LTS, mixed mode, sharing)
Si vous avez plusieurs versions, vous pouvez les configurer avec alternatives :
update-alternatives --config 'java'
brew install --cask temurin@25
Vérifier la version de Java :
java --version
Il est recommandé de mettre à jour la variable d'environnement JAVA_HOME.
Dans la mesure du possible, L2J maintient la compatibilité avec les dernières versions Java LTS (Long Term Support). Vous pouvez consulter la feuille de route de Java SE ici.
Obtention et installation de Git
L2J utilise Git comme système de contrôle de version sur BitBucket. Utilisez-le pour obtenir la dernière version.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install -e --id Git.Git
dnf install -y git
apt install -y git
apt install -y git
brew install git
Vérifier la version de Git :
git --version
Il est recommandé d'obtenir le code source directement à partir de nos dépôts publics officiels.
Obtention et installation du serveur de base de données
Téléchargez et installez le serveur de base de données, et créez un utilisateur dédié.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install -e --id MariaDB.Server
dnf install -y mariadb-server
Démarrer le service :
systemctl start mariadb
Sécuriser l'installation de la base de données :
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!
apt install -y mariadb-server
Sécuriser l'installation de la base de données :
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!
apt install -y mariadb-server
Sécuriser l'installation de la base de données :
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!
brew install mariadb
Démarrer le service :
brew services start mariadb
Sécuriser l'installation de la base de données :
mariadb-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!
Exécutez les instructions SQL suivantes afin de créer un utilisateur de base de données dédié pour L2J :
mariadb -u root -p
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
Il est recommandé de modifier le mot de passe par défaut de la base de données. Si vous le faites, vous devrez modifier le fichier database.properties dans le dossier config du Game Server et du Login Server.
L2J est compatible avec MySQL 8.0+, mais nous recommandons MariaDB.
Installation d'Unzip
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
Non applicable pour Windows.
Le programme d'extraction unzip sera utilisé ultérieurement pour déployer les fichiers compilés du serveur.
apt install -y unzip
Le programme d'extraction unzip sera utilisé ultérieurement pour déployer les fichiers compilés du serveur.
apt install -y unzip
Le programme d'extraction unzip sera utilisé ultérieurement pour déployer les fichiers compilés du serveur.
apt install -y unzip
Non applicable pour macOS.