Ubuntuでマイクラサーバーを構築する１


#  はじめに
これは私がMinecraft Serverを運営していくための備忘録です。
そのため環境によっては参考なならない場合があります。ご了承ください。
ubuntu等の知識が足らず詰んだら調べれば大体解決します。

# 目次
[1.現在の環境](#1現在の環境)
[2.Ubuntu serverの構築](#2ubuntuserverの構築)
[3.Minecraft serverの構築](#3minecraftserverの構築)
[4.ポート開放](#4ポート開放)
[5.テスト](#5テスト)
[6.IPをドメインに紐づけ](#6ipをドメインに紐づけ)
[7.プラグインの導入](#7プラグインの導入)


# 1.現在の環境
- CPU 
    - Pentium
- メモリ
    - DDR4 24GB
- ROM
    - SSD 128BG
- OS
    -  Ubuntu 20.04.3 LTS

# 2.UbuntuServerの構築
だるいので省略
（これ見ればわかんだろ
https://zenn.dev/hatotk/articles/install-ubuntu-server-20-04-lts
）
SSHで鯖と普段使うPCつなげておくと便利。
javaを使うのでインストールしておく必要がある。
マイクラのバージョンによって使用するjavaのバージョンが違うので注意。
~~やりかたはググってくれ~~

# 3.MinecraftServerの構築
まずはMinecraft serverの種類を解説

## Minecraft serverの種類（スキップ推奨）

 **1.公式バニラサーバー**
これはなんの変哲もないいつものサーバー
ただし、MODもプラグインも入れられない
~~データパックはわからん~~
公式サイトからDLできる

**2.プラグインサーバー**
プラグインサーバーは名前の通りプラグインを入れられるサーバー
この中にも種類があり、
・SpigotMC
・PaperMC
・PurPurMC
等々ある。

特徴はとDL先は各自ググってくれ。

**3.Modサーバー**
ModサーバーはModを入れられるサーバー
これにもいくつかあり、
・Forge
・Fabric
・Sponge
がある。
よくわからん時はForgeでいいと思う。

## 今回使うサーバーと構築
今回紹介するサーバーはプラグインサーバーのPaperMCです。
これを選んだ理由は
・JAVA版統合版クロスプレイ鯖を作りたい
・PaperMCが扱いやすく軽い
という理由です。

DL先は

https://papermc.io/

ここからDLしてSSHでubuntuにドラッグアンドドロップします。
サーバー側からwgetでDLしてもよい。

次に↓のコマンドで一度起動する。

`screen java  -jar [jarの名前] nogui`

実行中に勝手に止まると思うので、止まったらeula.txtをtrueにする。
ポートを変更する場合はserver.propertiesでserver-portを変更しておく。

これにてマイクラ鯖側は完了

# 4.ポート開放
次はubuntu、ルーターでポート開放をします。

最近のネットの契約だとipv6にしている方も多いと思います。
ipv6では使えるポートが限られています。

開放するより先に自分が使えるポートを以下のサイトで確認しましょう。


https://isecj.jp/tools/portcheck-map-e/

確認できたらメモを取るか、サイトを開いたままにしましょう。
確認できたポート番号の中からどの番号を使うかを決めます。

### ルーター側のポート開放
ルーター側でポートを開放します。
ルーター側で設定する場合は管理画面を開く必要があります。
管理画面の開き方はメーカーによって変わります。
私の場合はchromeの検索欄に

`192.168.3.1`

と入力すると開きます。
多くの場合は

`192.168.1.1`

で開けるかと思います。

当てはまらない方は、管理画面の開き方を調べてみましょう。

管理画面が開けたらログイン画面が表示されると思います。
初期設定の場合はどちらも　**admin**　で開けるかと思います。

開けたらポート転送設定等の画面を探して設定します。

例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3252705/161d3d09-a14c-7b61-9c1e-27db4ec2c4d6.png)

WAN側ポート番号は今回使うポート番号を入力します。
転送先IPアドレスはubuntuで使っているIPを入力します。

これができたら完了です。
クロスプレイ鯖を立てる場合はプロトコルをTCP/UDPにしておきます。


### ubuntuのポート開放
こっちはいたって簡単。
ubuntuで以下のコマンドを入力するだけです。
`sudo ufw allow [決めたポート番号]`
`sudo ufw allow [決めたポート番号]/udp`
成功したら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3252705/79843103-1751-9cf1-c4db-103937bf08d1.png)
このような表示が出るはずです。

一応確認をします。
`sudo ufw status`
と入力してみましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3252705/28e1e99d-7de9-4516-9fb7-fd24fe89cc66.png)
↑の画像のようにtoのところにポート番号が書かれていたら成功です。

# 5．テスト
ここまで来たらもうサーバーには入れるはずです。
マイクラのサーバーに入る画面で
`[ubuntuで使用しているIP]:[決めたポート]`
を入力してサーバーに入ってみましょう。
入れたら成功です。

成功したらローカル以外から入れるか試してみましょう。（協力が必要）
今度は
`[グローバルIP]:[決めたポート]`
をテスターに入力してもらいましょう。
入れたら成功です。

# 6.IPをドメインに紐づけ
ここからは必要な場合のみ読んでください。
グローバルIPは定期的に変わってしまいます。
そのためサーバーを放置していると、遊びたいときに入れなくなってしまいます。
そんなことが起きないように、いつでもはいれるようにIPをドメインに紐づけます。

今回は無料でドメインを取得できるMyDNSを使用します。
使い方等は以下のページを参考にしてください。

https://www.komee.org/entry/2019/02/07/120000

ヒント：IP Address Directは0.0.0.0にして更新しグローバルIPを設定するのがおすすめ

マイクラサーバーに入るときは
`ドメイン:ポート番号`
にしましょう。
ポートを変更していない場合はドメインだけで入れます。

# 7.プラグインの導入
残るはプラグインの導入だけです、プラグインを導入しない場合はこの項目もスキップして大丈夫です。
クロスプレイ鯖に必要なプラグインは以下の2つです。
・Geyser
・Floodgate

導入のしかたは以下のページがわかりやすいので読んでみてください。

https://mcpoteton.com/mcplugin/geysermc

ヒント：Bedrock Edition（統合版）のポート番号を変更した場合は、GeyserMCのconfig.ymlファイルの「port: 19132」の記述を変更してください。

これにてすべて完了。
おつかれ＾＾