LoginSignup
4
3

【1.19.4対応】スマホでMinecraftサーバーを作る方法

Posted at

皆さんは、こう思ったことはありませんか?
「Minecraftサーバーをスマホで立ち上げたい!」
...え?ない?
今回はそんなお悩み(?)に対処するため、色々調べました(暇だったので調べてたら面白そうなのが出てきたのでQiitaにも書こうかなと思いました)
今回はこちらのWebサイトを参考にさせていただきました。

完成形

CompletelySmartPhonePicture
こんな感じです。

[17:05:55 INFO]: Timings Reset

と出ているので、ちゃんと起動できていることが分かります。

PCのJava版からアクセスするとこんな感じ
image.png
image.png
静止画だとわかりませんが、一人だと快適に遊べるくらいではあったようです。

前提、環境

ホスト機(サーバー起動するスマホ):Rakuten Hand P710
それにSSHとMinecraft Java版でアクセスするPC:Windows11 Core i9-12900H、RTX 3070Ti

次の章からは実際の手順を示します。

構築編① termuxをインストールしよう

警告:自分は大丈夫でしたが、F-Droidからアプリをダウンロードすることは少なからずリスクがあります。すべて自己責任で行ってください。

APKをAndroidにインストールしてください
(この際、Google Play Store版はバージョンが古いらしいのでF-Droidからダウンロードしてください。)


下の方にスクロールすると、APKをダウンロードというリンクがあるはずなのでそれを押してください。
(現時点2023/5/23ではバージョン0.118.0が最新)
ダウンロードできたら「開く」→「インストール」を押してください。
この時に、「不明な発行元のアプリはインストールできません」と言われたら、
このページを参考にして許可してあげてください。

不明な発行元のアプリをインストールできる状態にしておくことは、セキュリティ上の観点から好ましくありません。このアプリをインストールした後は、必ず設定からオフにしておいてください。
インストールしたら、termuxのアイコンがホーム画面に追加されているはずですので、それを押して起動してください。
起動すると、

このような画面になると思います。
この画面が出てくることを確認すれば、①のtermux導入は完了です。お疲れさまでした。

構築編② termuxにubuntuをインストールしよう

①でインストールしたtermux上で作業することになります。
次のコマンドを実行してください。

$ termux-setup-storage

このコマンドを実行すると、termuxにストレージの許可を求められますが、許可してください。
success的な文章が表示されたら(なんじゃそりゃ)

$ pkg update
$ pkg upgrade

この二つのコマンドは、いろいろアップデートするコマンドなので、多分しなくてもいけるはず(要検証)ですがしておいてください。
次に、SSHの設定などをします。これは、別にしなくてもスマホ本体からやれば大丈夫ですが、PCなどの画面から操作したい場合、SSHの設定をすると楽に接続できます。

(やらなくてもいい)TermuxでのSSH設定

$ pkg install openssh

このコマンドでSSHをインストールします
次にこのコマンドでSSHサーバーを起動してください。

$ sshd

次に、UIDとIPアドレスを確認します。

#IPアドレス確認
$ ip -4 a
#↓実行例
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
30: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 3000
    inet 192.168.1.10/24 brd 192.168.1.255 scope global wlan0
        #↑この192.?.?.?.?(この例だと192.168.1.10)がIPアドレス
       valid_lft forever preferred_lft forever

ここでIPアドレスをメモしたら、次にUIDを確認します。

$ id
#↓実行例
uid=10000(u0_a000) gid=10000(u0_a000) groups=10000(u0_a000),0000(inet),0000(everybody),00000(u0_a000_cache),00000(all_a000)
         #↑u0_a???の部分(今回だとu0_a000)がUIDになる

(勿論ですがこれはUIDを伏せてあるので実際には000が123になったり521になったりすると思います)
最後にSSHのパスワードを設定します

$ passwd 
#↓実行例
New password: #ここで何も入力されていないように見えても、ちゃんと入力されているので気にせず進めてください
Retype new password: #ここも上と同様でパスワードは見えませんが、ちゃんと入力されています。
New password was successfully set.

これでsshの設定は完了したので、PCなどを立ち上げてSSHコマンドを打ってみましょう。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\Users\0266st> ssh -p 8022 u0_a000@192.168.1.10
#                                ↑UID   ↑IPアドレス
#この例ではUIDがu0_a000、IPアドレスが192.168.1.10という体で行っています。
#↓実行例
u0_a000@192.168.1.10s password: #passwdの時と同じく、見えないが入力はされているので続ける
# 正しくパスワードを入力すればこのようになるはずです。
Welcome to Termux!

Community forum: https://termux.com/community
Gitter chat:     https://gitter.im/termux/termux
IRC channel:     #termux on libera.chat

Working with packages:

 * Search packages:   pkg search <query>
 * Install a package: pkg install <package>
 * Upgrade packages:  pkg upgrade

Subscribing to additional repositories:

 * Root:     pkg install root-repo
 * X11:      pkg install x11-repo

Report issues at https://termux.com/issues

~ $

注意:指定したUIDが間違っていても間違っているというメッセージは表示されません。アクセスできないと言われます。
アクセスできないというエラーが発生した際は、UIDがあっているかどうか、ちゃんとパスワードを設定していたかどうかを確認してください。
これでSSHの設定は完了です。
次からubuntuのインストールに戻ります。

ubuntuのインストール(続き)

ここからは一応PCからの作業で記事を書いています。しかし、スマホでも手順通りにやればSSHはいらないはずなのでやってみてください。

$ pkg install wget openssl-tool proot -y
$ hash -r
$ wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Ubuntu/ubuntu.sh
$ bash ubuntu.sh

これはAnLinux-ResourcesのLinuxを使用する方法だそうです。
上のコマンドを4つ実行すると、最後に

You can now launch Ubuntu with the ./start-ubuntu.sh script

と出てくると思うので、それが出てきたら、

$ ./start-ubuntu.sh

でUbuntuを起動します。
すると、表示が

root@localhost:~#

に変わります。
これで無事にubuntuがインストールできました。お疲れさまでした。
次はここにJavaのインストールとPaperなどのインストールを行っていきます。

構築編③ JavaとPaperのインストールをしよう

ここでは、Javaとサーバー本体であるPaperをインストールします。
まずはJavaをインストールします。次のコマンドを実行してください。

root@localhost:#~ apt install openjdk-17-jvm

インストールが終了したら

root@localhost:#~ java -version
#↓実行例
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu122.04.2)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu122.04.2, mixed mode, sharing)

このようにバージョン情報が出てくればOKです。
これでJavaのインストールが完了しました。
次にPaperをダウンロードします。
PaperはMinecraftのModが使えるサーバーの一種で、軽いのでこのサーバーを使います。
wgetでjarファイルを持ってきます。
Paperはここからダウンロードできますが、コマンドライン操作しかないので、jarファイルのURLをwgetで指定してダウンロードさせます。
今(2023/5/23)現在、最新バージョンは1.19.4なので、
https://api.papermc.io/v2/projects/paper/versions/1.19.4/builds/538/downloads/paper-1.19.4-538.jar
このアドレスですが、更新された場合、
Paperダウンロードページ
ここにある
image.png
Paper 1.?.?の青いボタン部分を右クリック→リンクアドレスをコピーからコピーしたリンクを使用してください。
image.png
URLを取得できたら、SSHに戻り、

root@localhost:#~ wget https://api.papermc.io/v2/projects/paper/versions/1.19.4/builds/538/downloads/paper-1.19.4-538.jar
                      #↑ここの部分を取ったURLに置き換える

を実行し、paper-1.?.?-???.jarを取得します。
取得できたら、mvコマンドを使用して名前を変更します。(自分はserver.jarにしました)

root@localhost:#~ mv ./paper-1.19.4-538.jar ./server.jar
                      #↑取ったファイルの名前    ↑変更後の名前

ここまで出来たらあともう少しです。

root@localhost:#~ java -jar server.jar
                           #↑変更したファイル名

これでしばらく待つと、エラーが出てきます。
しかし、心配しないでください。

root@localhost:#~ ls
banned-ips.json      commands.yml  libraries        plugins            usercache.json        world
banned-players.json  config        logs             server.jar         version_history.json  world_nether
bukkit.yml           eula.txt      ops.json         server.properties  versions              world_the_end
cache                help.yml      permissions.yml  spigot.yml         whitelist.json

lsコマンドを打つと、ちゃんとeula.txtなんかがあることが分かります。
これをviエディタなんかで編集(初心者の方にはクセが強くて使いづらいと思いますがLinuxのお勉強だと思って頑張ってみてください)
viエディタを使用するために、

root@localhost:#~ apt install vim

からvimをインストールし、
このサイトを参考にしてViエディタを使い、

eula=false

から、

eula=true

に変更してみてください。
変更ができたら、esc→:wqで保存し、
もう一度

root@localhost:#~ java -jar server.jar

で起動してみてください。
道中、root権限で起動する意味ないよーみたいなメッセージや、「file not found or not readable」エラーなどが表示されますが、無視しても大丈夫そうだったので無視しました。
気になる人はユーザーを追加してやってみるといいかも?

これで最後に

[17:05:55 INFO]: Timings Reset

など出れば、完了です。
入る際は
スマホのIPアドレス、ポートは25565(既定の場合)で入ることができました。
これでMinecraftサーバーを動かすことができました。
最後までお疲れさまでした。

ついでに

プラグインを入れる際はwgetでpluginsフォルダに入れればいいだけです。
(プラグインを入れる際はwgetでjarファイル自体のURLを指定してください)

root@localhost:#~ cd plugins
root@localhost:#~ wget #プラグインのURLをここに
4
3
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
4
3