Krak Server
Krak Server to agent serwerowy Krak Multiplayer: mały program na serwer dedykowany lub VPS, który przez całą dobę hostuje działające tam serwery Minecraft przez Krak Multiplayer. Sterujesz nim z aplikacji na telefonie lub komputerze.
Konfiguracja w 6 krokach
Potrzebujesz maszyny, na której działa twój serwer Minecraft (VPS, serwer dedykowany albo domowy komputer), i Krak Multiplayer na telefonie lub komputerze. Na maszynie wpisujesz jedno polecenie; reszta dzieje się w aplikacji.
- Uruchom jak zwykle swój serwer Minecraft na tej maszynie: Bedrock Dedicated Server, serwer Java albo Java z Geyser.
- Otwórz terminal na tej maszynie jako administrator. Windows: kliknij prawym przyciskiem Start i wybierz Terminal (Administrator) lub Windows PowerShell (Administrator). Linux: otwórz terminal albo połącz się przez SSH.
- Skopiuj poniżej polecenie instalacji dla swojego systemu (przycisk Kopiuj), wklej je do terminala i naciśnij Enter. Na Linuksie wpisz hasło, jeśli sudo o nie poprosi.
- Poczekaj do minuty. Polecenie pobiera Krak Server, sprawdza go, instaluje i pokazuje duży kod parowania, np. 7Q4M-X2PA, oraz link. Niczego więcej nie musisz tam wpisywać.
- Na telefonie lub komputerze otwórz Krak Multiplayer, dotknij przycisku +, potem Hostuj zdalny serwer, i wpisz kod (albo otwórz link). Sprawdź nazwę serwera i zatwierdź.
- Wybierz, który serwer Minecraft na maszynie udostępnić i jako jaki świat, a potem Zapisz. Twój świat jest online dla znajomych zawsze, gdy maszyna działa.
Instalacja na Linuksie
Wklej to do terminala i naciśnij Enter (sudo może zapytać o twoje hasło):
curl -fsSL https://krak-mp.cc/download/server/install.sh | sudo sh
Skrypt wybiera wersję dla twojego procesora, sprawdza jej SHA-256, instaluje Krak Server jako usługę systemową krak-server, uruchamia ją i pokazuje kod parowania. Później sudo krak-server status pokaże go ponownie. Ręcznie: pobierz archiwum dla swojego procesora ze strony pobierania, porównaj jego SHA-256, rozpakuj je poleceniem tar xzf i uruchom sudo ./krak-server install. Ponowne uruchomienie instalatora aktualizuje Krak Server.
Instalacja na Windows
Otwórz PowerShell jako administrator (prawy przycisk na Start, Terminal (Administrator)), wklej to i naciśnij Enter:
irm https://krak-mp.cc/download/server/install.ps1 | iex
Instaluje usługę Windows Krak Server, która startuje z Windows i uruchamia się ponownie po awarii, dodaje krak-server.exe do PATH i pokazuje kod parowania. Później krak-server.exe status w dowolnym nowym terminalu administratora pokaże go ponownie; program jest w C:\Program Files\Krak Server.
Żeby wypróbować bez instalacji: pobierz plik zip, rozpakuj go i uruchom krak-server.exe w konsoli. Paruje się i hostuje, dopóki go nie zamkniesz.
Co robi
Krak Server loguje się kodem parowania, nigdy twoim hasłem. Znajduje serwery Bedrock i Java na tej samej maszynie i udostępnia te, które wybierzesz w aplikacji, jako światy Krak. Gracze dołączają do nich z Krak Multiplayer jak do każdego innego świata: serwer pojawia się na liście LAN w samym Minecraft.
Ruch gry idzie przez przekaźnik Krak. Gracze nigdy nie widzą adresu IP serwera, a serwer nigdy nie widzi ich adresów. Krak Server nie otwiera portów i nie wymaga przekierowania portów: łączy się tylko na zewnątrz z krak-mp.cc.
Serwerem sterujesz w aplikacji: dotknij +, potem Hostuj zdalny serwer, albo otwórz Moje światy, gdzie są twoje serwery. Tam wybierasz, co hostować, uruchamiasz to i zatrzymujesz oraz widzisz graczy, prośby o dołączenie, wyrzucenia, bany i stan serwera. Ten ekran nosi nazwę Zdalne sterowanie, żeby nigdy nie pomylić go z hostowaniem na twoim urządzeniu.
Wymagania
- Linux na x86_64 lub ARM64 (systemd dla usługi działającej cały czas) albo Windows 10, 11 lub Server 2019 i nowszy na x64.
- Bedrock Dedicated Server, serwer Java (Paper, Fabric i inne) albo serwer Java z Geyser na tej samej maszynie.
- Konto Krak Multiplayer z potwierdzonym e-mailem lub logowaniem Google oraz aplikacja 0.8.5 lub nowsza, żeby sparować serwer i nim sterować (przycisk + od 0.8.6).
- Około 15 MB miejsca na dysku i 40 MB pamięci. Obok serwera gry Krak Server zużywa bardzo mało CPU.
Sparuj go ze swoim kontem
- Polecenie instalacji pokazuje kod parowania na końcu. Później albo gdy kod wygaśnie, uruchom na maszynie sudo krak-server status (w Windows: krak-server.exe status w terminalu administratora).
- W Krak Multiplayer dotknij +, potem Hostuj zdalny serwer, i wpisz kod albo otwórz link na telefonie. W aplikacji 0.8.5: Profil, Moje serwery, Dodaj serwer.
- Sprawdź nazwę, system i sieć serwera, a potem zatwierdź. Kod działa przez 10 minut; potem serwer pokaże nowy.
Zatwierdzaj tylko kod pokazany przez serwer, który kontrolujesz. Każdy, kto prosi cię o kod, chce hostować w twoim imieniu.
Wybierz, co hostować
Otwórz serwer (w Moich światach albo przez + i Hostuj zdalny serwer) i dotknij Hostuj na tym serwerze. Wybierz serwer znaleziony na maszynie, a potem jeden ze swoich światów lokalnych albo nowy. Nazwę, opis, ikonę, dostęp i inne ustawienia świata edytujesz w aplikacji jak zwykle.
Konto hostuje naraz jeden świat, z Krak Plus lub bez: świat na telefonie lub komputerze, serwer hostowany przez aplikację albo świat na Krak Server. Serwer cross-play (Paper z Geyser) to jeden świat z obiema edycjami. Możesz sparować do 2 serwerów, albo 7 z Krak Plus, i mieć na każdym świat: włącz hostowanie dla tego, którego chcesz teraz. Z Krak Plus twój serwer zewnętrzny może w tym czasie zostać na liście, chyba że to ten sam serwer.
Zatwierdzanie dołączania działa, ale prośby wygasają po 2 minutach. Dla serwera, który działa, gdy śpisz, wyłącz zatwierdzanie i zamiast tego używaj ustawień dostępu świata i banów.
Ustawienia Bedrock Dedicated Server
Gracze Krak dołączają przez listę LAN, więc serwer musi przyjmować graczy LAN. W server.properties ustaw:
enable-lan-visibility=true
online-mode=false
allow-list=false
Z online-mode=false serwer nie sprawdza logowania Xbox. Jeśli własny port serwera jest też otwarty dla internetu, gracze łączący się z nim bezpośrednio mogą dołączyć pod dowolną nazwą, także operatora. Trzymaj port Bedrock zamknięty dla internetu albo zaakceptuj niezweryfikowanych graczy bezpośrednich.
Tylko jeden serwer Bedrock na maszynę może być widoczny w sieci LAN: zajmuje port UDP 7551. Minecraft 1.26.52 i nowszy wpuszcza graczy Krak tylko w ten sposób, więc drugiego serwera Bedrock na tej samej maszynie nie da się udostępnić: Krak Server go nie hostuje, a aplikacja mówi dlaczego. Zatrzymaj tamten serwer albo włącz RakNet w drugim. Po zmianie tych ustawień uruchom serwer ponownie.
Serwery Java
Serwer Java nie potrzebuje niczego specjalnego: Krak Server łączy się z portem serwera na tej samej maszynie. Na serwerze z online-mode gracze potrzebują jak zwykle Minecraft: Java Edition.
Geyser: gracze Bedrock na serwerze Java
Z Geyser na Paper, Spigot lub proxy gracze Bedrock wchodzą przez port Bedrock Geyser, a Krak Server udostępnia ten port jak serwer Bedrock. Domyślny Geyser odrzuca każdego gracza Bedrock przychodzącego przez Krak: widzi on „Please log into Xbox”, bo dołącza jak do gry LAN, bez sprawdzania logowania Xbox, którego oczekuje Geyser. Krak Server nie widzi tej odmowy, więc aplikacja nie może cię o niej powiadomić. Ustaw to w config.yml Geyser (plugins/Geyser-Spigot/config.yml na Paper i Spigot):
validate-bedrock-login: false
Potem uruchom serwer ponownie. Geyser przestaje sprawdzać logowanie Xbox graczy Bedrock: trzymaj jego port Bedrock (domyślnie 19132) zamknięty dla internetu, inaczej gracze łączący się z nim bezpośrednio mogą dołączyć pod dowolną nazwą Bedrock. Krak nie potrzebuje otwartego portu.
To nie dotyczy graczy Java, a serwer Java może zostać z online-mode=true. Z Floodgate gracze Bedrock dołączają bez konta Java; bez Floodgate Geyser prosi każdego gracza Bedrock o zalogowanie się kontem Java.
Krak łączy się z Geyser przez RakNet. Minecraft 26.60 ma zakończyć dołączanie przez RakNet, więc gracze Bedrock z 26.60 mogą nie wejść przez Krak, dopóki Geyser ich nie obsłuży.
Docker
Uruchom kontener serwera gry z siecią hosta (--network host), żeby Krak Server zainstalowany na hoście widział jego wykrywanie LAN i porty.
Ustawienia
Krak Server czyta /etc/krak-server/config.json na Linuksie i %ProgramData%\Krak Server\config.json na Windows. Każdy klucz jest opcjonalny, a nieznane klucze są odrzucane. Sprawdź plik poleceniem krak-server config check i po zmianie uruchom usługę ponownie.
Aktualizacje
Krak Server co 6 godzin sprawdza podpisane aktualizacje i sam je instaluje: w oknie aktualizacji albo gdy tylko nikt nie gra lub aktualizacja jest wymagana. Hostowany świat uruchamia się ponownie, a gracze dołączają z listy LAN. W aplikacji przycisk Zaktualizuj teraz instaluje aktualizację od razu.
W Linuksie usługa instaluje aktualizację przy ponownym uruchomieniu, w kilka sekund. W Windows instaluje ją w ciągu 15 minut zaplanowane zadanie Krak Server\Apply update: działa jako SYSTEM, zatrzymuje usługę, podmienia program, uruchamia go ponownie i sprawdza, czy nowa wersja działa. Jeśli nowa wersja się nie uruchomi, wraca poprzednia. krak-server status pokazuje oczekującą aktualizację i kiedy zadanie ostatnio działało.
Aby od razu zainstalować aktualizację w Linuksie:
sudo krak-server update
W Windows, w PowerShell jako administrator (z pełną ścieżką działa w każdym oknie):
& "C:\Program Files\Krak Server\krak-server.exe" update
Ponowne uruchomienie polecenia instalacji też aktualizuje Krak Server. Zachowuje parowanie i ustawienia oraz tworzy na nowo zadanie aktualizacji Windows, na przykład po instalacji z --no-auto-update.
Status i logi
krak-server status pokazuje, z czyim kontem serwer jest sparowany, kod parowania, gdy czeka, połączenie, każdy hostowany świat i jego graczy. Na Linuksie logi są w dzienniku systemowym:
sudo krak-server status
journalctl -u krak-server -f
W Windows są w %ProgramData%\Krak Server\logs. Logi nigdy nie zawierają tokenów, kluczy ani adresów graczy.
Usuń serwer
W aplikacji: otwórz serwer (Moje światy), jego menu, Usuń serwer. Serwer od razu przestaje hostować i nie może się ponownie zalogować. Potem sam pokazuje nowy kod parowania, dla tego albo innego konta.
Na maszynie: sudo krak-server unpair usuwa parowanie; sudo krak-server uninstall usuwa usługę, a z --purge także jej ustawienia i dane.
Zmiana lub reset hasła, wylogowanie wszędzie i ban wylogowują też wszystkie serwery konta.
Rozwiązywanie problemów
Kod wygasł
Kod działa przez 10 minut. Serwer sam pokaże nowy: uruchom ponownie krak-server status.
Zegar się spieszy lub późni (clock skew)
Krak Server loguje się z czasem maszyny. Włącz synchronizację czasu: timedatectl set-ntp true na Linuksie, usługa Czas systemu Windows na Windows.
Nie znaleziono serwera gry
Najpierw uruchom serwer gry i sprawdź, czy odpowiada na maszynie (dla Bedrock: enable-lan-visibility=true). Potem dotknij w aplikacji Skanuj ponownie.
Port jest niedozwolony
Serwer gry działa na porcie spoza allow. Dodaj port do allow w pliku konfiguracyjnym na maszynie i uruchom Krak Server ponownie.
Gracze są odrzucani
Sprawdź online-mode i allow-list w server.properties. Stan serwera w aplikacji pokazuje odmowy i ich powód.
Gracze Bedrock widzą „Please log into Xbox”
To Geyser odrzuca graczy przychodzących przez Krak. Ustaw validate-bedrock-login: false w config.yml Geyser i uruchom serwer ponownie (patrz Geyser wyżej). Aplikacja nie może pokazać tej odmowy.
krak-server.exe nie jest rozpoznawany
Krak Server dodaje swój folder do PATH podczas instalacji: otwórz nowy terminal. Albo uruchom go z pełną ścieżką: "C:\Program Files\Krak Server\krak-server.exe" status (w PowerShell dodaj & na początku). Instalacja sprzed 0.8.6? Uruchom polecenie instalacji ponownie.
Nikt nie może dołączyć do drugiego serwera Bedrock
Na jednej maszynie działają dwa serwery Bedrock, a widoczność w sieci LAN (port UDP 7551) ma ten drugi. Od Minecraft 1.26.52 serwer Bedrock przyjmuje graczy Krak tylko dzięki widoczności w sieci LAN, więc aplikacja pokazuje ten serwer jako zatrzymany. Udostępniaj jeden serwer Bedrock na maszynę: zatrzymaj tamten i uruchom ten ponownie albo włącz w tym RakNet.
Aplikacja mówi, że inny świat jest już hostowany
Konto hostuje naraz jeden świat, z Krak Plus lub bez. Dopóki świat działa na twoim telefonie, komputerze albo innym Krak Server, ten serwer czeka i sam startuje w ciągu kilku sekund, gdy tamten świat się zatrzyma. Żeby przełączyć, zatrzymaj tamten świat (aplikacja proponuje Zatrzymaj go) albo wyłącz w aplikacji hostowanie świata tego serwera.
Instalacja mówi, że serwer jest już sparowany
Krak Server zostaje sparowany z kontem, które zatwierdziło jego kod, także gdy polecenie instalacji zostanie uruchomione ponownie. Żeby przekazać serwer innemu kontu, jego właściciel usuwa go w aplikacji (Moje światy albo zdalne sterowanie, Usuń serwer): serwer sam pokaże wtedy nowy kod parowania, sprawdzisz go poleceniem krak-server status. Albo na maszynie: sudo krak-server unpair (w Windows: krak-server.exe unpair w terminalu administratora).
Aktualizacja jest pobrana, ale niezainstalowana
W Windows aktualizacje instaluje zaplanowane zadanie, ale Krak Server przed 0.8.9.1 nigdy go o to nie prosił, więc serwer z Windows zostawał przy wersji, z którą go zainstalowano. Zainstaluj aktualizację raz, w PowerShell jako administrator: & "C:\Program Files\Krak Server\krak-server.exe" update (albo uruchom ponownie polecenie instalacji); kolejne aktualizacje zainstalują się same. Jeśli aktualizacja czeka dłużej niż 30 minut, krak-server status powie dlaczego i które polecenie ją zainstaluje. W Linuksie: sudo krak-server update.
Krak Server jest zatrzymany (NOT RUNNING)
Uruchom go: w PowerShell jako administrator sc.exe start KrakServer (samo sc to w PowerShell inne polecenie), w Linuksie sudo systemctl start krak-server. Po minucie krak-server status powinien pokazać online. Jeśli znów się zatrzyma, przyczynę podaje log: %ProgramData%\Krak Server\logs w Windows, journalctl -u krak-server w Linuksie. Od 0.8.9.1, jeśli nowa wersja z aktualizacji się nie uruchomi, poprzednia wraca sama.
Minecraft jest znakiem towarowym Mojang Synergies AB. Krak Multiplayer nie jest oficjalnym produktem Minecraft i nie jest zatwierdzony przez Mojang ani Microsoft ani z nimi powiązany.