見出し画像

Minecraft奮闘記


1. はじめに

今年の夏頃、Minecraftを始めました。

きっかけは、友人の子供が勉強と遊びを兼ねてMinecraftをやる機会が多い と話題に上がっていた事、
最近はまっているホロライブの放送でMinecraftを見ていて、面白そうだなと思った事 からでした。

2. 統合版(Bedrock版)かJava版か

まず悩んだのが、統合版(Bedrock版)かJava版か。
昔は別途購入しないといけなかった模様ですが、
現在は1つ購入すれば統合版もJava版も選べるようになった模様。

色々と悩んだ結果、Switchからやることがあるかも?ということで
統合版を選択することにしました。

3. Xserver VPS

我が家でMinecraftをやるにあたり、条件が一つありました。
それは、私と妻が同じワールドで遊べること。
手段としては下記のどれかとなります。

・ローカルに招待する
・LAN内にサーバを建てる
・VPSサービスを借りる

最近レンタルサーバしか触っておらず、
久々にがっつりLinuxサーバに触れたいなと思った為、
VPSサービスを借りることに。
過去にお世話になった経験がある、Xserverにしました。
というわけで、Xsever VPS 2GBプラン を契約。

3. 統合版の導入

最近のVPSはすごいですね。
Minecraftの導入済みのサーバイメージが用意されていて驚きました。
さくっと統合版のイメージを選択して完了。

細かいポートの開放は管理画面からできない模様。
直接入って設定しようかとも思いましたが、
とりあえずはXserver推奨の全開放で様子をみることにしました。

Minecraft専用管理画面のマインクラフトマネージャーにも驚きました。
細かいところまでは難しいですが、
普通に管理するだけであれば、この画面だけで十分なのではないでしょうか。
バックアップ機能まであって至れり尽くせりです。

4. 湧き上がるGeek魂

統合版の導入は無事に完了し、
私はレッドストーン回路で、妻は謎建築でと、
各々Minecraftの世界を満喫しておりました。

しかし、動画等をみて湧き上がるModへの憧れ・・・
コマンドブロックやリソースパックなどでは我慢できない。

よし、もう一個VPSを契約して試してみよう。

5. Xserver for Game

実はXserver VPSを契約した後に、Xserver for Gameなるものが
あることに気がついていました。
こちらのお試しも兼ねて、Xserver for Game 2GBプランを並行契約。

当初、VPSとfor Game、何が違うのか全然わかりませんでした。
管理画面もそっくり。
細かく見ていくと下記の差がありました。

  • OSのみ・Game以外のイメージ
    Xserver VPSは当然VPSサービスなため、OSのみのイメージが選べます
    それとは別に、アプリケーション導入済みのイメージが選べ、
    種類もゲームだけではなくWordPressMastodonなど多種なイメージがあります。
    Xserver for Gameはアプリケーション導入済みのイメージしか選べず
    種類もゲームだけと絞られています。

  • Minecraft簡単移行
    Xserver for Gameには、Minecraft簡単移行という、他サーバからデータ移行するツールが用意されています。
    FTPを用いてファイルを転送し、パーミッション設定をすれば同じことですが、
    そこまで詳しい人でなくても移行が簡単にできるのは良いかも。
    なお、統合版→Java版といった移行はできませんでした。

  • ポート設定
    Xserver VPSは多様なサービスに対応するため、
    SSH/Web/SQL/メール/RDPと、代表的なポートが管理画面でOn/Offできます
    逆に言えば、管理画面に載っていなかったMinecraftのポートは
    手動で開くか、全ポート開放か の2択になります。
    Xserver for GameはSSH/ゲームと、サーバ用途を絞る代わりに、
    用途にあったポートを管理画面でOn/Offできるようになっておりました。

個人的な感想としては、ゲーム用途と割り切って使うのであれば
VPSよりfor Gameのほうが良いのではと感じました。

6. 統合版からJava版への移行

すでに遊んでいる統合版のデータを捨ててJava版へ移行するのは簡単です。
しかしながら、来る者は拒まず去る者は全力で追いかける性格の私、
早々簡単にデータを捨てることはできません。

ということで、AMULETというツールを試すことにしました。
※使う時は自己責任でお願いします。
細かい使い方等は省略致しますが、ハマった点を記載致します。

  • 予めSeed値を合わせておく
    現在のMinecraftは、統合版・Java版共に、同じSeed値を使うことで
    同じMAPが使用できます。
    (以前は互換性がなく、計算ツールがあった模様?)
    移行元の統合版Seed値を事前に調べ、
    Java版で同じSeed値で移行先となるワールドを作成しておく必要があります。
    Seed値が異なる場合、地形がめちゃくちゃになり、チャンクごとに絶壁が見れたりします。

  • 完全には移行できない
    かなり正確に移行はできるものの、額縁等が抜け落ちました。
    可能であれば、移行後も移行前のデータを確認できる環境を
    用意しておいたほうが良いです。

  • 動物がポップしなくなった
    移行の際、動物が全部消えました。
    消えただけかな?と思っていたのですが、その後いくら待ってもポップしませんでした。

最初はまぁ動物がポップしなくても・・・と思っていましたが、
どうしても気になってしまい、なんとかならないかと策を練ることに。

7. Java版の再移行

この時点でのXserverの契約状況は、
・Xserver VPS : 統合版 → 元々のワールド
・Xserver for Game : Java(forge)版 → AMULETで移行したワールド
となっておりました。

そこでひらめいた策。
ワールド移行じゃなくて、建物だけ持って行ければ良いのでは?

すでにWorldEditというModの存在を動画にて知っておりました。
このModを使えば、建物データをschematicとして保存できる!

というわけで、イメージ・ワールドを下記のように変更しました。
・Xserver VPS : Java(forge)版 → AMULETで移行したワールド
・Xserver for Game : Java(forge)版 → 同Seed値のきれいなワールド

そして、VPS・for Game共にWorldEditを導入。
建物を一つ一つschematicに保存→ダウンロード→アップロード→同位置に展開。

無事に、動物がポップするきれいなワールドへ完全移行できました。

8. 止まらないGeek魂

無事にサーバがForgeとなり、様々なModを導入し、
楽しい日々を送っておりました。

そんなさなか、ホロライブのMinecraftの放送を見て気がつきました。
複数ワールドを跨いでいる・・・?

そんなModあったかしら?と調べ、
判明したPlugin、Multiverseの存在。

導入したい! しかしModサーバではできない!
Xserver for GameのイメージにはPluginサーバ・ハイブリッドサーバはない!
11/24に、プラグインサーバ「Spigot」と「Paper」のイメージが追加されました

手動でハイブリッドサーバを導入し、
Xserverから提供されているマインクラフトマネージャーを諦めるか・・・?

よし、まずは試してみよう・・・

9. ハイブリッドサーバ

バックアップをしっかり取り、いざデータの全消去。
そしてハイブリッドサーバ Mohistをアップロードし、
いざ起動!
※Mohistはいろいろな噂があります。導入は自己責任でお願いします。

「メモリが足りません」

あ、はい。
Xserver for Game 4GBプランへ変更し、いざ再トライ!
(割り当て:1GB→3GB)

導入成功!
ワールドデータもちゃんと読み込めてゲームプレイOK!

そして恐る恐るマインクラフトマネージャーへ。
画面真っ白。
まぁそうですよね・・・。

10. 諦めない心にぇ

現時点で、ゲームはプレイ可能です。
Modも動きます。Pluginも動きます。
サーバ管理はSSHで可能です。

ですが、マインクラフトマネージャーの手軽さがどうしても諦めきれません!

というわけで、Forgeの時のファイルとMohistの時のファイルを片っ端から比較。
すると、バージョン等が書かれたファイルが欠落していることがわかりました。

該当するファイルを補完してあげると・・・見事にマインクラフトマネージャーが復活!
難易度変更等は支障がありますが、サーバの起動停止、バックアップの管理等、問題なく行えるようになりました。
※やられる方はくれぐれも自己責任でお願いします。

11. 配布ワールドの追加

私がプレイしているMinecraftのバージョンは1.20.1です。
しかし、ネット上で配布されているワールドデータは1.17.x等、
少々古いバージョンが多いです。

この古いバージョンのまま、サーバにアップロード、Multiverseで読み込みを行うと、
高確率でチャンクデータが崩れることがわかりました。
初めはメモリ不足かなとも思いましたが、下記手順を踏むことで無事に読み込めるようになりました。

  1. ローカルのプロファイルのsavesに配布ワールドを展開

  2. シングルプレイで配布ワールドへログイン
    この際、バージョンが古いことを確認

  3. MAPをぐるっと巡り、チャンクキャッシュを生成

  4. ログアウト

  5. 再度シングルプレイを選択

  6. 配布ワールドのバージョンが上がっていることを確認

  7. savesのワールドデータをサーバにアップロード

とはいえ、4GBではあまり余裕は無い模様です。

12. 今後の展開

Modもいっぱい入れてしまい、私と妻しか接続していない為、
現状VPSサービスである必要がありません。

いっそのこと、LAN上にサーバを建ててしまえば良いのでは?
Intel Alder Lake N100のミニPCなんてもってこいなんでは?と
考えたりしています。

しかし国産は無い模様。
台湾産もASUS ExpertCenter PN42ぐらい、
ASRock N100DC-ITXを使って組むと高く付きそう・・・
(その後、Gigabyte GB-BNIP-N100の情報を頂きました。
 が、どこにも売ってない?)

そんな矢先のブラックフライデー。
Beelink MINI S12 Proってどうなんでしょうかね?
いっぱい出ててどこが公式・正規代理店かわかりませんが・・・

13. さらに先の展開

サーバのスペックに余裕ができたら、C# + .NETで
独自のマインクラフトマネージャーを作ってみようかと考えています。

14. おまけ

  • スクリーンショット保存先の変更
    通常スクリーンショットはローカルのプロファイルのscreenshotsに保存されますが、
    mklinkでシンボリックリンクを貼ってあげれば、好きなフォルダに保存可能です。

  • ファイルアップロード後に起動に失敗する時は所有者を疑え
    FTPでファイルをアップロードする際、所有者がrootになっていたりします。
    XserverのMinecraftの所有者はminecraft:minecraftです。
    chownでの所有者変更をお忘れなく。


この記事が気に入ったらサポートをしてみませんか?