Installationsanleitung
Einführung
Über uns
L2J Server ist das offizielle Open-Source-Projekt, das in Java entwickelt wurde und versucht, einen Spieleserver für Lineage II bereitzustellen.
Wir sind schon lange dabei und unsere Mission ist es, die Erfahrung so nah wie möglich am offiziellen Spiel zu bieten.
Unsere Vision ist es, einen Server zu haben, der jede Version des Spiels basierend auf Konfigurationen ausführen kann und eine Cloud-fähige Microservice-Architektur verwendet.
Über das Produkt
L2J Server unterteilt sich in zwei Komponenten: L2j Game Server und L2j Login Server. Gleichzeitig ist der L2j Game Server unterteilt in Core und Datapack. Der Core ist der Java-Code, der die Spielmechanik, Persistenz und Kommunikationsmechanik definiert, und das Datapack besteht aus allen Dateien, die mit dem Gameplay zusammenhängen, wie Dialoge, Quest-Skripte, KIs usw.
Die Installation des Servers erfordert zuerst die Installation zusätzlicher Software (Java, Datenbank, Git usw.), dann das Abrufen des Quellcodes, das Kompilieren des Quellcodes, die Installation der Datenbank, das Bereitstellen der kompilierten Serverdateien, minimale Konfigurationen sowie das Starten und Testen des Servers.
Erforderliche Software
- Aktualisiertes Betriebssystem
- Java
- MariaDB (oder MySQL)
- Git
Das Betriebssystem aktualisieren
- 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
Java abrufen & installieren
L2J wird mit Java erstellt. Um den Server zu bauen, benötigen Sie ebenfalls das Java JDK.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install EclipseAdoptium.Temurin.25.JDK
Wenn Sie winget bereits verwendet haben, können Sie Ihre Java-Version aktualisieren mit:
winget upgrade EclipseAdoptium.Temurin.25.JDK
Java-Version prüfen:
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
Java-Version prüfen:
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)
Wenn Sie mehrere Versionen haben, können Sie diese über Alternatives konfigurieren:
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
Java-Version prüfen:
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)
Wenn Sie mehrere Versionen haben, können Sie diese über Alternatives konfigurieren:
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
Java-Version prüfen:
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)
Wenn Sie mehrere Versionen haben, können Sie diese über Alternatives konfigurieren:
update-alternatives --config 'java'
brew install --cask temurin@25
Java-Version prüfen:
java --version
Wir empfehlen, die Umgebungsvariable JAVA_HOME zu aktualisieren.
Soweit möglich, wird L2J mit der neuesten LTS (Long-Term-Support)-Version von Java kompatibel sein. Sie können die Roadmap für Java SE hier einsehen.
Git abrufen & installieren
L2J verwendet Git als Versionskontrollsystem auf BitBucket. Verwenden Sie es, um die neuesten Versionen abzurufen.
- 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
Git-Version prüfen:
git --version
Wir empfehlen, den Quellcode direkt aus unseren öffentlichen Repositories abzurufen.
Datenbankserver abrufen & installieren
Laden Sie einen Datenbankserver herunter, installieren Sie ihn und erstellen Sie einen speziellen Benutzer.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install -e --id MariaDB.Server
dnf install -y mariadb-server
Dienst starten:
systemctl start mariadb
Datenbankinstallation absichern:
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
Datenbankinstallation absichern:
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
Datenbankinstallation absichern:
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
Dienst starten:
brew services start mariadb
Datenbankinstallation absichern:
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!
Führen Sie die folgenden SQL-Anweisungen aus, um einen L2J-spezifischen Datenbankbenutzer zu erstellen:
mariadb -u root -p
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
Wir empfehlen, das Standard-Datenbankpasswort zu ändern. Wenn Sie dies tun, müssen Sie die Dateien database.properties im Ordner config des Game-Servers und im Ordner config des Login-Servers bearbeiten.
L2J ist kompatibel mit MySQL 8.0+, aber wir empfehlen MariaDB.
Unzip installieren
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
Für Windows nicht erforderlich.
Das Unzip-Programm wird später verwendet, um die kompilierten Serverdateien bereitzustellen.
apt install -y unzip
Das Unzip-Programm wird später verwendet, um die kompilierten Serverdateien bereitzustellen.
apt install -y unzip
Das Unzip-Programm wird später verwendet, um die kompilierten Serverdateien bereitzustellen.
apt install -y unzip
Für macOS nicht erforderlich.
Den Quellcode abrufen
Unsere offiziellen Repositories sind die unten aufgeführten.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
mkdir C:\opt\l2j\git
cd C:\opt\l2j\git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
mkdir -p /opt/l2j/git
cd /opt/l2j/git
mkdir -p ~/l2j/git
cd ~/l2j/git
git clone -b master https://bitbucket.org/l2jserver/l2j-server-login.git
Cloning into 'l2j-server-login'...
remote: Counting objects: 353, done.
remote: Compressing objects: 100% (285/285), done.
remote: Total 353 (delta 194), reused 63 (delta 26)
Receiving objects: 100% (353/353), 110.40 KiB | 324.00 KiB/s, done.
Resolving deltas: 100% (194/194), done.
git clone -b develop https://bitbucket.org/l2jserver/l2j-server-game.git
Cloning into 'l2j-server-game'...
remote: Counting objects: 162315, done.
remote: Compressing objects: 100% (26695/26695), done.
remote: Total 162315 (delta 122790), reused 157270 (delta 117810)
Receiving objects: 100% (162315/162315), 125.97 MiB | 9.93 MiB/s, done.
Resolving deltas: 100% (122790/122790), done.
git clone -b develop https://bitbucket.org/l2jserver/l2j-server-datapack.git
Cloning into 'l2j-server-datapack'...
remote: Counting objects: 278648, done.
remote: Compressing objects: 100% (66228/66228), done.
remote: Total 278648 (delta 215765), reused 269687 (delta 207236)
Receiving objects: 100% (278648/278648), 144.49 MiB | 9.63 MiB/s, done.
Resolving deltas: 100% (215765/215765), done.
Checking out files: 100% (24264/24264), done.
Der develop-Branch enthält die neueste Version von High Five, der master-Branch enthält die stabile Version von High Five.
Andere Optionen sind Interlude, Epilogue, Freya usw.
Den Server bauen
Wir verwenden Maven, um die Serverdateien zu bauen, und führen die folgenden Befehle aus:
- Windows
- Centos Stream 10
cd C:\opt\l2j\git\l2j-server-login
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd C:\opt\l2j\git\l2j-server-game
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd C:\opt\l2j\git\l2j-server-datapack
mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-login
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-login >-------------------
[INFO] Building L2J Login Server 2.6.1.6
...
cd /opt/l2j/git/l2j-server-game
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------< com.l2jserver:l2j-server-game >--------------------
[INFO] Building L2J Game Server 2.6.2.0-SNAPSHOT
...
cd /opt/l2j/git/l2j-server-datapack
chmod 755 mvnw
./mvnw install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.l2jserver:l2j-server-datapack >------------------
[INFO] Building L2J DataPack 2.6.2.0-SNAPSHOT
...
Um die folgende Warnung zu vermeiden
[WARNING] An NVD API Key was not provided - it is highly recommended to use an NVD API key as the update can take a VERY long time without an API Key
Sie müssen einen API-Key von NIST anfordern und eine Umgebungsvariable NVD_API_KEY mit dem erhaltenen Key setzen.
Der API-Key wird, falls vorhanden, verwendet, um die Datenbankdateien für Sicherheitsanfälligkeiten abzurufen.
Den Server bereitstellen
Der Bereitstellungsprozess besteht derzeit einfach darin, die erstellten Dateien zu entpacken.
Den Login Server bereitstellen
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
mkdir C:\opt\l2j\server\login
cd C:\opt\l2j\server\login
tar -xf C:\opt\l2j\git\l2j-server-login\target\l2j-server-login-*.zip
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
mkdir -p /opt/l2j/server/login
cd /opt/l2j/server/login
unzip /opt/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d /opt/l2j/server/login
mkdir -p ~/l2j/server/login
cd ~/l2j/server/login
unzip ~/l2j/git/l2j-server-login/target/l2j-server-login-*.zip -d ~/l2j/server/login
Den Game Server bereitstellen
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
mkdir C:\opt\l2j\server\game
cd C:\opt\l2j\server\game
tar -xf C:\opt\l2j\git\l2j-server-game\target\l2j-server-game-*.zip
tar -xf C:\opt\l2j\git\l2j-server-datapack\target\l2j-server-datapack-*.zip
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
mkdir -p /opt/l2j/server/game
cd /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d /opt/l2j/server/game
unzip /opt/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d /opt/l2j/server/game
mkdir -p ~/l2j/server/game
cd ~/l2j/server/game
unzip ~/l2j/git/l2j-server-game/target/l2j-server-game-*.zip -d ~/l2j/server/game
unzip ~/l2j/git/l2j-server-datapack/target/l2j-server-datapack-*.zip -d ~/l2j/server/game
Die Dateinamen können sich mit jeder neuen Version ändern, berücksichtigen Sie dies.
Die Datenbank installieren
L2J CLI abrufen
L2J CLI ist ein Tool, mit dem wir automatisierte Bereitstellungen und Erstkonfigurationen implementieren können.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
mkdir C:\opt\l2j\cli
cd C:\opt\l2j\cli
curl -o l2jcli.zip -L https://l2jserver.com/api/download/cli/latest
tar -xf l2jcli.zip
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
mkdir -p /opt/l2j/cli
cd /opt/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d /opt/l2j/cli
chmod 755 l2jcli.sh
mkdir -p ~/l2j/cli
cd ~/l2j/cli
wget https://l2jserver.com/api/download/cli/latest -O /tmp/l2jcli-latest.zip
unzip /tmp/l2jcli-latest.zip -d ~/l2j/cli
chmod 755 l2jcli.sh
CLI konfigurieren
Bearbeiten Sie im Ordner config die Dateien login-server.properties und game-server.properties und konfigurieren Sie DatabaseUser und DatabasePassword entsprechend dem Benutzer und Passwort, die für die Datenbank konfiguriert wurden.
CLI ausführen
Führen Sie l2jcli.bat aus und führen Sie die folgenden Befehle aus:
- Windows
- Centos Stream 10
l2jcli.bat
db install -sql C:\opt\l2j\server\login\sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql C:\opt\l2j\server\game\sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
./l2jcli.sh
db install -sql /opt/l2j/server/login/sql -u l2j -p l2jserver2019 -m FULL -t LOGIN -c -mods
db install -sql /opt/l2j/server/game/sql -u l2j -p l2jserver2019 -m FULL -t GAME -c -mods
Die Parameter sind:
| Parameter | Beschreibung |
|---|---|
| -sql path | Pfad zu den SQL-Dateien |
| -u user | Datenbankbenutzer |
| -p password | Datenbankpasswort |
| -m mode | Installationsmodus FULL oder UPDATE |
| -t type | Servertyp LOGIN oder GAME |
| -c | Custom-Tabellen installieren |
| -mods | Mods-Tabellen installieren |
Administrator-Account erstellen
Verwenden Sie die L2J CLI, um einen Administrator-Account zu erstellen. 8 ist das maximale Account-Level (Master):
account create -u Zoey76 -p -a 8
quit
Server-Ports öffnen
Wenn Sie nicht von localhost aus spielen, müssen Sie möglicherweise einige Ports auf Ihrem Server öffnen.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
netsh advfirewall firewall add rule name="L2J Login Server" dir=in action=allow protocol=TCP localport=2106
netsh advfirewall firewall add rule name="L2J Game Server" dir=in action=allow protocol=TCP localport=7777
Diese Aktion erfordert eine Eingabeaufforderung mit erhöhten Rechten. Bitte führen Sie die Eingabeaufforderung als Administrator aus.
firewall-cmd --zone=public --add-port=2106/tcp --permanent
firewall-cmd --zone=public --add-port=7777/tcp --permanent
firewall-cmd --reload
ufw allow 2106/tcp
ufw allow 7777/tcp
ufw allow 2106/tcp
ufw allow 7777/tcp
Für macOS nicht erforderlich.
Nur diese Ports sind erforderlich, um sich als Spieler mit dem Server zu verbinden.
Geodata
Der L2J Server verwendet Geodata-Dateien, um die Umgebungsinformationen in den Server einzubeziehen.
Sie können dies konfigurieren, indem Sie geodata.properties im Konfigurationsordner des Game-Servers bearbeiten.
Die Geodaten sollten im Ordner data/geodata platziert werden. Sie können diesen Pfad durch Bearbeiten der Eigenschaft GeoDataPath ändern.
Sie können die neueste Version für High Five hier herunterladen.
Die Server starten
Erstkonfiguration
Diese Befehle erstellen die erforderlichen Ordner für Logs und gewähren den Skripten Zugriffsberechtigungen.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
Für Windows nicht erforderlich.
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
cd /opt/l2j && mkdir -p custom
cd /opt/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd /opt/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
cd ~/l2j && mkdir -p custom
cd ~/l2j/server/login && mkdir -p log
chmod 755 LoginServer_loop.sh
chmod 755 startLoginServer.sh
cd ~/l2j/server/game && mkdir -p log
chmod 755 GameServer_loop.sh
chmod 755 startGameServer.sh
Die Server starten
Um die Server zu starten, müssen Sie zwei Skripte ausführen, eines für den Game-Server und eines für den Login-Server.
- Windows
- Centos Stream 10
C:\opt\l2j\server\login\startLoginServer.bat
C:\opt\l2j\server\game\startGameServer.bat
cd /opt/l2j/server/login
./startLoginServer.sh
cd /opt/l2j/server/game
./startGameServer.sh
Überprüfen Sie optional, ob der Server korrekt gestartet wurde, indem Sie die Logs prüfen:
tail -f -n 300 /opt/l2j/server/login/log/stdout.log
Verbindung zum Server herstellen
Um sich mit dem Server zu verbinden, haben Sie die folgenden Möglichkeiten:
HOSTS-Datei
Bearbeiten Sie C:\Windows\System32\drivers\etc\hosts und fügen Sie diese Zeile hinzu:
127.0.0.1 l2authd.lineage2.com
BAT-Datei
Erstellen Sie eine .bat-Datei mit folgendem Inhalt:
@start l2.bin IP=127.0.0.1
Eigene EXE
Hier ist ein C++ Win32 EXE Beispiel:
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#define NOMINMAX
#include <windows.h>
#include <cstdlib>
// Startet L2 als .bin mit IP als Parameter.
// Sie können eine IP oder DNS als IP-Parameter verwenden.
// Sie könnten weitere Parameter hinzufügen.
// Sie können den Pfad zur .bin-Datei ändern, um zu vermeiden, dass die L2.exe im System-Ordner enthalten ist.
// Autor: Zoey76
int _stdcall wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd) {
ShellExecute(0, L"open", L"cmd.exe", L"/C start l2.bin IP=127.0.0.1", 0, SW_HIDE);
}
Client-Modifikationen sind in L2J nicht erlaubt, dies schließt GameGuard- und L2.ini-Änderungen ein.