LoginSignup
1
0

Android スマホだけで Minecraft Skript の実行環境を構築する

Last updated at Posted at 2023-09-01

この記事のねらい

Minecraft 楽しいですよね。
そして独自要素を追加したらもっと面白い…。
Skriptという専用のプログラミング言語を用いることで簡単に自作プラグインを作ってサーバーに導入することができます。
「でも PC がないからサーバーは無理かな…」という方もいらっしゃるでしょう。
大丈夫です!スマホ上でもサーバーを動かして統合版でログインする方法はあります。
それでは早速やっていきましょう!

前提知識

できるだけ前提知識なしで行えるように書いたつもりです。
ただし、ターミナル上での文字ベースの操作が多いため、慣れていない人にとっては難しいかもしれません。
Linuxの基本的なコマンドを解説してみた」の記事が参考になると思います。

必要なもの

事前に用意するものは次の2つです。

  • Android スマホ ― メモリは 4 GB 以上推奨。 これよりメモリが小さくても動くことはありますが、クラッシュするリスクが高まります。また、多くのファイルをダウンロードするのでストレージに余裕 (1 GB 程度) があると良いでしょう。root 化は不要です。
  • テキストエディタアプリ ― Skript ファイルなどを編集・保存するために使います。下のいずれかのものです。
    • QuickEdit
    • Jota+
    • その他、テキストファイルを編集して保存できるもの
  • Minecraft 統合版
  • 時間 ― 多くの手順を行う必要があるので1時間ほどかかると思います。

これから以下のソフトウェアおよびプラグインを準備します。

  • AnLinux, Termux ― Android 上の Linux エミュレータ
  • nano ― Linux のターミナル上でファイルを編集するためのテキストエディタ
  • PaperMC ― 軽量でプラグインを導入できる Minecraft Java 版のサーバーソフトウェア
  • Geyser, Floodgate ― 統合版プレイヤーを Java 版のサーバーに参加させるプラグイン
  • tmux ― 1つのターミナルで複数のターミナルを開くことができます。
  • playit.gg ― ポート開放をせずにサーバーにアクセスできるようにします。

検証環境

  • Sumsung Galaxy A52 5G
  • Windows 11 上の Minecraft 統合版

手順

AnLinux のインストール

Android スマホで Play ストアから AnLinux をインストールし、開きます。

同意事項が表示されるので、「I Understand」にチェックを入れ、「CLOSE」を押します。
AnLinuxの同意事項の確認画面

左のハンバーガーメニューの「Dashboard」を選択し、画面に表示される Step 1 ~ 3 に従います。

  1. 「CHOOSE」を押し、「Ubuntu」にチェックを入れ、「OK」とします。
  2. 後で使うためのコマンドを「COPY」ボタンを押してコピーします。
  3. 「LAUNCH」を押します。そうするとこのポップアップが出てきます。

「Yes」を押すと、ブラウザが開き、 F-Droid のウェブサイト上で Termux のダウンロードページが表示されます。

Termux のインストール

ここではブラウザから APK ファイルをダウンロードする形となるので自己責任でのインストールとなります。

先ほど開いたダウンロードページを下にスクロールし、最新版 (2023年8月31日現在では Version 0.118.0) のダウンロードを、「Download APK」をタップして行います (「DOWNLOAD F-DROID」ではないので注意)。

APK ファイルなので、「有害なファイルな可能性があります」と表示されることがありますが、ダウンロードを続行します。
ダウンロードしたファイルを開こうとすると、セキュリティ上の理由によりインストールを止められることがあります。設定に移動し、使用しているブラウザが不明なアプリをインストールする権限をオンにします。
権限がオンになったら、Termux のインストールを実行します。

インストールが終わったら、安全のため、先ほどブラウザに与えた権限は無効にすると良いでしょう。

Ubuntu のセットアップ

先ほどインストールした Termux を開きます。
このようなターミナル画面が出てきます。
初回起動時のTermux

ここからはこのターミナル画面上で操作を行います。
画面を長押しして先ほどコピーしたテキストをペースト (Paste) し、改行します。
このような確認が出てきますが、そのままエンターキーを打ちます。
Screenshot_20230830_222821_Termux.jpg

しばらくログが流れ、ターミナルがこのような状態となります。
左下に ~ $ という文字列 (コマンドプロンプトと呼びます) が表示されると、入力を受け付けるようになった合図です。
コマンドをペーストした後のTermux

そこで、以下のコマンドを入力します。

pkg update && pkg install nano

上のテキストを打ち込むか、コピー&ペーストした後、エンターキーを押下します。
途中で数回、先ほどのような確認が出てきますが、いずれもそのままエンターキーを打ちます。
これでターミナル上で nano というテキストエディタを使うことができるようになりました。

nano のインストール後、

nano start-ubuntu.sh

と入力すると、このような画面になるはずです。
「↑」「←」「↓」「→」の矢印キーでカーソルを移動できます。
赤枠で囲った行に移動しましょう。
nano で start-ubuntu.sh を開いた状態

下のように書いてある行です。

#command+=" -b /data/data/com.termux/files/home:/root"

先頭の # を削除します。
つまり、こうなります。

command+=" -b /data/data/com.termux/files/home:/root"

ターミナル画面の左下に ^X Exit と書いてありますね。
^ は CTRL キーを示しています。
CTRL + X で nano を終了できるという意味です。

Termux の画面にはこのように「CTRL」とありますね。
Termux の CTRL キー

「CTRL」を押してから、「x」と打って nano を終了しましょう。
Save modified buffer? (変更を保存しますか) と聞かれるので、「y」と打ち、エンターキーを打ちます。

変更を保存できたら

./start-ubuntu.sh

を入力します。

そうすると、コマンドプロンプトが root@localhost:~# に変わり、Ubuntu が起動したことがわかります。

スマホの再起動や exit コマンドによって Ubuntu が終了した (コマンドプロンプトが ~ $ に戻った) 場合、

./start-ubuntu.sh

を再度入力することで Ubuntu を起動することができます。

Java のインストール

サーバーを動かすには Java のインストールが必要です。
以下のコマンドを順に実行しましょう。

1つのコマンドを入力した後、次にコマンドを入力するにはコマンドプロンプト (root@localhost:~#) が表示されてからにする必要があります。
辛抱強く待ちましょう。

まず、

apt update

次に、

apt upgrade

を入力します。
途中で Do you want to continue? と聞かれますが、そのままエンターキーを打って大丈夫です。

そして、

apt install openjdk-17-jdk

を入力します。
同じような質問をされるので、同じようにエンターキーを打ちます。

終わったら、

java -version

と入力して、Java がインストールできていることを確認します。

私の環境でこのコマンドを実行すると、以下のように表示されました。

openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu122.04, mixed mode, sharing)

PaperMC の用意

サーバーのファイルを入れるために mc という名前のディレクトリ(フォルダ)を作ります。
次のコマンドを入力します。

mkdir mc
cd mc

コマンドプロンプトが root@localhost:~/mc# に変わり、 mc ディレクトリを開いた状態になりました。

次に、ブラウザで Paper のダウンロードページ を開いてください。

最新版のダウンロードリンクが青色のボタンで示されています。
このボタンを長押しして、リンクアドレスをコピーします。
Termux に戻り、wget と打った後、スペースキーを打ち、コピーしたアドレスをペーストしてエンターキーを打ちます。

例えば、2023年8月31日現在の最新版 (Paper 1.20.1 Build #169) をダウンロードするには次のようなコマンドになります。

wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/169/downloads/paper-1.20.1-169.jar

ダウンロードできたら、以下のコマンドを順に実行します。

echo \#\!/bin/bash > run.sh
echo java -jar `echo paper-*.jar` >> run.sh
chmod +x run.sh

これでサーバーを起動するためのファイルをダウンロードおよび作成できました。

ls

というコマンドを打って、mc ディレクトリの中にあるファイルを確認します。
ダウンロードした Paper の JAR ファイルと、 run.sh というファイルが見つかるはずです。

run.sh の中身を確認しましょう。

cat run.sh

と入力します。
下のようになっていたらOKです。

#!/bin/bash
java -jar paper-□.□.□-□.jar

□.□.□-□ は Paper のバージョン番号

サーバーの起動

いよいよ Paper サーバーを動かします。

./run.sh

と入力しましょう。
なにやらログが流れてきますがすぐに終了しますね。

ls

コマンドで確認すると色々なファイルが作られていることが分かります。
EULA (エンドユーザーライセンス契約) に同意して eula.txt というファイルを書き換える必要があるらしいです。

QuickEdit または Jota+ などのテキストエディタアプリで eula.txt を開きます。

  • QuickEdit の場合、右上のファイルアイコン>開く (SAF)>左上のハンバーガーメニュー「≡」>「Termux」>「mc」>「eula.txt」をタップしてください。
  • Jota+ の場合、右下のファイルアイコン>左上のハンバーガーメニュー「≡」>「Termux」>「mc」>「eula.txt」をタップしてください。

ファイルの開き方は環境により異なる場合があるので注意してください。

いちばん下の行に

eula=false

とあるので、

eula=true

に書き換えて上書き保存します。

  • QuickEdit の場合、右下のフロッピーアイコンをタップしてください。
  • Jota+ の場合、下の「Save」をタップしてください。

保存できたら、Termux に戻ります。
再度

./run.sh

を実行します。

このように「Done」と表示が出ていればサーバーの起動を完了できています。
> は、Minecraft のコマンドを受け付けるコマンドプロンプトです。
Minecraft サーバーのコマンドプロンプト

まだプラグインの導入作業が残っているので

stop

と入力してサーバーを停止します。

プラグインのダウンロード

ls

と打つとさらにファイルが増えていますね。
その中に plugins というディレクトリがあります。
これからこのディレクトリの中にプラグインを入れます。

cd plugins

と入力し、plugins ディレクトリを開きます。

Skript

Skript のダウンロードページ を下にスクロールし、「Assets」から「Skript-(バージョン名).jar」(2023年8月31日現在では「Skript-2.6.4.jar」) と書かれているリンクのアドレスをコピーします。

Termux に戻り、PaperMC をダウンロードしたときと同様に、wget と打った後、スペースキーを打ち、アドレスをペーストしてエンターキーを打ちます。

2023年8月31日現在、コマンドは次のようになります。

wget https://github.com/SkriptLang/Skript/releases/download/2.6.4/Skript-2.6.4.jar

Geyser, Flooadgate

統合版で Java 版のサーバーにログインする場合、Geyser と Floodgate が必要です。

Geyser の最新版をダウンロードするには、次のコマンドを入力します。

wget https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/build/libs/Geyser-Spigot.jar

Floodgate の最新版をダウンロードするには、次のコマンドを入力します。

wget https://ci.opencollab.dev//job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/build/libs/floodgate-spigot.jar

ダウンロードの確認

ls

と入力すると、bStats (Paper サーバー付属の機能) と、 Geyser, Skript, FloodGate があるのを確認できます。

プラグイン導入状態でサーバー起動

cd ~/mc

を入力して mc ディレクトリに戻ります。

./run.sh

でサーバーを起動してみます。

Skript, Geyser, Floodgate がメッセージを表示していたら、正しくプラグインを導入できていることを示しています。
「Done」が表示されてから Geyser が必要なファイルをダウンロードする場合があるので、ダウンロードが終わるまでしばらく待って

stop

を入力します。

Geyser, Floodgate の設定

テキストエディタを開きます。

mcserver.properties を開き、以下の行の truefalse に書き換えて保存します。

enforce-secure-profile=true

つまり、次のようにします。

enforce-secure-profile=false

さらに、mcpluginsGeyser-Spigotconfig.yml を開き、以下の onlinefloodgate に書き換えます。

  # Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
  # For plugin versions, it's recommended to keep the `address` field to "auto" so Floodgate support is automatically configured.
  # If Floodgate is installed and `address:` is set to "auto", then "auth-type: floodgate" will automatically be used.
  auth-type: online

つまり、次のようにします。

  # Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
  # For plugin versions, it's recommended to keep the `address` field to "auto" so Floodgate support is automatically configured.
  # If Floodgate is installed and `address:` is set to "auto", then "auth-type: floodgate" will automatically be used.
  auth-type: floodgate

tmux のインストール

apt install tmux

を実行して tmux をインストールします。
Do you want to continue? と聞かれますが、そのままエンターキーを打ちます。

インストールできたら

tmux

と入力して tmux を起動します。

下にこのような緑色のステータスバーが表示されるようになります。
tmux を起動した状態

playit.gg のセットアップ

ハードウェアのアーキテクチャを調べます。

uname -m

このコマンドを実行すると、使っているスマホのアーキテクチャが表示されます。

私の場合は

aarch64

でした。

ブラウザで playit.gg のログインページ を開き、いちばん下の「Create an Account」からアカウントを作成します。

メールアドレスと新規作成したパスワードを入力し、「Create」をタップすると、メールが届きます。
「Verify Email」リンクを開き、メールアドレスを認証します。
リンク先に「Downloads found here.」とあるので、「here」のリンク先に移動します。

「Linux」のタブから、一致するアーキテクチャのリンクアドレスをコピーします。

例によって、Termux 上で wget とスペースキーを打ち、コピーしたアドレスをペーストし、エンターキーを押します。
これで playit のファイルがダウンロードできます。

以下のコマンドを入力します。

chmod +x playit-*
./playit-*

いちばん上に URL が表示されるので、これをコピーしてブラウザからアクセスし、ページ右下に「Create Tunnel」が現れるのを待ってそれをタップします。
Step 4: The playit program is setup, what next? -- Create Tunnel

このような画面に移動するので、「Tunnel Type」から「Minecraft Bedrock (game)」を選び、「Add Tunnel」を押します。
playit.gg の tunnal 追加画面

そうすると、この画像のような表記が出てきます (実際の表記を黒塗りしています)。
playit.gg のサーバーアドレスとポートの表記

例えば「198.51.100.0:12345」のように、3つの小数点と1つのコロン「:」の付いた数字の羅列があります。
この例ではコロンの前の「198.51.100.0」が「サーバーアドレス」で、コロンの後の「12345」が「ポート」です。
あとで見返せるようにこの playit.gg のページを開いたままにしておくか、これらの数字をメモしておきます。

Skript の作成

Tmux 上で「CTRL」「b」「c」を順に打つことで新しいターミナルを開きます。
そこで次のコマンドでスクリプトを入れるディレクトリに移動し、hello.sk という名前の新しいファイルを作成します。

cd plugins/Skript/scripts
touch hello.sk

QuickEdit または Jota+ などのテキストエディタを開きます。
eula.txt を編集したときと同じようにファイルアイコンをタップします。
mcpluginsSkriptscripthello.sk で今作成したファイルを開きます。

試しにこのファイルに以下のような内容を書き込み、保存します。

on join:
    broadcast "%player's name%: Hello, world!"

ついにログイン!

Termux に戻ります。

./run.sh

と入力してサーバーを起動します。

統合版 Minecraft で「サーバーを追加」から playit.gg のサイトに示された「サーバーアドレス」と「ポート」を入力し、「保存」して「サーバーに接続」します。
「サーバー名」は何でもかまいません。
Minecraft 上の外部サーバー編集画面

ログインするとチャット欄にあなたのプレイヤー名と「Hello, world!」が表示されます。
晴れてスマホ上で Skript を実行できましたね!
スクリーンショット (45).png

サーバーの起動と終了の方法

サーバーの終了

ずっとスマホ上でサーバーを動かし続ける訳にはいかないのでサーバーを終了します。

Termux 上で Minecraft のサーバーがコマンドプロンプト (>) を表示してコマンドを受け付けているので、

stop

を入力します。

コマンドプロンプトが root@localhost:~/mc に戻ったら、

tmux kill-server

を入力します。
緑色のステータスバーが消えて tmux が終了したことを確認します。

exit

を入力すると、 Ubuntu が終了してコマンドプロンプトがさらに ~ $ に戻ります。

もう一度

exit

を入力し、「press Enter」と表示された場合はエンターキーを打ちます。
Termux アプリが終了します。

ブラウザで playit.gg の管理画面 を開き、青色の背景になっている「Minecraft Bedrock」をタップします。
そして、「disable tunnel」と書かれたボタンをタップします。

画面の横幅が狭いため、「disable tunnel」ボタンが表示されない場合があります。
この場合はスマホ画面を横向きにしてください。

サーバーの起動

Termux アプリを起動します。
コマンドプロンプトが ~ $ となっていることを確認します。

./start-ubuntu.sh

と入力して Ubuntu を起動すると、コマンドプロンプトが root@localhost:~# となります。

mc ディレクトリに移動するため、

cd mc

と入力すると、コマンドプロンプトが root@localhost:~/mc# となります。

tmux

と入力します。
下に緑色のステータスバーが表示されます。

./playit-*

と入力し、playit.gg を起動します。

「CTRL」「b」「c」を順に打って新しいターミナルを開き、

./run.sh

と入力します。

ブラウザで playit.gg の管理画面 を開き、赤色の背景になっている「Minecraft Bedrock」をタップします。
そして、「enable tunnel」と書かれたボタンをタップします。

これでまたサーバーにログインできます。

参考にしたサイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0