2024/05/05追記:最新verのサーバーはjre17での動作がしなくなっているみたいです。
おそらくx64であればdebファイルから新しいjreを簡単に導入できますが、armプロセッサだとjre18以降の導入がとても難しくなっています。したがって、ここでは1.20.3以下のverを導入するとします。以下本文です
Chromebookでjava版サーバーを建てみたので、備忘録的なやつです。
統合版はこちら
準備物と環境
()内は私の環境
Chromebook(Ideapad Duet 560 128GB)
固定回線(10G光回線)
UPnPが有効なルーターまたはポート開放できる知識(WXR-6000AX12P)
*友達同士で繋ぐならポート開放せずにtailscaleを使うのもありです(そもそもChromebookで公開サーバーなんて建てないでしょうが…)
AndroidかWindowsデバイス
接続確認用のPC/スマホ
ダウンロード一覧
あらかじめダウンロードしておきましょう。
- サーバー(公式/最新verのみ)
- DownLoad minecraft_server_x.xx.x.jar and run it with the following の部分
- 過去verのサーバー(mcversions.net)
- PortMapper (Port開放で必要)
Linux開発環境を用意する
設定アプリを開いて一番下までスクロールしていき、Linux開発環境をオンにしましょう。
後は指示に従って進めばOKです。
しばらくかかるので待ちましょう。
終わったら自動でターミナルが開くはずです。
自動で開かれなかったり、2回目以降起動するときは、以下の手順で開きます
検索メニューで”ターミナル”と入力して、でてきたアプリを開きます。
この管理画面のPenguinの文字をクリックすると、いかにもなコンソール画面が開きます。
自動スクリプトで簡単セットアップ
ダウンロード
サーバーファイルは公式サイトかmcversions.netからダウンロードしてこれます
公式サイトの方が安心ですが、旧verのダウンロードができないので、古いverが必要な人はmcversionsからダウンロードしてください。
前準備
初めにダウンロードしたjarファイルをLinuxファイル直下に貼り付ける必要があります。
このような状態であればOK
以下を全文コピーして、Ctrl+Shift+Vで貼り付けて、ターミナルで実行します。
read -p "MINECRAFT エンドユーザー ライセンス契約 (EULA)https://aka.ms/MinecraftEULA に同意しますか?(y/N): " yn
case "$yn" in [yY]*) ;; *) echo "処理を中断します。" ; exit ;; esac
sudo apt update
sudo apt install default-jre -y
mkdir java_server
mv server.jar java_server
touch java_launch
echo "cd java_server">java_launch
echo "java -Xmx1024M -Xms1024M -jar ~/java_server/server.jar nogui">>java_launch
cd java_server
touch eula.txt
echo "eula=true">eula.txt
cd
sudo chmod 777 java_server
sudo chmod 777 java_launch
./java_launch
まず初めにMinecraftのEULAに同意するか質問されます。同意できるならyを入力して進みましょう。
後は正しくjarファイルを配置できているなら起動まで自動で行ってくれます。
無事起動しましたね。
他のデバイスからアクセスできるように設定
実際にサーバーにアクセスできるように設定をしていきます。
ポート開放する場合
Chromebookのポート転送
Chromebook宛の通信をLinux環境に転送するように設定します。
設定アプリから詳細設定→デベロッパー→Linux開発環境のポート転送を選択し、Bedrockサーバー用のポートを追加します。
ポート番号は25565プロトコルはTCPを選択してください。
ラベルはわかりやすい名前を適当に設定すればOK
ローカルIPの確認&固定
設定アプリのネットワークから、お使いのネットワークを選択しましょう。
ネットワークから”IPアドレスを自動的に設定”を無効にし、IPアドレス(多くの場合192.168.~.~)をメモしておきましょう。
こんな感じで設定すればOK
ポート開放
ルーターからのポート開放の手順はメーカーによって違いが大きいので説明できません。「メーカー名 ポート開放 やり方」で調べてください。
どのメーカーも共通のUPnPを利用したポート開放の手順を解説します。
PortMapperをスマホにインストールします。(Chromebookだと上手くいきませんでした)
WindowsならUPnPCJとかでいいと思います。
右下のプラスをタップして、Internal DeviceにChromebookのipアドレスを設定
External Deviceはそのまま触らないでください。
Portは上下とも25565を選択して、ProtocolはTCPを選び、保存しましょう。
このような形になればOK
私は統合版用のものも表示されています。
グローバルIPの確認
CMANのサイトから自身のグローバルIPを確認します
後で使うのでメモしておきましょう。
ポート開放をしない場合(Tailscale)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4
ログイン用のURLが表示されるのでクリックしてブラウザからログインしましょう。
最後のtailscale ip -4でアクセス用のipアドレスが表示されるので、控えておきましょう。
アクセスする側もTailscaleをインストール&起動して、
LinuxサーバーのipをMinecraft側で打ち込めばアクセスできるはずです。
実際に外部からアクセスする
実際にlan外からアクセスしてみましょう。
スマホのwifiを切って、モバイルデータからアクセスしてみます。
動作確認に付き合ってもらえる友達がいるならそちらに頼みましょう。
先ほどメモしたIPを使ってアクセスしてみます。
右上から4Gネットワークでアクセスしてることが確認できるかと思います。
最後に
Chromebookでサーバーを建てるような人は稀だと思いますが、少しでもお役に立てたら幸いです。
色々なところで制約を受けがちなArmプロセッサ搭載Chromebookで動作したので、恐らくほとんどの環境でうまくいくと思います。
コメント