Krak Multiplayer
BE
Спампаваць
Даведка

Krak Server

Krak Server гэта серверны агент Krak Multiplayer: невялікая праграма для выдзеленага сервера або VPS, якая кругласутачна хосціць серверы Minecraft на гэтай машыне праз Krak Multiplayer. Ты кіруеш ім з праграмы на тэлефоне або ПК.

Наладжванне за 6 крокаў

Патрэбна машына, на якой працуе твой сервер Minecraft (VPS, выдзелены сервер або хатні ПК), і Krak Multiplayer на тэлефоне ці ПК. На машыне ты ўводзіш адну каманду, усё астатняе робіцца ў праграме.

  1. Запусці свой сервер Minecraft на гэтай машыне, як заўсёды: Bedrock Dedicated Server, сервер Java або Java з Geyser.
  2. Адкрый на гэтай машыне тэрмінал ад імя адміністратара. Windows: пстрыкні правай кнопкай па «Пуск» і абяры «Тэрмінал (адміністратар)» або «Windows PowerShell (адміністратар)». Linux: адкрый тэрмінал або падключыся праз SSH.
  3. Скапіюй ніжэй каманду ўсталявання для сваёй сістэмы (кнопка «Капіяваць»), устаў яе ў тэрмінал і націсні Enter. На Linux увядзі свой пароль, калі sudo яго папросіць.
  4. Пачакай да хвіліны. Каманда спампуе Krak Server, праверыць яго, усталюе і пакажа вялікі код падключэння накшталт 7Q4M-X2PA і спасылку. Больш нічога ўводзіць там не трэба.
  5. На тэлефоне ці ПК адкрый Krak Multiplayer, націсні кнопку +, потым «Хосціць аддалены сервер», і ўвядзі код (або адкрый спасылку). Правер назву сервера і пацвердзі.
  6. Абяры, якім серверам Minecraft на машыне дзяліцца і якім светам, потым «Захаваць». Твой свет анлайн для сяброў кожны раз, калі машына працуе.

Усталяванне на Linux

Устаў гэта ў тэрмінал і націсні Enter (sudo можа папрасіць твой пароль):

curl -fsSL https://krak-mp.cc/download/server/install.sh | sudo sh

Скрыпт абярэ зборку для твайго працэсара, праверыць яе SHA-256, усталюе Krak Server як сістэмную службу krak-server, запусціць яе і пакажа код падключэння. Пазней яго зноў пакажа sudo krak-server status. Уручную: спампуй архіў для свайго працэсара са старонкі спампоўвання, звер яго SHA-256, распакуй праз tar xzf і выканай sudo ./krak-server install. Паўторны запуск усталёўшчыка абнаўляе Krak Server.

Усталяванне на Windows

Адкрый PowerShell ад імя адміністратара (правая кнопка па «Пуск», «Тэрмінал (адміністратар)»), устаў гэта і націсні Enter:

irm https://krak-mp.cc/download/server/install.ps1 | iex

Гэта ўсталёўвае службу Windows Krak Server, якая запускаецца разам з Windows і перазапускаецца пасля збою, дадае krak-server.exe у PATH і паказвае код падключэння. Пазней яго зноў пакажа krak-server.exe status у любым новым тэрмінале адміністратара; праграма ляжыць у C:\Program Files\Krak Server.

Каб спачатку паспрабаваць без усталявання: спампуй zip, распакуй яго і запусці krak-server.exe у кансолі. Ён падключаецца і хосціць, пакуль ты яго не закрыеш.

Што ён робіць

Krak Server уваходзіць па кодзе падключэння, ніколі па тваім паролі. Ён знаходзіць серверы Bedrock і Java на той самай машыне і дзеліцца тымі, якія ты абярэш у праграме, як светамі Krak. Гульцы далучаюцца да іх з Krak Multiplayer, як да любога свету: сервер з’яўляецца ў звычайным спісе LAN у Minecraft.

Гульнявы трафік ідзе праз рэтранслятар Krak. Гульцы ніколі не бачаць IP-адрас сервера, а сервер не бачыць іх адрасоў. Krak Server не адкрывае партоў і не патрабуе іх пракідвання: ён толькі сам падключаецца да krak-mp.cc.

Ты кіруеш серверам у праграме: націсні +, потым «Хосціць аддалены сервер», або адкрый «Мае светы», дзе ёсць твае серверы. Там ты выбіраеш, што хосціць, запускаеш і спыняеш, бачыш гульцоў, запыты на ўваход, выгнанні і баны і яго стан. На гэтым экране напісана «Аддаленае кіраванне», таму яго не зблытаеш з хостынгам на ўласнай прыладзе.

Патрабаванні

  1. Linux на x86_64 або ARM64 (systemd для службы, якая працуе ўвесь час) або Windows 10, 11 ці Server 2019 і навейшыя на x64.
  2. Bedrock Dedicated Server, сервер Java (Paper, Fabric і іншыя) або сервер Java з Geyser на той самай машыне.
  3. Акаўнт Krak Multiplayer з пацверджанай поштай або ўваходам праз Google і праграма 0.8.5 або навейшая, каб падключыць сервер і кіраваць ім (кнопка + з 0.8.6).
  4. Каля 15 МБ на дыску і 40 МБ памяці. Побач з гульнявым серверам Krak Server амаль не нагружае працэсар.

Падключы яго да акаўнта

  1. Каманда ўсталявання паказвае код падключэння ў канцы. Пазней або калі код састарэў, выканай на машыне sudo krak-server status (у Windows: krak-server.exe status у тэрмінале адміністратара).
  2. У Krak Multiplayer націсні +, потым «Хосціць аддалены сервер», і ўвядзі код або адкрый спасылку на тэлефоне. У праграме 0.8.5: «Профіль», «Мае серверы», «Дадаць сервер».
  3. Правер назву сервера, сістэму і сетку, потым пацвердзі. Код дзейнічае 10 хвілін, потым сервер пакажа новы.

Пацвярджай толькі код, які паказаў сервер пад тваім кантролем. Хто просіць у цябе код, хоча хосціць ад твайго імя.

Абяры, што хосціць

Адкрый сервер (у «Маіх светах» або + і «Хосціць аддалены сервер») і націсні «Хосціць на гэтым серверы». Абяры сервер, знойдзены на машыне, потым адзін са сваіх лакальных светаў або новы. Назву, апісанне, іконку, доступ і іншыя налады свету ты мяняеш у праграме, як заўсёды.

Акаўнт хосціць адзін свет адначасова, з Krak Plus і без яго: свет на тэлефоне ці ПК, сервер, які хосціцца праз праграму, або свет на Krak Server. Сервер для гульні паміж платформамі (Paper з Geyser) гэта адзін свет з абедзвюма версіямі. Падключыць можна да 2 сервераў, з Krak Plus да 7, і на кожным трымаць свой свет: уключы хостынг таго, які патрэбны зараз. З Krak Plus твой знешні сервер можа адначасова заставацца ў каталогу, калі гэта не той самы сервер.

Пацвярджэнне ўваходу працуе, але запыты знікаюць праз 2 хвіліны. Для сервера, які працуе, пакуль ты спіш, выключы пацвярджэнне і карыстайся наладамі доступу свету і банамі.

Налады Bedrock Dedicated Server

Гульцы Krak далучаюцца праз спіс LAN, таму сервер павінен прымаць гульцоў з LAN. У server.properties устанаві:

enable-lan-visibility=true
online-mode=false
allow-list=false

З online-mode=false сервер не правярае ўваход у Xbox. Калі ўласны порт сервера яшчэ і адкрыты ў інтэрнэт, гульцы, якія падключаюцца да яго наўпрост, могуць увайсці пад любым імем, у тым ліку аператара. Трымай порт Bedrock закрытым ад інтэрнэту або змірыся з неправеранымі гульцамі наўпрост.

Толькі адзін сервер Bedrock на машыне можа быць бачны ў LAN: ён займае UDP-порт 7551. Minecraft 1.26.52 і навейшыя пускаюць гульцоў Krak толькі так, таму падзяліцца другім серверам Bedrock на той самай машыне не атрымаецца: Krak Server яго не хосціць, а праграма тлумачыць чаму. Спыні іншы сервер або ўключы RakNet на другім. Перазапусці сервер пасля змены гэтых налад.

Серверы Java

Серверу Java нічога асаблівага не трэба: Krak Server падключаецца да порта сервера на той самай машыне. На серверы з online-mode гульцам, як заўсёды, патрэбна Minecraft: Java Edition.

Geyser: гульцы Bedrock на серверы Java

З Geyser на Paper, Spigot або проксі гульцы Bedrock заходзяць праз порт Bedrock самога Geyser, і Krak Server дзеліцца гэтым портам, як серверам Bedrock. Тыповы Geyser не пускае ніводнага гульца Bedrock, які прыходзіць праз Krak: гулец бачыць «Please log into Xbox», бо заходзіць як у гульню па LAN, без праверкі ўваходу ў Xbox, якой чакае Geyser. Krak Server гэтай адмовы не бачыць, таму праграма не можа пра яе паведаміць. Устанаві ў config.yml Geyser (plugins/Geyser-Spigot/config.yml на Paper і Spigot):

validate-bedrock-login: false

Потым перазапусці сервер. Geyser больш не правярае ўваход гульцоў Bedrock у Xbox: трымай яго порт Bedrock (па змаўчанні 19132) закрытым ад інтэрнэту, інакш гульцы, якія падключаюцца да яго наўпрост, змогуць увайсці пад любым імем Bedrock. Krak не патрабуе адкрытых партоў.

Гульцоў Java гэта не датычыцца, і сервер Java можа і далей працаваць з online-mode=true. З Floodgate гульцы Bedrock заходзяць без акаўнта Java; без Floodgate Geyser просіць кожнага гульца Bedrock увайсці ў акаўнт Java.

Krak падключаецца да Geyser праз RakNet. Чакаецца, што Minecraft 26.60 спыніць уваходы праз RakNet, таму гульцы Bedrock на 26.60 могуць не зайсці праз Krak, пакуль Geyser іх не падтрымае.

Docker

Запускай кантэйнер гульнявога сервера з сеткай хоста (--network host), каб Krak Server, усталяваны на хосце, бачыў яго выяўленне ў LAN і яго парты.

Налады

Krak Server чытае /etc/krak-server/config.json на Linux і %ProgramData%\Krak Server\config.json на Windows. Кожны ключ неабавязковы, невядомыя ключы адхіляюцца. Правер файл камандай krak-server config check і перазапусці службу пасля змены.

name
Назва, якую відаць у праграме. Па змаўчанні: імя машыны.
allow
Парты, якімі праграма можа дзяліцца: bedrockPorts і javaPorts. Па змаўчанні: звычайныя дыяпазоны, Bedrock ад 19132 да 19140 і Java ад 25565 да 25570. Сервер на іншым порце стане даступным толькі пасля таго, як ты дадасі яго порт сюды, на самой машыне.
updates
mode: auto (па змаўчанні), notify або off; window: мясцовы час, калі аўтаматычнае абнаўленне можа перазапусціць Krak Server (па змаўчанні 04:00-06:00).
relay
preferred: рэтранслятар, якім карыстацца заўсёды; null выбірае найлепшы.
publicAddress
Адрас, які праграма прапануе, калі ты ўключыш публічны адрас для свету.
logLevel, logFormat
debug, info, warn або error; text або json.
limits
memoryMB: абмежаванне памяці Krak Server (па змаўчанні 128).

Абнаўленні

Krak Server правярае падпісаныя абнаўленні кожныя 6 гадзін і ўсталёўвае іх сам: у акне абнаўлення або як толькі ніхто не гуляе ці абнаўленне абавязковае. Свет, які хосціцца, перазапускаецца, і гульцы заходзяць зноў са спісу LAN. У праграме кнопка «Абнавіць зараз» усталёўвае абнаўленне адразу.

У Linux служба ўсталёўвае абнаўленне падчас перазапуску, за некалькі секунд. У Windows яго на працягу 15 хвілін усталёўвае запланаванае заданне Krak Server\Apply update: яно працуе ад імя SYSTEM, спыняе службу, замяняе праграму, зноў запускае яе і правярае, што новая версія працуе. Калі новая версія не запускаецца, вяртаецца папярэдняя. krak-server status паказвае абнаўленне, якое чакае, і калі заданне запускалася апошні раз.

Каб усталяваць абнаўленне адразу ў Linux:

sudo krak-server update

У Windows, у PowerShell ад імя адміністратара (з поўным шляхам гэта працуе ў любым акне):

& "C:\Program Files\Krak Server\krak-server.exe" update

Каманда ўсталявання, выкананая яшчэ раз, таксама абнаўляе Krak Server. Яна захоўвае падключэнне і налады і зноў стварае заданне абнаўлення Windows, напрыклад пасля ўсталявання з --no-auto-update.

Стан і журналы

krak-server status паказвае, да чыйго акаўнта падключаны сервер, код падключэння, пакуль ён чакае, злучэнне, кожны свет, які хосціцца, і яго гульцоў. Журналы на Linux у сістэмным журнале:

sudo krak-server status
journalctl -u krak-server -f

У Windows яны ў %ProgramData%\Krak Server\logs. Журналы ніколі не ўтрымліваюць токенаў, ключоў ці адрасоў гульцоў.

Выдаліць сервер

У праграме: адкрый сервер («Мае светы»), яго меню, «Выдаліць сервер». Сервер адразу перастае хосціць і больш не можа ўвайсці. Потым ён сам паказвае новы код падключэння, для гэтага акаўнта ці іншага.

На машыне: sudo krak-server unpair здымае падключэнне; sudo krak-server uninstall выдаляе службу, а з --purge яшчэ і яе налады і даныя.

Змена або скід пароля, выхад на ўсіх прыладах і бан таксама адключаюць усе серверы акаўнта.

Калі нешта не працуе

Код састарэў

Код дзейнічае 10 хвілін. Сервер сам пакажа новы: зноў выканай krak-server status.

Няправільны час (clock skew)

Krak Server уваходзіць з часам машыны. Уключы сінхранізацыю часу: timedatectl set-ntp true на Linux, службу часу Windows на Windows.

Гульнявы сервер не знойдзены

Спачатку запусці гульнявы сервер і правер, што ён адказвае на машыне (для Bedrock: enable-lan-visibility=true). Потым націсні «Сканаваць зноў» у праграме.

Порт не дазволены

Гульнявы сервер працуе на порце па-за allow. Дадай порт у allow у файле налад на машыне і перазапусці Krak Server.

Гульцам адмаўляюць

Правер online-mode і allow-list у server.properties. Стан сервера ў праграме паказвае адмовы і іх прычыну.

Гульцы Bedrock бачаць «Please log into Xbox»

Гэта Geyser не пускае гульцоў, якія прыходзяць праз Krak. Устанаві validate-bedrock-login: false у config.yml Geyser і перазапусці сервер (гл. «Geyser» вышэй). Праграма не можа паказаць гэту адмову.

krak-server.exe не распазнаны

Krak Server дадае сваю тэчку ў PATH падчас усталявання: адкрый новы тэрмінал. Або запусці яго з поўным шляхам: "C:\Program Files\Krak Server\krak-server.exe" status (у PowerShell пастаў & спераду). Усталёўваў яго да 0.8.6? Выканай каманду ўсталявання яшчэ раз.

Ніхто не можа зайсці на другі сервер Bedrock

На адной машыне працуюць два серверы Bedrock, і бачнасць у LAN (UDP-порт 7551) мае іншы. Пачынаючы з Minecraft 1.26.52 сервер Bedrock пускае гульцоў Krak толькі праз бачнасць у LAN, таму праграма паказвае гэты сервер спыненым. Дзяліся адным серверам Bedrock на машыну: спыні іншы і перазапусці гэты або ўключы на гэтым RakNet.

Праграма піша, што іншы свет ужо хосціцца

Акаўнт хосціць адзін свет адначасова, з Krak Plus і без яго. Пакуль свет працуе на тваім тэлефоне, ПК ці іншым Krak Server, гэты сервер чакае і сам запускаецца за некалькі секунд пасля таго, як той свет спыніцца. Каб пераключыцца, спыні іншы свет (праграма прапануе «Спыніць яго») або выключы ў праграме хостынг свету гэтага сервера.

Усталяванне піша, што сервер ужо падключаны

Krak Server застаецца падключаным да акаўнта, які пацвердзіў яго код, і тады, калі каманда ўсталявання запускаецца зноў. Каб перадаць сервер іншаму акаўнту, яго ўладальнік выдаляе сервер у праграме («Мае светы» або аддаленае кіраванне, «Выдаліць сервер»): тады сервер сам паказвае новы код падключэння, яго відаць у krak-server status. Або на машыне: sudo krak-server unpair (у Windows: krak-server.exe unpair у тэрмінале адміністратара).

Абнаўленне спампавана, але не ўсталявана

У Windows абнаўленні ўсталёўвае запланаванае заданне, але Krak Server да 0.8.9.1 ніколі яго не прасіў, таму сервер на Windows заставаўся на версіі, з якой яго ўсталявалі. Усталюй абнаўленне адзін раз у PowerShell ад імя адміністратара: & "C:\Program Files\Krak Server\krak-server.exe" update (або выканай каманду ўсталявання яшчэ раз); далей абнаўленні будуць усталёўвацца самі. Калі абнаўленне чакае больш за 30 хвілін, krak-server status піша чаму і якая каманда яго ўсталюе. У Linux: sudo krak-server update.

Krak Server спынены (NOT RUNNING)

Запусці яго: у PowerShell ад імя адміністратара sc.exe start KrakServer (проста sc у PowerShell азначае іншую каманду), у Linux sudo systemctl start krak-server. Праз хвіліну krak-server status павінен паказаць online. Калі ён зноў спыняецца, прычыну відаць у журнале: %ProgramData%\Krak Server\logs у Windows, journalctl -u krak-server у Linux. Пачынаючы з 0.8.9.1, калі новая версія пасля абнаўлення не запускаецца, папярэдняя вяртаецца сама.

Minecraft з’яўляецца гандлёвай маркай Mojang Synergies AB. Krak Multiplayer не з’яўляецца афіцыйным прадуктам Minecraft, не ўхвалены Mojang або Microsoft і не звязаны з імі.