Przejdź do treści

Podręcznik instalacji

Wstęp

O nas

L2J Server to oficjalny projekt typu Open Source, opracowany w Javie, który ma na celu dostarczanie serwera gry Lineage II.

Działamy od wielu lat, a naszą misją jest zapewnienie doświadczenia jak najbardziej zbliżonego do oficjalnej wersji gry.

Naszą wizją jest posiadanie serwera opartego na architekturze mikroserwisowej klasy cloud-native, który w zależności od konfiguracji będzie mógł obsługiwać dowolną wersję gry.

O produkcie

L2J Server jest podzielony na dwa komponenty: L2j Game Server i L2j Login Server. Jednocześnie L2j Game Server dzieli się na Core (Rdzeń) i Datapack. Core to kod Java definiujący mechanikę gry, trwałość danych i mechanizmy komunikacji, podczas gdy Datapack składa się ze wszystkich plików związanych z rozgrywką, takich jak dialogi, skrypty zadań (questów), AI i inne.

Instalacja serwera wymaga najpierw zainstalowania dodatkowego oprogramowania (Java, Baza Danych, Git itp.), następnie pobrania kodu źródłowego i jego skompilowania, zainstalowania bazy danych, wdrożenia skompilowanych plików serwera, dokonania minimalnej konfiguracji, a na końcu uruchomienia i przetestowania serwerów.

Wymagane oprogramowanie

  • Zaktualizowany system operacyjny
  • Java
  • MariaDB (lub MySQL)
  • Git

Aktualizacja systemu operacyjnego

wuauclt /detectnow /updatenow

Pobieranie i instalacja Javy

L2J jest zbudowany w Javie. Aby zbudować serwer, potrzebujesz również Java JDK.

winget install EclipseAdoptium.Temurin.25.JDK

Jeśli już korzystasz z winget, możesz zaktualizować wersję Javy za pomocą:

winget upgrade EclipseAdoptium.Temurin.25.JDK

Sprawdź wersję Javy:

java --version
Wskazówka

Zaleca się zaktualizowanie zmiennej środowiskowej JAVA_HOME.

Informacja

W miarę możliwości L2J zachowuje kompatybilność z najnowszymi wersjami Java LTS (Long Term Support). Mapę drogową Java SE można sprawdzić tutaj.

Pobieranie i instalacja Gita

L2J używa Gita jako systemu kontroli wersji na BitBucket. Używaj go, aby uzyskać najnowszą wersję.

winget install -e --id Git.Git

Sprawdź wersję Gita:

git --version
Informacja

Zaleca się pobieranie kodu źródłowego bezpośrednio z naszych oficjalnych repozytoriów publicznych.

Pobieranie i instalacja serwera bazy danych

Pobierz i zainstaluj serwer bazy danych, a następnie utwórz dedykowanego użytkownika.

winget install -e --id MariaDB.Server

Uruchom następujące instrukcje SQL, aby utworzyć dedykowanego użytkownika bazy danych dla L2J:

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
Uwaga

Zaleca się zmianę domyślnego hasła do bazy danych. Jeśli to zrobisz, będziesz musiał edytować plik database.properties w folderze config Game Serwera i Login Serwera.

Wskazówka

Zalecamy pobranie i zainstalowanie HeidiSQL lub DBeaver, aby zarządzać swoją bazą danych (opcjonalnie).

Informacja

L2J jest kompatybilny z MySQL 8.0+, ale zalecamy MariaDB.

Instalacja Unzip

Nie dotyczy Windowsa.

Pobieranie kodu źródłowego

Oficjalne repozytoria znajdują się tutaj:

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

Gałąź (branch) develop zawiera najnowszą wersję High Five, podczas gdy gałąź master zawiera stabilną wersję High Five. Inne dostępne opcje to m.in. Interlude, Epilogue, Freya.

Kompilacja serwera

Użyj Mavena, aby zbudować pliki serwera. Uruchom następujące polecenia:

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

Aby uniknąć następującego ostrzeżenia

Ostrzeżenie

[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

Musisz poprosić o klucz API od NIST i ustawić go w zmiennej środowiskowej NVD_API_KEY.

Klucz API zostanie użyty do pobrania pliku bazy danych podatności.

Wdrażanie serwera

Proces wdrożenia polega obecnie na zwykłym rozpakowaniu utworzonych wcześniej plików.

Wdrażanie Login Serwera

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

Wdrażanie Game Serwera

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
Uwaga

Nazwy plików mogą się zmieniać z każdą nową wersją, miej to na uwadze.

Instalacja bazy danych

Pobieranie L2J CLI

L2J CLI to narzędzie, które może zostać użyte do zautomatyzowania wdrożenia i wstępnej konfiguracji.

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

Konfiguracja CLI

Edytuj pliki login-server.properties i game-server.properties w folderze config, ustaw DatabaseUser i DatabasePassword zgodnie z użytkownikiem i hasłem, które ustawiłeś dla bazy danych.

Uruchamianie CLI

Uruchom l2jcli.bat i wpisz następujące polecenia:

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

Parametry są następujące:

ParametrOpis
-sql pathścieżka do plików SQL
-u userużytkownik bazy danych
-p passwordhasło bazy danych
-m modetryb instalacji FULL lub UPDATE
-t typetyp serwera LOGIN lub GAME
-czainstaluj tabele niestandardowe (custom)
-modszainstaluj tabele dla modów (mods)

Tworzenie konta administratora

Użyj L2J CLI, aby utworzyć konto administratora. 8 to maksymalny poziom dostępu (Master):

account create -u Zoey76 -p -a 8
quit

Otwieranie portów serwera

Jeśli chcesz grać spoza localhosta, będziesz musiał otworzyć niektóre porty serwera.

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
Uwaga

Wymaga to uprawnień administratora, uruchom Wiersz Poleceń (CMD) "Jako Administrator".

Uwaga

To jedyne porty potrzebne do połączenia się z serwerem przez graczy.

Geodata

L2J Server wykorzystuje pliki Geodata, aby udostępnić serwerowi informacje o otoczeniu.

Możesz to skonfigurować edytując plik geodata.properties wewnątrz folderu ustawień Game Serwera.

Geodata powinna zostać umieszczona w folderze data/geodata. Możesz zmienić tę ścieżkę, edytując właściwość GeoDataPath.

Najnowszą wersję dla High Five można pobrać tutaj.

Uruchamianie serwerów

Wstępna konfiguracja

Te polecenia utworzą niezbędne foldery na logi i nadadzą uprawnienia do wykonywania skryptów.

Nie jest to konieczne w Windows.

Rozpoczęcie pracy serwerów

Aby rozpocząć, musisz uruchomić dwa skrypty, jeden dla Game Serwera i jeden dla Login Serwera.

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

Łączenie się z serwerem

Aby połączyć się z serwerem, masz następujące opcje:

Plik HOSTS

Edytuj plik C:\Windows\System32\drivers\etc\hosts i dodaj następującą linię:

127.0.0.1 l2authd.lineage2.com

Plik BAT

Utwórz plik .bat z następującą zawartością:

@start l2.bin IP=127.0.0.1

Własny plik EXE

Oto przykład pliku EXE w C++ Win32:

#define _WIN32_WINNT _WIN32_WINNT_WINXP
#define NOMINMAX
#include <windows.h>
#include <cstdlib>

// Uruchamia L2 jako .bin z adresem IP jako parametrem.
// Możesz użyć adresu IP lub DNS jako parametru IP.
// Można dodać więcej parametrów.
// Możesz zmienić ścieżkę do .bin, aby uniknąć umieszczania L2.exe w folderze system.
// 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);
}
Informacja

Możesz pobrać skompilowaną wersję tutaj. Więcej informacji znajdziesz tutaj.

Uwaga

L2J nie zezwala na modyfikację klienta. Obejmuje to GameGuard i zmiany w pliku L2.ini.