Direkt zum Inhalt

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

wuauclt /detectnow /updatenow

Java abrufen & installieren

L2J wird mit Java erstellt. Um den Server zu bauen, benötigen Sie ebenfalls das Java JDK.

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
Tipp

Wir empfehlen, die Umgebungsvariable JAVA_HOME zu aktualisieren.

Info

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.

winget install -e --id Git.Git

Git-Version prüfen:

git --version
Info

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.

winget install -e --id MariaDB.Server

Führen Sie die folgenden SQL-Anweisungen aus, um einen L2J-spezifischen Datenbankbenutzer zu erstellen:

mariadb -u root -p
create_user.sql
CREATE OR REPLACE USER 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
GRANT ALL PRIVILEGES ON *.* TO 'l2j'@'%' IDENTIFIED BY 'l2jserver2019';
FLUSH PRIVILEGES;
exit
Warnung

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.

Tipp

Wir empfehlen (optional), HeidiSQL oder DBeaver herunterzuladen und zu installieren, um die Datenbank zu verwalten.

Info

L2J ist kompatibel mit MySQL 8.0+, aber wir empfehlen MariaDB.

Unzip installieren

Für Windows nicht erforderlich.

Den Quellcode abrufen

Unsere offiziellen Repositories sind die unten aufgeführten.

mkdir C:\opt\l2j\git
cd C:\opt\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.
Info

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:

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
...

Um die folgende Warnung zu vermeiden

Warnung

[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

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

Den Game Server bereitstellen

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
Warnung

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.

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

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:

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

Die Parameter sind:

ParameterBeschreibung
-sql pathPfad zu den SQL-Dateien
-u userDatenbankbenutzer
-p passwordDatenbankpasswort
-m modeInstallationsmodus FULL oder UPDATE
-t typeServertyp LOGIN oder GAME
-cCustom-Tabellen installieren
-modsMods-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.

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
Warnung

Diese Aktion erfordert eine Eingabeaufforderung mit erhöhten Rechten. Bitte führen Sie die Eingabeaufforderung als Administrator aus.

Warnung

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.

Für Windows nicht erforderlich.

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.

C:\opt\l2j\server\login\startLoginServer.bat
C:\opt\l2j\server\game\startGameServer.bat

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);
}
Info

Laden Sie die kompilierte Version hier herunter, weitere Informationen hier.

Gefahr

Client-Modifikationen sind in L2J nicht erlaubt, dies schließt GameGuard- und L2.ini-Änderungen ein.