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
- 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
Pobieranie i instalacja Javy
L2J jest zbudowany w Javie. Aby zbudować serwer, potrzebujesz również Java JDK.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
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
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
Sprawdź wersję Javy:
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)
Jeśli masz wiele wersji, możesz je ustawić za pomocą 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
Sprawdź wersję Javy:
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)
Jeśli masz wiele wersji, możesz je ustawić za pomocą 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
Sprawdź wersję Javy:
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)
Jeśli masz wiele wersji, możesz je ustawić za pomocą alternatives:
update-alternatives --config 'java'
brew install --cask temurin@25
Sprawdź wersję Javy:
java --version
Zaleca się zaktualizowanie zmiennej środowiskowej JAVA_HOME.
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ę.
- 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
Sprawdź wersję Gita:
git --version
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.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
winget install -e --id MariaDB.Server
dnf install -y mariadb-server
Uruchom usługę:
systemctl start mariadb
Zabezpiecz instalację bazy danych:
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
Zabezpiecz instalację bazy danych:
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
Zabezpiecz instalację bazy danych:
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
Uruchom usługę:
brew services start mariadb
Zabezpiecz instalację bazy danych:
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!
Uruchom następujące instrukcje SQL, aby utworzyć dedykowanego użytkownika bazy danych dla 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
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.
L2J jest kompatybilny z MySQL 8.0+, ale zalecamy MariaDB.
Instalacja Unzip
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
Nie dotyczy Windowsa.
Program Unzip zostanie użyty później do wdrożenia skompilowanych plików serwera.
apt install -y unzip
Program Unzip zostanie użyty później do wdrożenia skompilowanych plików serwera.
apt install -y unzip
Program Unzip zostanie użyty później do wdrożenia skompilowanych plików serwera.
apt install -y unzip
Nie dotyczy macOS.
Pobieranie kodu źródłowego
Oficjalne repozytoria znajdują się tutaj:
- 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.
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:
- 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
...
Aby uniknąć następującego ostrzeżenia
[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
- 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
Wdrażanie Game Serwera
- 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
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.
- 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
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:
- 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
Parametry są następujące:
| Parametr | Opis |
|---|---|
| -sql path | ścieżka do plików SQL |
| -u user | użytkownik bazy danych |
| -p password | hasło bazy danych |
| -m mode | tryb instalacji FULL lub UPDATE |
| -t type | typ serwera LOGIN lub GAME |
| -c | zainstaluj tabele niestandardowe (custom) |
| -mods | zainstaluj 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.
- 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
Wymaga to uprawnień administratora, uruchom Wiersz Poleceń (CMD) "Jako Administrator".
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
Nie jest to konieczne w macOS.
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.
- Windows
- Centos Stream 10
- Debian 13
- Ubuntu 22
- macOS Sequoia 15
Nie jest to konieczne w Windows.
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
Rozpoczęcie pracy serwerów
Aby rozpocząć, musisz uruchomić dwa skrypty, jeden dla Game Serwera i jeden dla Login Serwera.
- 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
Opcjonalnie sprawdź logi, aby upewnić się, że serwer uruchomił się poprawnie:
tail -f -n 300 /opt/l2j/server/login/log/stdout.log
Łą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);
}
L2J nie zezwala na modyfikację klienta. Obejmuje to GameGuard i zmiany w pliku L2.ini.