Przestrzenie nazw
Widoki
Instalacja na Linuksie / VPS
Wolisz instrukcję krok po kroku? Otwórz interaktywny poradnik instalacji, aktualizacji i ustawień. Wybierzesz komputer lub VPS i otrzymasz instrukcje dla swojej instalacji Yohary.
Na Linuksie nie ma okienkowego launchera – wszystko robisz w terminalu. Są dwie drogi: instalator jednym plikiem (najprościej, od wersji 2.13.0) albo krok po kroku (niżej, gdy chcesz mieć wszystko pod kontrolą).
Najprościej: instalator jednym plikiem
Czego potrzebujesz:
- VPS z Debianem albo Ubuntu, procesor x86_64 (ARM się nie nada), zalogowany jako root;
- 8 GB RAM (4 GB działa z mniejszą liczbą botów – instalator założy plik wymiany) i 60–80 GB dysku.
Instalacja – zaloguj się na VPS jako root i wpisz dwie komendy:
wget -O instaluj-vps.sh https://metin2sp.pl/wiki/pobierz/instaluj-vps.sh
sh instaluj-vps.sh
Jeśli system nie ma wget, najpierw: apt-get update && apt-get install -y wget ca-certificates.
Skrypt sam pobierze pełną paczkę serwera: MT2009-PLUS-Serwer-2.12.0.zip (ok. 140 MB). Tę samą paczkę możesz też pobrać ręcznie – działa na Windowsie (launcher) i na Linuksie.
Co robi, po kolei:
- Sprawdza maszynę i doinstalowuje
wget,unzip,curlipython3. - Pobiera pełną paczkę z metin2sp.pl i rozpakowuje folder serwera do
/opt/mt2009plus. - Czyta z GitHuba, jaka jest najnowsza wersja, pobiera paczkę aktualizacji, sprawdza jej sumę SHA-256 i nakłada ją na folder.
- Na końcu pokazuje adres serwera i komendy do haseł i paneli. Konta
adminitestdostają losowe hasła.
Opcje:
| Opcja | Co robi |
|---|---|
--paczka URL |
inny bezpośredni link do pełnej paczki (.zip albo .tar.gz) zamiast tej z metin2sp.pl |
--folder KATALOG |
gdzie ma stać serwer (domyślnie /opt/mt2009plus) |
--address ADRES |
publiczny adres serwera (domyślnie odczytany adres IPv4 VPS) |
--bots N |
liczba botów (domyślnie dobrana do pamięci) |
--bez-aktualizacji |
zostaw wersję z pełnej paczki |
--force |
instaluj mimo małej pamięci albo dysku |
--tylko-pliki |
tylko kroki 1–3 – pliki gotowe w folderze, bez Dockera |
Po instalacji – z folderu /opt/mt2009plus:
sh linux-port/tools/vps-install.sh status # czy budowa jeszcze trwa, czy serwer działa
sh linux-port/tools/vps-install.sh passwords # hasła kont admin i test
sh linux-port/tools/vps-install.sh add-account LOGIN # konto dla znajomego
sh linux-port/tools/vps-install.sh update # aktualizacja do nowej wersji
sh linux-port/tools/vps-install.sh logs # ostatnie logi
Panele są dla bezpieczeństwa widoczne tylko na samym VPS. Otwierasz je przez tunel SSH – na swoim komputerze:
ssh -L 7788:127.0.0.1:7788 -L 7790:127.0.0.1:7790 root@ADRES_VPS
i w przeglądarce http://127.0.0.1:7788 (panel klasyczny) oraz http://127.0.0.1:7790 (Seban Panel), dopóki okno SSH jest otwarte.
W kliencie gry dodaj serwer z adresem VPS, np. plikiem Ustaw_serwer_VPS.bat. Porty gry to TCP 11000 i 13000–13002 – jeśli dostawca VPS ma własną zaporę, otwórz je tam.
Krok po kroku
Poradnik od czystego Debiana 13 do działającego serwera w najnowszej wersji. Na Ubuntu wygląda to tak samo (w repozytorium Dockera zamień debian na ubuntu).
1. Czego potrzebujesz
- Maszyny z Debianem 13 (VPS albo mini PC, z pulpitem albo bez) i kontem z
sudo. - Procesora x86 (Intel/AMD) – serwer gry nie działa na ARM.
- Co najmniej 4 GB RAM i kilkanaście GB wolnego dysku (więcej przy tysiącach botów albo drugim kanale).
- Internetu – Docker pobiera obrazy bazowe, a serwer aktualizacje.
- Pełnej paczki MT2009 PLUS z Discorda. Potrzebny jest tylko folder
Serwer.
Nie używaj instalatora installer/install.sh ani aktualizatora z linii 1.x oficjalnego projektu. Nakładają pliki innej wersji silnika i psują działający serwer (m.in. stawki). Ten poradnik korzysta tylko z paczki i skryptu linux-port/tools/update.sh.
2. System i Docker
Aktualizacja systemu i narzędzia:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y ca-certificates curl gnupg unzip
Docker z oficjalnego repozytorium Dockera (w repozytorium Debiana bywa starsza wersja bez Compose v2):
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
Sprawdź, czy działa:
sudo docker run hello-world
sudo docker compose version
Pierwsza komenda wypisuje powitanie Dockera, druga numer wersji Compose (v2.x). W poradniku wszystkie komendy Dockera mają sudo. Jeśli dodasz się do grupy docker (sudo usermod -aG docker $USER, potem ponowne logowanie), używaj już wszędzie samego docker i nie mieszaj go z sudo docker.
3. Paczka serwera na maszynie
Plik zip wgrywasz na serwer z własnego komputera, np. scp:
scp MT2009-PLUS.zip UZYTKOWNIK@ADRES_SERWERA:~/
albo programem WinSCP / FileZilla. Jeśli masz bezpośredni link, możesz pobrać od razu na serwerze: wget -O MT2009-PLUS.zip "LINK".
Rozpakuj tylko folder Serwer do /opt/metin2/stack (nazwę folderu w zipie sprawdź komendą unzip -l):
sudo mkdir -p /opt/metin2/_new
cd /opt/metin2/_new
sudo unzip -q ~/MT2009-PLUS.zip
sudo mv "/opt/metin2/_new/<folder paczki>/Serwer" /opt/metin2/stack
sudo rm -rf /opt/metin2/_new
cat /opt/metin2/stack/VERSION
W /opt/metin2/stack mają być m.in. VERSION, linux-port/, launcher/ i tools/.
4. Plik .env
Cała konfiguracja jest w jednym pliku:
cd /opt/metin2/stack/linux-port/docker
sudo cp .env.example .env
sudo nano .env
Wystarczy sekcja „1. REQUIRED” na górze:
| Ustawienie | Co wpisać |
|---|---|
M2_PUBLIC_ADDRESS |
publiczny adres IP maszyny albo domena (curl -4 ifconfig.me). Bez tego klient zawiśnie na „łączenie z serwerem” |
M2_DB_ROOT_PASSWORD, M2_DB_PASSWORD |
dwa różne, długie hasła, np. z openssl rand -hex 24 (bez spacji i cudzysłowów) |
M2_DB_PUBLISH_PORT |
zostaw 3306, chyba że port jest zajęty |
M2_PANEL_PASSWORD |
możesz zostawić puste – panel wylosuje hasło przy pierwszym starcie |
PLAYERBOT_AUTOSPAWN_COUNT |
ile botów startuje z grą; na pierwszy start daj mniej, np. 50 – potem zmienisz w panelu |
M2_COMPOSE_PROJECT_NAME i M2_CONTAINER_PREFIX zostaw puste. Trzeba je ustawić dopiero przy drugiej, osobnej kopii serwera na tej samej maszynie.
5. Pierwsze uruchomienie
cd /opt/metin2/stack/linux-port/docker
sudo docker compose up -d --build
Pierwszy build kompiluje serwer od zera: od kilkunastu do kilkudziesięciu minut. Konsola może długo milczeć – to normalne.
6. Czy wszystko działa
sudo docker compose ps
Usługi mają status Up / healthy. Kontener *-playerbot-migrate kończy się raz (Exited (0)) – tak ma być.
Hasło panelu, jeśli zostawiłeś je puste:
sudo docker compose logs panel | grep -A4 PASSWORD
Panele: http://ADRES_SERWERA:7788 (klasyczny, mapa botów) i http://ADRES_SERWERA:7790 (Seban Panel). W grze: konto admin / admin z czterema postaciami GM – zmień to hasło, zanim serwer zobaczą inni.
Coś nie wstało? Najpierw logi:
sudo docker compose logs game --tail 80
sudo docker compose logs panel --tail 40
Porty gry: TCP 11000 i 13000–13002 (z drugim kanałem także 13010–13012) – otwórz je w zaporze i u dostawcy VPS.
7. Baza danych z komputera (opcjonalnie)
Baza słucha tylko na 127.0.0.1 serwera.
- Tunel SSH (bezpieczniej) – w Navicat / HeidiSQL ustaw połączenie przez SSH do tej maszyny, a w nim
127.0.0.1:3306. - Otwarty port (wygodniej, mniej bezpiecznie) – obok
docker-compose.ymlutwórzdocker-compose.override.yml:
services:
mariadb:
ports: !override
- "0.0.0.0:3306:3306"
i uruchom sudo docker compose up -d. Logujesz się jako root (hasło M2_DB_ROOT_PASSWORD) albo metin2 (hasło M2_DB_PASSWORD). Wtedy bazę chroni tylko siła hasła – rób to świadomie.
8. Aktualizacja
cd /opt/metin2/stack
sudo sh linux-port/tools/update.sh check # tylko pokazuje wersje
sudo sh linux-port/tools/update.sh run # instaluje najnowszą
9. Przydatne komendy
sudo docker compose ps # stan
sudo docker compose down # zatrzymanie (baza zostaje)
sudo docker compose up -d # start
sudo docker compose logs -f game # logi gry
Czego nie robić:
docker compose down -v–-vkasuje bazę danych.- Starego
installer/install.shi aktualizatora z linii 1.x. - Ręcznych zmian w
game/src/bez przebudowy – zobacz Baza danych i pliki serwera.
Jeśli po aktualizacji coś nie wstaje: nic nie zostało skasowane, poprzednie obrazy są na dysku. Sprawdź logi, popraw i uruchom sudo docker compose up -d --build jeszcze raz.