Krak Multiplayer
JA
ダウンロード
ヘルプ

Krak Server

Krak Serverは、Krak Multiplayerのサーバーエージェントです。専用サーバーやVPSで動く小さなプログラムで、そこで動いているMinecraftサーバーをKrak Multiplayer経由で24時間ホストします。操作はスマホやPCのアプリから行います。

6ステップでセットアップ

Minecraftサーバーが動いているマシン(VPS、専用サーバー、自宅のPC)と、スマホかPCのKrak Multiplayerが必要です。マシンで入力するコマンドは1つだけで、残りはすべてアプリで行います。

  1. そのマシンでいつもどおりMinecraftサーバーを起動します:Bedrock Dedicated Server、Javaサーバー、またはGeyserつきのJava。
  2. そのマシンで管理者としてターミナルを開きます。Windows:スタートボタンを右クリックして、ターミナル(管理者)かWindows PowerShell(管理者)を選びます。Linux:ターミナルを開くかSSHで接続します。
  3. 下にある自分のシステム用のインストールコマンドをコピーし(コピーボタン)、ターミナルに貼り付けてEnterを押します。Linuxでは、sudoに求められたらパスワードを入力します。
  4. 1分ほど待ちます。コマンドがKrak Serverをダウンロードし、確認し、インストールして、7Q4M-X2PAのような大きなペアリングコードとリンクを表示します。そこでほかに入力するものはありません。
  5. スマホかPCで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と一緒に起動して失敗時に再起動するWindowsサービスKrak Serverがインストールされ、krak-server.exeがPATHに追加され、ペアリングコードが表示されます。後で、新しい管理者のターミナルでkrak-server.exe statusを実行すると、もう一度表示されます。プログラムはC:\Program Files\Krak Serverにあります。

インストールせずに先に試すには:zipをダウンロードして展開し、コンソールでkrak-server.exeを実行します。閉じるまでペアリングしてホストします。

何ができるか

Krak Serverはパスワードではなく、ペアリングコードでログインします。同じマシンのBedrockとJavaのサーバーを見つけ、アプリで選んだものをKrakのワールドとして共有します。プレイヤーはほかのワールドと同じようにKrak Multiplayerから参加でき、サーバーはMinecraft自体のLANリストに表示されます。

ゲームの通信はKrakのリレーを通ります。プレイヤーにサーバーのIPアドレスが見えることはなく、サーバーにプレイヤーのアドレスが見えることもありません。Krak Serverはポートを開けず、ポート開放も不要です。接続するのはkrak-mp.ccへの外向きの通信だけです。

サーバーはアプリで操作します。+をタップして「リモートサーバーをホスト」を選ぶか、サーバーが一覧表示される自分のワールドを開きます。そこで、ホストするものを選び、開始と停止をし、プレイヤー、参加申請、キックとBAN、サーバーの状態を確認できます。その画面には「リモート操作」と表示されるので、自分のデバイスでのホストと間違えることはありません。

必要なもの

  1. x86_64またはARM64のLinux(常時動くサービスにはsystemd)、またはx64のWindows 10、11、Server 2019以降。
  2. 同じマシン上のBedrock Dedicated Server、Javaサーバー(Paper、Fabricなど)、またはGeyserつきのJavaサーバー。
  3. 確認済みのメールアドレスかGoogleログインのあるKrak Multiplayerアカウントと、サーバーのペアリングと操作のためのアプリ0.8.5以降(+ボタンは0.8.6から)。
  4. ディスク約15 MB、メモリ約40 MB。ゲームサーバーと比べて、Krak ServerのCPU使用量はごくわずかです。

アカウントとペアリング

  1. インストールコマンドの最後にペアリングコードが表示されます。後で確認するときや、コードが期限切れになったときは、マシンでsudo krak-server statusを実行してください(Windowsでは:管理者のターミナルでkrak-server.exe status)。
  2. Krak Multiplayerで+をタップし、「リモートサーバーをホスト」をタップしてコードを入力するか、スマホでリンクを開きます。アプリ0.8.5では:プロフィール、自分のサーバー、サーバーを追加。
  3. サーバーの名前、システム、ネットワークを確認してから承認します。コードは10分間有効で、その後サーバーに新しいコードが表示されます。

自分が管理しているサーバーに表示されたコードだけを承認してください。コードを聞いてくる人は、あなたの名前でホストしようとしています。

ホストするものを選ぶ

サーバーを開き(自分のワールドで、または+から「リモートサーバーをホスト」)、「このサーバーでホスト」をタップします。マシンで見つかったサーバーを選び、次に自分のローカルのワールドか新しいワールドを選びます。名前、説明、アイコン、アクセスなどのワールドの設定は、いつもどおりアプリで編集します。

1つのアカウントがホストできるのは、Krak Plusの有無にかかわらず一度に1つのワールドです(スマホやPCのワールド、アプリでホストするサーバー、Krak Serverのワールドのいずれか)。クロスプレイサーバー(GeyserつきのPaper)は、両方のエディションで1つのワールドです。サーバーは2台まで(Krak Plusなら7台まで)ペアリングでき、それぞれにワールドを置いておけます。今使いたいもののホストをオンにしてください。Krak Plusがあれば、同じサーバーでない限り、その間も外部サーバーを掲載したままにできます。

参加承認は使えますが、申請は2分で期限切れになります。寝ている間も動くサーバーなら、承認をオフにして、ワールドのアクセス設定とBANを使ってください。

Bedrock Dedicated Serverの設定

KrakのプレイヤーはLANのリスト経由で参加するので、サーバーはLANのプレイヤーを受け入れる必要があります。server.propertiesで次のように設定してください:

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

online-mode=falseにすると、サーバーはXboxのサインインを確認しません。サーバー自体のポートもインターネットに開いていると、直接接続したプレイヤーはどんな名前でも(オペレーターの名前でも)参加できてしまいます。Bedrockのポートはインターネットに対して閉じておくか、確認されない直接のプレイヤーを受け入れることにしてください。

LANに表示できるBedrockサーバーはマシン1台につき1つだけです(UDPポート7551を使います)。Minecraft 1.26.52以降はその方法でしかKrakのプレイヤーを入れないため、同じマシンの2つ目のBedrockサーバーは共有できません。Krak Serverはそれをホストせず、アプリが理由を表示します。もう一方のサーバーを止めるか、2つ目のサーバーでRakNetをオンにしてください。これらの設定を変えたらサーバーを再起動してください。

Javaサーバー

Javaサーバーには特別な設定は必要ありません。Krak Serverが同じマシンのサーバーのポートに接続します。online-modeのサーバーでは、プレイヤーはいつもどおりMinecraft:Java Editionが必要です。

Geyser:JavaサーバーでBedrockのプレイヤーを受け入れる

Paper、Spigot、またはプロキシ上のGeyserでは、BedrockのプレイヤーはGeyserのBedrockポートから入り、Krak ServerはそのポートをBedrockサーバーと同じように共有します。初期設定のGeyserは、Krak経由で来るBedrockのプレイヤーを全員追い返します。プレイヤーには「Please log into Xbox」と表示されます。LAN ゲームとして参加するため、Geyserが期待するXboxのサインイン確認がないからです。Krak Serverはこの拒否を確認できないため、アプリでお知らせすることもできません。Geyserのconfig.yml(PaperとSpigotではplugins/Geyser-Spigot/config.yml)で次のように設定してください:

validate-bedrock-login: false

その後、サーバーを再起動します。GeyserはBedrockのプレイヤーのXboxサインインを確認しなくなるので、Bedrockのポート(初期値19132)はインターネットに対して閉じておいてください。そうしないと、直接接続したプレイヤーがどんなBedrockの名前でも参加できてしまいます。Krakには開いたポートは必要ありません。

Javaのプレイヤーには影響がなく、Javaサーバーはonline-mode=trueのままでかまいません。Floodgateがあれば、BedrockのプレイヤーはJavaのアカウントなしで参加できます。Floodgateがないと、GeyserはすべてのBedrockのプレイヤーにJavaのアカウントでのサインインを求めます。

KrakはRakNetでGeyserに接続します。Minecraft 26.60でRakNetでの参加は終了する見込みなので、GeyserがMinecraft 26.60に対応するまで、26.60のBedrockのプレイヤーはKrak経由で入れないかもしれません。

Docker

ホストにインストールしたKrak ServerがLAN検出とポートを見られるよう、ゲームサーバーのコンテナはホストネットワーク(--network host)で動かしてください。

設定

Krak Serverは、Linuxでは/etc/krak-server/config.jsonを、Windowsでは%ProgramData%\Krak Server\config.jsonを読み込みます。どのキーも省略可能で、不明なキーは拒否されます。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では、スケジュールされたタスクKrak Server\Apply updateが15分以内にインストールします。このタスクは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を付けると設定とデータも削除されます。

パスワードの変更やリセット、すべての場所からのログアウト、BANでも、アカウントのすべてのサーバーがログアウトされます。

トラブルシューティング

コードの期限が切れた

コードは10分間有効です。サーバーが自動で新しいコードを表示するので、もう一度krak-server statusを実行してください。

時刻がずれている(clock skew)

Krak Serverはマシンの時刻を使ってログインします。時刻の同期をオンにしてください:Linuxではtimedatectl set-ntp true、WindowsではWindows Timeサービス。

ゲームサーバーが見つからない

先にゲームサーバーを起動し、マシン上で応答するか確認してください(Bedrockの場合:enable-lan-visibility=true)。その後、アプリで「再スキャン」をタップしてください。

ポートが許可されていない

ゲームサーバーがallowの範囲外のポートで動いています。マシンの設定ファイルでallowにそのポートを追加し、Krak Serverを再起動してください。

プレイヤーが拒否される

server.propertiesのonline-modeとallow-listを確認してください。アプリのサーバーの状態に、拒否とその理由が表示されます。

Bedrockのプレイヤーに「Please log into Xbox」と表示される

それはGeyserがKrak経由で来るプレイヤーを追い返しているためです。Geyserのconfig.ymlでvalidate-bedrock-login: falseを設定し、サーバーを再起動してください(上のGeyserの項目を参照)。アプリはこの拒否を表示できません。

krak-server.exeが認識されない

Krak Serverはインストール時に自分のフォルダをPATHに追加します。新しいターミナルを開いてください。またはフルパスで実行してください:"C:\Program Files\Krak Server\krak-server.exe" status(PowerShellでは先頭に&を付けます)。0.8.6より前にインストールしましたか?インストールコマンドをもう一度実行してください。

2つ目のBedrockサーバーに誰も参加できない

1台のマシンで2つのBedrockサーバーが動いていて、もう一方がLANの表示(UDPポート7551)を使っています。Minecraft 1.26.52以降、BedrockサーバーはLANの表示経由でしかKrakのプレイヤーを受け入れないため、アプリはこのサーバーを停止中と表示します。共有するBedrockサーバーはマシン1台につき1つにしてください:もう一方を止めてこのサーバーを再起動するか、このサーバーでRakNetをオンにしてください。

アプリに、別のワールドがすでにホストされていると表示される

1つのアカウントがホストできるのは、Krak Plusの有無にかかわらず一度に1つのワールドです。スマホ、PC、別のKrak Serverでワールドが動いている間、このサーバーは待機し、そのワールドが止まると数秒で自動的に始まります。切り替えるには、もう一方のワールドを止めるか(アプリが「停止する」を表示します)、アプリでこのサーバーのワールドのホストをオフにしてください。

インストールで、サーバーはすでにペアリングされていると表示される

Krak Serverは、インストールコマンドをもう一度実行しても、コードを承認したアカウントとペアリングされたままです。サーバーを別のアカウントに渡すには、オーナーがアプリで削除します(自分のワールドかリモート操作で「サーバーを削除」)。するとサーバーが自動で新しいペアリングコードを表示するので、krak-server statusで確認してください。またはマシンで:sudo krak-server unpair(Windowsでは:管理者のターミナルでkrak-server.exe unpair)。

アップデートがダウンロード済みなのにインストールされない

Windowsではスケジュールされたタスクがアップデートをインストールしますが、0.8.9.1より前のKrak Serverはタスクに一度も依頼していなかったため、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(PowerShellでは、ただのscは別のコマンドです)、Linuxではsudo systemctl start krak-server。1分後にkrak-server statusがonlineと表示するはずです。また停止するときは、ログに理由があります:Windowsは%ProgramData%\Krak Server\logs、Linuxはjournalctl -u krak-server。0.8.9.1からは、アップデートの新しいバージョンが起動しないとき、前のバージョンに自動で戻ります。

MinecraftはMojang Synergies ABの商標です。Krak MultiplayerはMinecraftの公式製品ではなく、MojangまたはMicrosoftの承認を受けておらず、関係もありません。