Krak Server
Krak Server це серверний агент Krak Multiplayer: невелика програма для виділеного сервера або VPS, яка цілодобово хостить сервери Minecraft на цій машині через Krak Multiplayer. Ти керуєш ним із застосунку на телефоні або ПК.
Налаштування за 6 кроків
Потрібна машина, на якій працює твій сервер Minecraft (VPS, виділений сервер або домашній ПК), і Krak Multiplayer на телефоні чи ПК. На машині ти вводиш одну команду, усе інше робиться в застосунку.
- Запусти свій сервер Minecraft на цій машині, як завжди: Bedrock Dedicated Server, сервер Java або Java з Geyser.
- Відкрий на цій машині термінал від імені адміністратора. Windows: клацни правою кнопкою на «Пуск» і вибери «Термінал (адміністратор)» або «Windows PowerShell (адміністратор)». Linux: відкрий термінал або під'єднайся через SSH.
- Скопіюй нижче команду встановлення для своєї системи (кнопка «Копіювати»), встав її в термінал і натисни Enter. На Linux введи свій пароль, якщо sudo його попросить.
- Зачекай до хвилини. Команда завантажить Krak Server, перевірить його, встановить і покаже великий код під'єднання на зразок 7Q4M-X2PA і посилання. Більше нічого вводити там не треба.
- На телефоні чи ПК відкрий Krak Multiplayer, натисни кнопку +, потім «Хостити віддалений сервер», і введи код (або відкрий посилання). Перевір назву сервера й підтверди.
- Вибери, яким сервером 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.
Ти керуєш сервером у застосунку: натисни +, потім «Хостити віддалений сервер», або відкрий «Мої світи», де є твої сервери. Там ти вибираєш, що хостити, запускаєш і зупиняєш, бачиш гравців, запити на вхід, вигнання й бани та його стан. На цьому екрані написано «Віддалене керування», тож його не сплутаєш із хостингом на власному пристрої.
Вимоги
- Linux на x86_64 або ARM64 (systemd для служби, що працює постійно) або Windows 10, 11 чи Server 2019 і новіші на x64.
- Bedrock Dedicated Server, сервер Java (Paper, Fabric та інші) або сервер Java з Geyser на тій самій машині.
- Акаунт Krak Multiplayer з підтвердженою поштою або входом через Google і застосунок 0.8.5 або новіший, щоб під'єднати сервер і керувати ним (кнопка + з 0.8.6).
- Близько 15 МБ на диску й 40 МБ пам'яті. Поруч з ігровим сервером Krak Server майже не навантажує процесор.
Під'єднай його до акаунта
- Команда встановлення показує код під'єднання в кінці. Пізніше або коли код застарів, виконай на машині sudo krak-server status (у Windows: krak-server.exe status у терміналі адміністратора).
- У Krak Multiplayer натисни +, потім «Хостити віддалений сервер», і введи код, або відкрий посилання на телефоні. У застосунку 0.8.5: «Профіль», «Мої сервери», «Додати сервер».
- Перевір назву сервера, систему й мережу, потім підтверди. Код діє 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 і перезапусти службу після зміни.
Оновлення
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.