Krak Multiplayer
VI
Tải xuống
Trợ giúp

Krak Server

Krak Server là tác nhân máy chủ của Krak Multiplayer: một chương trình nhỏ cho máy chủ riêng hoặc VPS, mở các máy chủ Minecraft chạy ở đó qua Krak Multiplayer, suốt ngày đêm. Bạn điều khiển nó từ ứng dụng trên điện thoại hoặc PC.

Thiết lập trong 6 bước

Bạn cần máy đang chạy máy chủ Minecraft (một VPS, máy chủ riêng hoặc PC ở nhà) và Krak Multiplayer trên điện thoại hoặc PC. Bạn gõ một lệnh trên máy đó; mọi thứ khác diễn ra trong ứng dụng.

  1. Khởi động máy chủ Minecraft trên máy đó như thường lệ: một Bedrock Dedicated Server, một máy chủ Java, hoặc Java với Geyser.
  2. Mở terminal trên máy đó với quyền quản trị viên. Windows: nhấp chuột phải vào nút Start và chọn Terminal (Admin) hoặc Windows PowerShell (Admin). Linux: mở terminal hoặc kết nối qua SSH.
  3. Sao chép lệnh cài đặt cho hệ thống của bạn bên dưới (nút Sao chép), dán vào terminal và nhấn Enter. Trên Linux, nhập mật khẩu nếu sudo hỏi.
  4. Chờ tối đa một phút. Lệnh sẽ tải Krak Server, kiểm tra, cài đặt và hiện một mã ghép đôi lớn như 7Q4M-X2PA cùng một liên kết. Bạn không cần gõ gì thêm ở đó.
  5. Trên điện thoại hoặc PC, mở Krak Multiplayer, chạm nút +, rồi Mở máy chủ từ xa, và nhập mã (hoặc mở liên kết). Kiểm tra tên máy chủ và duyệt.
  6. Chọn máy chủ Minecraft nào trên máy để chia sẻ và dưới dạng thế giới nào, rồi Lưu. Thế giới của bạn luôn mở cho bạn bè mỗi khi máy chạy.

Cài trên Linux

Dán đoạn này vào terminal và nhấn Enter (sudo có thể hỏi mật khẩu của bạn):

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

Script chọn bản dựng cho bộ xử lý của bạn, kiểm tra SHA-256, cài Krak Server thành dịch vụ hệ thống krak-server, khởi động nó và hiện mã ghép đôi. Về sau, sudo krak-server status sẽ hiện lại mã. Làm thủ công: tải tệp nén cho bộ xử lý của bạn từ trang tải xuống, so sánh SHA-256, giải nén bằng tar xzf và chạy sudo ./krak-server install. Chạy lại trình cài đặt sẽ cập nhật Krak Server.

Cài trên Windows

Mở PowerShell với quyền quản trị viên (nhấp chuột phải vào nút Start, Terminal (Admin)), dán đoạn này và nhấn Enter:

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

Lệnh này cài dịch vụ Windows Krak Server, dịch vụ khởi động cùng Windows và tự khởi động lại sau khi lỗi, thêm krak-server.exe vào PATH và hiện mã ghép đôi. Về sau, krak-server.exe status trong bất kỳ terminal quản trị viên mới nào sẽ hiện lại mã; chương trình nằm trong C:\Program Files\Krak Server.

Để thử trước mà không cài: tải tệp zip, giải nén và chạy krak-server.exe trong cửa sổ console. Nó sẽ ghép đôi và mở thế giới cho đến khi bạn đóng nó.

Nó làm gì

Krak Server đăng nhập bằng mã ghép đôi, không bao giờ bằng mật khẩu của bạn. Nó tìm các máy chủ Bedrock và Java trên cùng máy và chia sẻ những máy chủ bạn chọn trong ứng dụng thành thế giới Krak. Người chơi vào từ Krak Multiplayer như mọi thế giới khác: máy chủ hiện trong danh sách LAN của chính Minecraft.

Lưu lượng game đi qua máy chủ chuyển tiếp của Krak. Người chơi không bao giờ thấy địa chỉ IP của máy chủ và máy chủ không bao giờ thấy địa chỉ của họ. Krak Server không mở cổng và không cần chuyển tiếp cổng: nó chỉ kết nối ra ngoài tới krak-mp.cc.

Bạn điều khiển máy chủ trong ứng dụng: chạm +, rồi Mở máy chủ từ xa, hoặc mở Thế giới của tôi, nơi liệt kê các máy chủ của bạn. Ở đó bạn chọn thứ cần mở, bắt đầu và dừng nó, xem người chơi, yêu cầu tham gia, lượt đuổi, lệnh cấm và tình trạng của nó. Màn hình đó ghi Điều khiển từ xa, nên không bao giờ bị nhầm với việc mở thế giới trên thiết bị của chính bạn.

Yêu cầu

  1. Linux trên x86_64 hoặc ARM64 (systemd cho dịch vụ chạy liên tục), hoặc Windows 10, 11 hay Server 2019 trở lên trên x64.
  2. Một Bedrock Dedicated Server, một máy chủ Java (Paper, Fabric và các loại khác) hoặc một máy chủ Java có Geyser trên cùng máy.
  3. Một tài khoản Krak Multiplayer có email đã xác nhận hoặc đăng nhập bằng Google, và ứng dụng 0.8.5 trở lên để ghép đôi và điều khiển máy chủ (nút + từ 0.8.6).
  4. Khoảng 15 MB ổ đĩa và 40 MB bộ nhớ. So với máy chủ game, Krak Server dùng rất ít CPU.

Ghép đôi với tài khoản của bạn

  1. Lệnh cài đặt hiện mã ghép đôi ở cuối. Về sau, hoặc khi mã đã hết hạn, hãy chạy sudo krak-server status trên máy (trên Windows: krak-server.exe status trong terminal quản trị viên).
  2. Trong Krak Multiplayer chạm +, rồi Mở máy chủ từ xa, và nhập mã, hoặc mở liên kết trên điện thoại. Trong ứng dụng 0.8.5: Hồ sơ, Máy chủ của tôi, Thêm máy chủ.
  3. Kiểm tra tên, hệ thống và mạng của máy chủ, rồi duyệt. Mã có hiệu lực trong 10 phút; sau đó máy chủ hiện mã mới.

Chỉ duyệt mã hiện trên máy chủ do bạn quản lý. Ai xin mã của bạn là muốn mở thế giới dưới tên bạn.

Chọn thứ cần mở

Mở máy chủ (trong Thế giới của tôi, hoặc + rồi Mở máy chủ từ xa) và chạm Mở thế giới trên máy chủ này. Chọn một máy chủ tìm thấy trên máy, rồi một thế giới Cục bộ của bạn hoặc một thế giới mới. Tên, mô tả, biểu tượng, quyền truy cập và các cài đặt thế giới khác được sửa trong ứng dụng như thường lệ.

Mỗi tài khoản mỗi lần chỉ mở một thế giới, dù có hay không có Krak Plus: một thế giới trên điện thoại hoặc PC, một máy chủ mở qua ứng dụng hoặc một thế giới trên Krak Server. Một máy chủ chơi chéo (Paper với Geyser) là một thế giới có cả hai phiên bản. Bạn có thể ghép đôi tối đa 2 máy chủ, hoặc 7 với Krak Plus, và giữ một thế giới trên mỗi máy: bật mở thế giới cho cái bạn muốn lúc này. Với Krak Plus, Máy chủ ngoài của bạn vẫn được hiển thị trong lúc đó, trừ khi đó là cùng một máy chủ.

Duyệt người vào vẫn hoạt động, nhưng yêu cầu sẽ hết hạn sau 2 phút. Với máy chủ chạy cả khi bạn ngủ, hãy tắt duyệt và dùng cài đặt quyền truy cập của thế giới và lệnh cấm thay thế.

Cài đặt Bedrock Dedicated Server

Người chơi Krak vào qua danh sách LAN, nên máy chủ phải chấp nhận người chơi LAN. Trong server.properties đặt:

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

Với online-mode=false, máy chủ không kiểm tra đăng nhập Xbox. Nếu cổng của chính máy chủ cũng mở ra internet, người chơi kết nối thẳng vào có thể vào bằng bất kỳ tên nào, kể cả tên của người điều hành. Hãy đóng cổng Bedrock với internet, hoặc chấp nhận người chơi vào thẳng chưa được xác minh.

Mỗi máy chỉ một máy chủ Bedrock hiển thị được trong LAN: nó chiếm cổng UDP 7551. Minecraft 1.26.52 trở lên chỉ cho người chơi Krak vào theo cách đó, nên máy chủ Bedrock thứ hai trên cùng máy không chia sẻ được: Krak Server không mở nó và ứng dụng sẽ nói lý do. Hãy dừng máy chủ kia, hoặc bật RakNet trên máy chủ thứ hai. Khởi động lại máy chủ sau khi đổi các cài đặt này.

Máy chủ Java

Máy chủ Java không cần gì đặc biệt: Krak Server kết nối tới cổng của máy chủ trên cùng máy. Trên máy chủ online-mode, người chơi cần Minecraft: phiên bản Java như bình thường.

Geyser: người chơi Bedrock trên máy chủ Java

Với Geyser trên Paper, Spigot hoặc một proxy, người chơi Bedrock vào qua cổng Bedrock của Geyser, và Krak Server chia sẻ cổng đó như một máy chủ Bedrock. Geyser mặc định từ chối mọi người chơi Bedrock đến qua Krak: họ thấy “Please log into Xbox”, vì họ vào như một trò chơi LAN, không qua bước kiểm tra đăng nhập Xbox mà Geyser cần. Krak Server không thấy lần từ chối này, nên ứng dụng không báo được cho bạn. Hãy đặt mục này trong config.yml của Geyser (plugins/Geyser-Spigot/config.yml trên Paper và Spigot):

validate-bedrock-login: false

Sau đó khởi động lại máy chủ. Geyser không còn kiểm tra đăng nhập Xbox của người chơi Bedrock: hãy đóng cổng Bedrock của nó (mặc định 19132) với internet, nếu không người chơi kết nối thẳng có thể vào bằng bất kỳ tên Bedrock nào. Krak không cần cổng nào mở.

Người chơi Java không bị ảnh hưởng, và máy chủ Java có thể giữ online-mode=true. Với Floodgate, người chơi Bedrock vào mà không cần tài khoản Java; không có Floodgate, Geyser yêu cầu mọi người chơi Bedrock đăng nhập bằng tài khoản Java.

Krak kết nối tới Geyser qua RakNet. Minecraft 26.60 dự kiến sẽ bỏ cách vào bằng RakNet, nên người chơi Bedrock trên 26.60 có thể không vào được qua Krak cho đến khi Geyser hỗ trợ họ.

Docker

Chạy container máy chủ game với mạng của máy chủ (--network host), để Krak Server, được cài trên máy chủ, thấy được việc tìm LAN và các cổng của nó.

Cài đặt

Krak Server đọc /etc/krak-server/config.json trên Linux và %ProgramData%\Krak Server\config.json trên Windows. Mọi khóa đều không bắt buộc và khóa không xác định sẽ bị từ chối. Kiểm tra tệp bằng krak-server config check và khởi động lại dịch vụ sau khi đổi.

name
Tên hiển thị trong ứng dụng. Mặc định: tên máy.
allow
Các cổng ứng dụng được chia sẻ: bedrockPorts và javaPorts. Mặc định: các dải thông thường, Bedrock 19132 đến 19140 và Java 25565 đến 25570. Máy chủ ở cổng khác chỉ được chia sẻ sau khi bạn thêm cổng đó ở đây, ngay trên máy.
updates
mode: auto (mặc định), notify hoặc off; window: giờ địa phương mà bản cập nhật tự động được phép khởi động lại Krak Server (mặc định 04:00-06:00).
relay
preferred: máy chủ chuyển tiếp luôn dùng; null sẽ chọn cái tốt nhất.
publicAddress
Địa chỉ ứng dụng gợi ý khi bạn bật địa chỉ công khai cho thế giới.
logLevel, logFormat
debug, info, warn hoặc error; text hoặc json.
limits
memoryMB: giới hạn bộ nhớ của Krak Server (mặc định 128).

Cập nhật

Krak Server kiểm tra bản cập nhật có chữ ký mỗi 6 giờ và tự cài: trong khung giờ cập nhật, hoặc ngay khi không có ai chơi hay khi bản cập nhật là bắt buộc. Thế giới đang được host sẽ khởi động lại và người chơi vào lại từ danh sách LAN. Trong ứng dụng, Cập nhật ngay sẽ cài bản cập nhật ngay lập tức.

Trên Linux, dịch vụ cài bản cập nhật khi khởi động lại, chỉ mất vài giây. Trên Windows, tác vụ theo lịch Krak Server\Apply update cài nó trong vòng 15 phút: tác vụ chạy dưới quyền SYSTEM, dừng dịch vụ, thay chương trình, khởi động lại và kiểm tra phiên bản mới có chạy không. Nếu phiên bản mới không khởi động được, phiên bản trước sẽ quay lại. krak-server status cho thấy bản cập nhật đang chờ và lần cuối tác vụ chạy.

Để cài bản cập nhật ngay trên Linux:

sudo krak-server update

Trên Windows, trong PowerShell với quyền quản trị viên (dùng đường dẫn đầy đủ thì chạy được ở mọi cửa sổ):

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

Chạy lại lệnh cài đặt cũng cập nhật Krak Server. Lệnh này giữ nguyên ghép đôi và cài đặt, đồng thời tạo lại tác vụ cập nhật của Windows, ví dụ sau khi cài với --no-auto-update.

Trạng thái và nhật ký

krak-server status cho biết máy chủ được ghép đôi với tài khoản của ai, mã ghép đôi khi đang chờ, kết nối, từng thế giới đang mở và người chơi của nó. Trên Linux, nhật ký nằm trong journal:

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

Trên Windows, nhật ký nằm trong %ProgramData%\Krak Server\logs. Nhật ký không bao giờ chứa token, khóa hay địa chỉ của người chơi.

Gỡ máy chủ

Trong ứng dụng: mở máy chủ (Thế giới của tôi), mở menu của nó, Gỡ máy chủ. Máy chủ dừng mở thế giới ngay và không đăng nhập lại được. Sau đó nó tự hiện một mã ghép đôi mới, cho tài khoản này hoặc tài khoản khác.

Trên máy: sudo krak-server unpair gỡ ghép đôi; sudo krak-server uninstall gỡ dịch vụ, và với --purge gỡ cả cài đặt và dữ liệu.

Đổi hoặc đặt lại mật khẩu, đăng xuất khỏi mọi nơi và bị khóa tài khoản cũng đăng xuất mọi máy chủ của tài khoản.

Khắc phục sự cố

Mã đã hết hạn

Mã có hiệu lực trong 10 phút. Máy chủ tự hiện mã mới: hãy chạy lại krak-server status.

Đồng hồ bị lệch (clock skew)

Krak Server đăng nhập dựa trên giờ của máy. Hãy bật đồng bộ thời gian: timedatectl set-ntp true trên Linux, dịch vụ Windows Time trên Windows.

Không tìm thấy máy chủ game

Hãy khởi động máy chủ game trước và kiểm tra nó trả lời trên máy (với Bedrock: enable-lan-visibility=true). Sau đó chạm Quét lại trong ứng dụng.

Cổng không được phép

Máy chủ game chạy ở cổng nằm ngoài allow. Hãy thêm cổng đó vào allow trong tệp cấu hình trên máy và khởi động lại Krak Server.

Người chơi bị từ chối

Kiểm tra online-mode và allow-list trong server.properties. Tình trạng máy chủ trong ứng dụng hiện các lần từ chối và lý do.

Người chơi Bedrock thấy “Please log into Xbox”

Đó là Geyser đang từ chối người chơi đến qua Krak. Hãy đặt validate-bedrock-login: false trong config.yml của Geyser và khởi động lại máy chủ (xem phần Geyser ở trên). Ứng dụng không hiện được lần từ chối này.

krak-server.exe không được nhận dạng

Krak Server thêm thư mục của nó vào PATH khi được cài: hãy mở terminal mới. Hoặc chạy bằng đường dẫn đầy đủ: "C:\Program Files\Krak Server\krak-server.exe" status (trong PowerShell thêm & ở phía trước). Đã cài trước 0.8.6? Hãy chạy lại lệnh cài đặt.

Không ai vào được máy chủ Bedrock thứ hai

Hai máy chủ Bedrock chạy trên một máy và máy chủ kia đang có chế độ hiển thị LAN (cổng UDP 7551). Từ Minecraft 1.26.52, máy chủ Bedrock chỉ nhận người chơi Krak qua chế độ hiển thị LAN, nên ứng dụng hiện máy chủ này là đã dừng. Hãy chia sẻ một máy chủ Bedrock mỗi máy: dừng máy chủ kia và khởi động lại máy chủ này, hoặc bật RakNet trên máy chủ này.

Ứng dụng báo một thế giới khác đang được mở

Mỗi tài khoản mỗi lần chỉ mở một thế giới, dù có hay không có Krak Plus. Khi một thế giới đang chạy trên điện thoại, PC hoặc một Krak Server khác, máy chủ này sẽ chờ, và tự bắt đầu trong vài giây sau khi thế giới đó dừng. Để chuyển, hãy dừng thế giới kia (ứng dụng có nút Dừng nó) hoặc tắt mở thế giới cho thế giới của máy chủ này trong ứng dụng.

Trình cài đặt báo máy chủ đã được ghép đôi

Krak Server vẫn ghép đôi với tài khoản đã duyệt mã của nó, kể cả khi chạy lại lệnh cài đặt. Để giao máy chủ cho tài khoản khác, chủ của nó gỡ máy chủ trong ứng dụng (Thế giới của tôi hoặc màn hình điều khiển từ xa, Gỡ máy chủ): sau đó máy chủ tự hiện mã ghép đôi mới, xem bằng krak-server status. Hoặc trên máy: sudo krak-server unpair (trên Windows: krak-server.exe unpair trong terminal quản trị viên).

Bản cập nhật đã tải về nhưng chưa được cài

Trên Windows, một tác vụ theo lịch cài các bản cập nhật, nhưng Krak Server trước 0.8.9.1 chưa bao giờ yêu cầu nó, nên máy chủ Windows cứ ở phiên bản lúc cài. Hãy cài bản cập nhật một lần trong PowerShell với quyền quản trị viên: & "C:\Program Files\Krak Server\krak-server.exe" update (hoặc chạy lại lệnh cài đặt); các bản cập nhật sau sẽ tự cài. Nếu một bản cập nhật chờ quá 30 phút, krak-server status cho biết lý do và lệnh nào cài nó. Trên Linux: sudo krak-server update.

Krak Server đã dừng (NOT RUNNING)

Hãy khởi động nó: trong PowerShell với quyền quản trị viên, sc.exe start KrakServer (trong PowerShell, chỉ gõ sc là một lệnh khác), trên Linux sudo systemctl start krak-server. Một phút sau, krak-server status sẽ hiện online. Nếu nó lại dừng, nhật ký cho biết lý do: %ProgramData%\Krak Server\logs trên Windows, journalctl -u krak-server trên Linux. Từ 0.8.9.1, nếu phiên bản mới của một bản cập nhật không khởi động được, phiên bản trước sẽ tự quay lại.

Minecraft là thương hiệu của Mojang Synergies AB. Krak Multiplayer không phải là sản phẩm chính thức của Minecraft và không được Mojang hay Microsoft phê duyệt hoặc liên kết.