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.