[Ubuntu]Nukkitのサーバーを立てる

NukkitをUbuntuで立てます
半分前記事のコピーです

##サーバー環境
・ConoHa VPS
・OS Ubuntu 18.04
・メモリ 512MB
・ストレージ　SSD 20GB
・CPU 1core

##Javaインストール
Nukkitの動作にはJavaが必要です
今回は例として`openjdk-11-jre`をインストールします

```
$ sudo apt-get install openjdk-11-jre
```

##ポート開放
今回は例として19132ポート。
コマンドで打つべきなのは`#`とか`$`が先頭についてる奴だけです
つまり下で`Rules updated`って書いてあるのは打たなくていいんですわよ

```
$ ufw allow 19132/udp
Rules updated
```
##ユーザー作成
今回は例として`nukkit`という名前のユーザーを作ります

```
$ adduser nukkit
Adding user `nukkit' ...
Adding new group `nukkit' (1004) ...
Adding new user `nukkit' (1000) with group `nukkit' ...
Creating home directory `/home/nukkit' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
```
こうなったら新ユーザーのパスワード打ってください
打っても何も表示されませんよ。勘違いしないでくださいね

```
Retype new UNIX password:
```
もう一度同じパスワードを打ってください

```
passwd: password updated successfully
Changing the user information for pmmp
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
```
`Full Name []:`から`Other []:`まではそのままEnterで大丈夫です

```
Is the information correct? [Y/n]
```
と聞かれたら`Y`と入力。

###Sudo
Sudoグループに入れときます。意味わからなかったらMr.Googleに

```
$ gpasswd -a nukkit sudo
Adding user nukkit to group sudo
```

##Nukkitインストール
まずはNukkit用のディレクトリ(フォルダー)の`nukkit`を作ります

```
$ su - nukkit
$ mkdir nukkit
$ cd nukkit
```

###インストール
インストールします

```
$ wget https://ci.nukkitx.com/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar
```
ここからはPMMPと異なります
まず、起動するためのシェルスクリプト(使い方あってる？)を作ります

```
$ vi start.sh

// viを使って↓を張り付けてください。viの使い方はMr.Googleにask!
java -jar nukkit-1.0-SNAPSHOT.jar
```

##起動
```
$ ./start.sh
```
※もし`./start.sh: line 1: java: command not found`と表示されたら一番上の**Javaインストール**をやり直してみて下さい
※2もし`-su: ./start.sh: Permission denied`と表示されたら**権限設定がうまくいっていない**のでchmodを使ってなんとかしてください(丸投げ)

```
11:41:52 [INFO ] Welcome! Please choose a language first!
11:41:52 [INFO ] eng => English
11:41:52 [INFO ] chs => 中文（?体）
11:41:52 [INFO ] cht => 中文（繁體）
11:41:52 [INFO ] jpn => 日本語
11:41:52 [INFO ] rus => Pycc?ий
11:41:52 [INFO ] spa => Espanol
11:41:52 [INFO ] pol => Polish
11:41:52 [INFO ] bra => Portugues-Brasil
11:41:52 [INFO ] kor => ???
11:41:52 [INFO ] ukr => Укра?нська
11:41:52 [INFO ] deu => Deutsch
11:41:52 [INFO ] ltu => Lietuvi?kai
11:41:52 [INFO ] idn => Indonesia
11:41:52 [INFO ] cze => Czech
11:41:52 [INFO ] tur => Turkish
11:41:52 [INFO ] fin => Suomi
> jpn
11:42:53 [INFO ] Loading nukkit.yml ...
11:42:53 [INFO ] Loading server.properties ...
11:42:53 [INFO ] 日本語 (jpn) を言語に選択しました
11:42:53 [INFO ] Minecraft: BEサーバー(v1.14.0に対応)を起動しています
11:42:53 [INFO ] Selected Zlib Provider: 2 (cn.nukkit.utils.ZlibThreadLocal)
> WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
11:42:53 [INFO ] 0.0.0.0:19132上でサーバーを開始しています
11:42:53 [INFO ] このサーバーはNukkitのバージョンgit-db2afe0「」(API 1.0.9)で動 作しています
11:42:53 [INFO ] NukkitはLGPLライセンスに基づき配布されています
11:42:55 [INFO ] Loading recipes...
11:42:55 [INFO ] Loaded 1320 recipes.
11:42:55 [INFO ] Successfully loaded 0 resource packs
11:42:55 [WARN ] ワールド "world" が見つかりません
> WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.PlatformDependent0$1 (file:/home/nukkit/nukkit/nukkit-1.0-SNAPSHOT.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.PlatformDependent0$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
11:42:55 [INFO ] ワールド "world" を読み込んでいます
11:42:56 [WARN ] ワールド "nether" が見つかりません
11:42:56 [INFO ] No level called "nether" found, creating default nether level.
11:42:56 [INFO ] ワールド "nether" を読み込んでいます
11:42:56 [INFO ] Epoll Status is true
11:42:56 [INFO ] GS4ステータス リスナーを開始
11:42:56 [INFO ] クエリポートを設定: 19132
11:42:56 [INFO ] クエリーは 0.0.0.0:19132 で動作しています
11:42:56 [INFO ] デフォルトゲームタイプ: サバイバルモード
11:42:56 [INFO ] 起動完了(63.552秒)！ "help"または"?"でヘルプを表示
```
途中のエラーの意味は分かりません
ほっといてもいいそうです(PMMPer B氏曰く)
設定は`nukkit/nukkit.yml`からどうぞ
できたぞぉぉぉぉ

##Screen を使う
Screenを使うことでPMMPをバックグラウンドで常時起動させておくことができます
インストール↓

```
$ sudo apt-get install screen
```

###セッション
```
// セッションを開始する
$ screen -S pmmp
$ ./start.sh

// セッションに接続する
$ screen -r pmmp

// セッションから離脱する
Ctrl + A + D キーを同時押し
```

##終わり
グダグダ+適当でごめんなさい
間違ってるとこだらけだと思うんでなんかあったら教えてください