Androidスマホで完結！Minecraftサーバ立上げてAndroidで接続

# やりたいこと
- Androidスマホ、タブレットから自前マイクラサーバに接続する。
- できればお金をかけたくない...
  →古いスマホを活用！Webサーバーできるならやれるはず！

https://pc.watch.impress.co.jp/docs/column/nishikawa/1409411.html


# 環境
- Xperia XZs (Android 8)


# 構築手順
古いスマホにTermuxを入れてそこにマイクラサーバーを入れていく。


## F-Droidをインストール
GooglePlayからインストール可能だが、更新されておらず、`apt update`が使えない。
最新版はF-Droidにある。

https://f-droid.org/

:::note info
GooglePlay以外からアプリのインストールする場合は
「不明なアプリのインストールを許可」をしてください。
※自己責任でのインストールになります。。。
:::


## Termuxのインストール
F-Droidで「termux」と検索。
「Termux Terminal emulator with packages」をインストール

:::note info
F-Droidインストール直後、リポジトリの更新がかかります。
更新が終わらないと検索でヒットしないのでご注意。
:::


## Termuxの設定と必要ソフトインストール
お決まりのコマンドを実行。
`apt upgrade`途中に出てくる選択肢は Enter(N) でOK。
```shell:Termux
~ $ apt update
~ $ apt upgrade
```

- Open-JDKをインストール（マイクラサーバーを動かすため）
- wgetをインストール（マイクラサーバーのプログラムとプラグインをDLするため）
```shell:Termux
~ $ apt install openjdk-17
~ $ apt install wget
```


## マイクラサーバーインストール（PaperMC）
本当はBedrock版を入れたかったが、重たすぎて？うまく動かなかったため、
PaperMCを入れ、プラグインを入れることにしました。

https://papermc.io/downloads

適当にフォルダを作成して移動します。
そこに、`wget`で「paper[バージョン].jar」をダウンロード。
URLは上記リンクから最新のものをコピー。
```shell:Termux
~ $ mkdir minecraft
~ $ cd minecraft
~/minecraft $ wget https://papermc.io/api/v2/projects/paper/versions/1.18.2/builds/339/downloads/paper-1.18.2-339.jar
```


## マイクラサーバー起動！ 1回目
```shell:Termux
~/minecraft $ java -jar paper-1.18.2-339.jar
...
[13:12:09 WARN]: Failed to load eula.txt
...
```

EULA(End-User License Agreement)を承諾する必要があります。
書き換えたら、[CTRL]→[X]→[Y]→[Enter]で上書きします。

```diff_shell:Termux
~/minecraft $ nano eula.txt
-  eula=false
+  eula=true
```


## マイクラサーバー起動！ 2回目
「Done」が出ればサーバー起動成功！
```shell:Termux
~/minecraft $ java -jar paper-1.18.2-339.jar
...
[13:18:14 INFO]: Done (49.650s)! For help, type "help"
...
> stop
```


## プラグイン追加
Androidからこのサーバーに接続するため、プラグインを追加します。
pluginsディレクトリに移動して、各種プラグインをダウンロードします。

```shell:Termux
~/minecraft $ cd plugins
```


### Geyser
https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/

上記サイトより最新の「Geyser-Spigot.jar」をダウンロードします。
URLは上記リンクからコピー。
```shell:Termux
~/minecraft/plugins $ wget https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar
```

### Floodgate
https://ci.opencollab.dev//job/GeyserMC/job/Floodgate/job/master/

同様に、上記サイトより最新の「floodgate-spigot.jar」をダウンロードします。
URLは上記リンクからコピー。

```shell:Termux
~/minecraft/plugins $ wget https://ci.opencollab.dev/job/GeyserMC/job/Floodgate/job/master/lastSuccessfulBuild/artifact/spigot/target/floodgate-spigot.jar
```


## マイクラサーバー起動！ 3回目
ディレクトリを移動して、マイクラサーバーを起動。
「Done」が出ればサーバー起動成功！
```shell:Termux
~/minecraft/plugins $ cd ../
~/minecraft $ java -jar paper-1.18.2-339.jar
...
[13:27:44 INFO]: Done (58.269s)! For help, type "help"
...
```


## Androidからマイクラサーバーに接続
マイクラの「サーバーを追加」から
- サーバー名　任意
- サーバー アドレス　サーバーを立ち上げたスマホのIPアドレス
- ポート　19132


![Screenshot_2022-05-20-22-30-19-229_com.mojang.minecraftpe.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670662/cdd1b563-375b-99c2-463d-ed7ef02d13e7.jpeg)


| Edition | ポート番号 |
|:-:|:-:|
|Bedrock Edition(統合版)|19132(UDP)|
|Java Edition(Java版)|25565(TCP)|
	
![Screenshot_2022-05-20-22-31-27-043_com.mojang.minecraftpe.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670662/3478639f-23ab-cb8e-4523-53628bc946a2.jpeg)
	
# 最後に

スマホがほっかほか(^_^;)