• Spigot/Bukkit/Sponge/Bungeeプラグイン「Plan|Player Analytics」解説(2019/09/27更新:Plan v5.0のテストビルドに日本語ファイル実装)

    2019-03-01 02:14

    02/28の生放送でいろいろとやっていた設定していたプラグインです
    このプラグインは多種多様の機能を兼ね備えて導入必須というレベルで素晴らしいプラグインですが、日本語の解説が0と言う悲しい事実なので解説していきます。コンフィグの詳しい説明とかはよくわかっていないのでそこらへんは割愛します
    対応バージョンは1.7~1.13
    配布先:https://www.spigotmc.org/resources/plan-player-analytics.32536/
    開発GitHub:https://github.com/Rsl1122/Plan-PlayerAnalytics
    Wiki:https://github.com/Rsl1122/Plan-PlayerAnalytics/wiki

    2019/04/24:Plan ver4.8.2 DEV2にて日本語化ファイルが実装され使えるようになりました
    また日本語翻訳に関するGitHubフォークとDiscordを立ち上げました
    日本語化に関するGitHun:https://github.com/yukieiji/Plan-JapaneseTranslationProject
    2019/05/10:Plan ver4.8.2が正式リリースされ日本語ファイルが正式に実装されました、下の方にやり方を書いておきます
    2019/09/27:Plan ver5.0のテストビルドも日本語化が完了しました、インターフェースが一新されています。DL先→ :https://plan.djrapitops.com/job/Player%20Analytics/job/interface-redesign/


    1.Plan|Player Analyticsって?ああ!!
    聞いたことすらないプラグインだと思います。Planは導入されているサーバーの各種情報をブラウザ上で確認できるプラグインです。
    プレイヤーの各種情報やプレイヤーがどれくらい活動してるのか、KDR、プレイヤーのPingなどいろいろと確認できます
    更に下の画像の様にサーバーの負荷状況、メモリ使用率、TPS、CPU使用率なんかも確認できます。ここに書いてある機能はごく一部で、配布先の画像に機能一覧を載せた画像があります
    データベースを使用することもできるため、ある程度高速に動作します



    2.Spigot/Bukkit/SpongePlan|Player Analyticsの導入
    何時ものようにプラグインフォルダにダウンロードしたjarファイルを入れて再起動するだけで導入自体は完了です。
    デフォルトのPlanの使用ポートは8804番で、ブラウザに「http://localhost:ポート番号」と入力して表示されていれば成功です。ポート番号を開放すれば外部からも接続可能です
    データベース関連を使用する場合、コンフィグより使用するデータベースなどを入力します。
    プレイヤーの情報が表示されない場合は「/plan analyze」などをつかって分析をかけます
    2019/03/07更新:更新でデーターベース関連が変更されてデフォルトのままだと動かなくなりました。なのでSQLiteかMySQL(MarinDB)を導入してプラグインのコンフィグを設定するか、コンフィグのデーターベースをH2に設定してください

    3.Bungee/WaterFallへPlan|Player Analyticsの導入
    Bungee/WaterFallへの導入はMySQLの導入や入れた後の設定が必要のためちょっとめんどくさいです。(MySQL以外もできるけどやり方がWikiに書いてないので割愛)
    3-1:まずMySQLを導入予定のBungeeが実行されるマシンにインストールします
    3-2:インストール後MySQLをPC起動時に自動実行するようにします
    3-3:MySQLのルートパスワードを設定しMySQLのコマンドラインを起動しログインします(Linuxとかだと管理者権限で「mysql -u root -p」を実行するとコマンドラインが起動します)
    3-4:Planが使用するデータベースを「CREATE DATABASE (データベース名);」で作成
    3-5:Planが使用するデータベースを操作するユーザーを「CREATE USER '(ユーザー名)'@'localhost' IDENTIFIED By '(ログインパスワード)';」で作成、ユーザー名とパスワードは覚えておいてください
    3-6:上で作ったユーザーにPlanが使用するデータベースの操作権を「GRANT ALL PRIVILEGES ON (データベース名).* TO '(ユーザー名)';」付与
    3-6ex1:Bungee/WaterFallにつなげるサーバーがBungee/WaterFallと同じマシン上にない場合、「GRANT ALL PRIVILEGES ON (上で作ったデータベース名).* TO '(上で作ったユーザー名)'@'繋げるサーバーのIPアドレス' IDENTIFIED BY '(上で作ったユーザーのログインパスワード)' WITH GRANT OPTION;」を使って外部サーバーからMySQLを操作できるようにする
    3-6ex2:そしてBungee/WaterFallのサーバーの3306番ポートを開放、別の外部サーバーがある場合3-6ex1を繰り返す
    3-7:PlanをBungee/WaterFallのプラグインフォルダに導入して起動(切らなくておk)
    3-8:起動したらPlanのコンフィグを開く
    3-9:Server:のIP:の項目に自身のBungee/WaterFallに接続できるIPもしくはアドレスを入れる
    3-10:Database:のMySQL:内にあるUser:に上のPlanが使用するデータベースを操作するユーザー名、Password:に上のPlanが使用するデータベースを操作するユーザー名のパスワード、Database:に上のPlanが使用するデータベース名を入れる
    3-11:上記設定が終了後保存して「/planbungee reload」と入力してコンフィグをリロード、ブラウザに「http://localhost:ポート番号」と入力してウェブページが表示されることを確認する
    3-12:Bungee/WaterFallに接続されている全てのSpigot/Bukkit/SpongeにPlanを上の2にある通りに導入し起動
    3-13:Spigot/Bukkit/SpongeのPlanのコンフィグを開いてサーバー名を適当に変えておく
    3-14-1:もしBungee/WaterFallを実行している同じマシンのサーバーならBungeeのPlanで使用してないポートの番号をWebserver:のPort:に入れる(WikiだとFreeって書いてあるから空欄にするんかなって思うけど次の作業でうまくいかないのでなんか入れとく)
    3-14-2.1:もしBungee/WaterFallを実行しているマシンと違うマシンで実行されているサーバーならPlanのコンフィグが使用しているポートの番号を開放
    3-14-2.2:Planのコンフィグを開きWebserverの欄の「Alternative_IP: true」に変更、その下の項目を「Address: "実行しているサーバーマシンのIP:%port%"」とする(%port%は自動的に決まるらしいのでこれで良いとのこと)
    3-14:Bungee/WaterFallのほうで「/planbungee setup」と入力してセットアップモードを起動
    3-15:Spigot/Bukkit/Spongeの方で「plan m setup (BungeeのPlanのアドレス):(BungeeのPlanが使用するポート番号)」と入力、BungeeのPlanのIPアドレスはBungeeが同じマシンにあるなら「localhost」、Bungeeが同じローカルネットワーク内ならローカルのIP、それ以外ならサーバーに接続するIPorアドレス、IPアドレスやローカルホストの場合は「http://」を最初につけないとだめみたいです
    3-16:Bungeeのログに「Config file for server '(上で変更したサーバー名)' updated in /Plan/serverConfiguration」って出ていれば完了、Bungeeに接続されている別のサーバーがあれば、3-14より再度設定
    3-17:「/planbungee reload」でPlanをリロード
    3-18:ブラウザに「http://localhost:ポート番号/server」で追加されているサーバーがあれば導入完了
    3-19:Spigot/Bukkit/SpongeのPlanフォルダ内にあるデータベースファイルを消しておく(Bungeeのデータベースに統合されるため)

    3.日本語化やり方
    1.Plan ver4.8.2以降を導入しSpigot/Bukkit/Sponge/Bungee/WaterFallを起動しコンフィグファイルを作成
    2.コンフィグファイルを開き「Plugin」の「Logging」の中の「Locale: default」を「Locale: JA」に変更3.「Formatting:」の「Time_amount:」を以下のように変更

    Year: '1年, '
    Years: '%years% 年, '
    Month: '1ヶ月, '
    Months: '%months%ヶ月, '
    Day: '1日 '
    Days: '%days%日 '
    Hours: '%hours%時間 '
    Minutes: '%minutes%分 '
    Seconds: '%seconds%秒'
    Zero: '0秒'

    3.完了後保存し「/plan reload」/「/planbungee reload」としてPlanを再起動、反映されない場合はSpigot/Bukkit/Sponge/Bungee/WaterFallを再起動する
    3ex.コンフィグの「Network」/「Server」の「Name:」の欄は必ずアルファベットのA~Z、a~zまたは1~9のみを用いた名前に設定し、ウェブページを開いたときにコンフィグで設定した名前になっていることを確認する(日本語へ翻訳する文字列が使われていた場合、サーバー名やネットワーク名まで翻訳され正しく動作しなくなります)


    4.余談

    いくつか連携しているプラグインもあるみたいです ⇒ https://github.com/Rsl1122/Plan-PlayerAnalytics/issues/583


  • 広告
  • Minecraftのサーバーの種類まとめ(2020/06/17更新、Migotのビルド方法を記載)

    2018-11-09 03:44

    Minecraftのサーバーを運用していてGitHubをいろいろとあさっていたらいろいろとMinecraftのサーバーを発見した(Spigot以外)のであとで分かるようにメモも含めてまとめときます
    サーバーの紹介ではなくてサーバーの種類の紹介ですのでご注意を
    またMinecraft:JavaEditionのサーバーのみの種類の紹介し、一部ビルドや実行できないものもあります

    2019/03/19更新:Trident、Rainbow、SportPaper、CloudSpigot、Kettle、Mohistを追加、一部修正
    2019/04/17更新:Uraniumの現状況を追加、KCauldronのURLを更新
    2020/05/10更新:Thrmos非公式版(その1)とCatServerのURLを更新、AkarinとAtom、Mohistを更新、Atom非公式版を追加
    2020/06/17更新:Migotのビルド方法を記載


    1.Minecraft公式サーバー系列

    Minecraftの公式サーバーもしくはそれを派生させたものでプラグイン等は基本使えないけど別言語で書かれたものがあるのでパフォーマンスを重視させたものが多い印象

    • Minecraft公式サーバー
    DL先:https://minecraft.net/ja-jp/download/server/
    特になんにも考えなくても建てれるMinecraftのサーバー、古いバージョンを落とすのが結構めんどくさい
    Minecraft純正のJavaで動くためパフォーマンスは微妙

    • cuberite
    公式サイト:https://cuberite.org/
    開発GitHub:https://github.com/cuberite/cuberite
    対応バージョンは1.8~1.12のマルチバージョンでC++とLuaで開発されたMinecraftのサーバー、C++で開発されているためマルチコア対応でメモリーの消費も少ない高性能サーバー、独自のプラグイン(Lua)も使えるみたい
    レシピはすべてテキストファイルに書かれて置いてあるのである程度のレシピ変更もMODなしで可能
    現在も開発が行われている
    動作プラットフォームはWindows、Linux、macOS、FreeBSD、Androidと多岐に渡ってる

    • Mineserver
    公式サイト:https://mineserver.be/
    開発GitHub:https://github.com/fador/mineserver
    こちらもC++で開発されていて高性能なサーバーだが開発が2016年から止まっている
    フォーラムの活動も終わってるみたい?
    対応バージョンは1.8.9
    動作プラットフォームはWindows、Linux、macOS

    • Rainbow
    公式サイト:https://www.project-rainbow.org/
    公式フォーラム:https://www.project-rainbow.org/site/index.php
    対応バージョンはver1.8~1.13、Minecraft 1.8のサーバーをカスタムしたサーバーで、Bukkitのプラグインと独自のプラグインが使えるサーバー。最初から経済システムやバックパックなどのシステムが組み込まれている。フォーラムもあり

    • Trident
    公式サイト:https://tsdk.xyz/
    開発GitHub:https://github.com/TridentSDK/Trident
    新世代の高性能かつマルチスレッドでバグが少ないMinecraftサーバーを目指して開発が行われていたが2017年から開発が止まっている模様、公式サイトも見えない・・・
    対応バージョンは不明


    2.Bukkit/Spigotサーバー系列
    元々CraftBukkitより高性能なサーバーを目指して作られたサーバーだが、CraftBukkitがDLできなくなったためプラグインを使いたい場合や高性能なサーバーを建てる場合はSpigotを使うことが多い気がする
    • Spigot公式
    公式サイト:https://www.spigotmc.org/
    ビルドツールDLサイト:https://hub.spigotmc.org/jenkins/job/BuildTools/
    対応バージョンはver1.8~ver1.13.2、日本語の最も情報が多く困ったら大体なんとかなる気がする。プラグインも大量にありCraftBukkitのプラグインもだいたい動く
    自身でバージョンを指定してビルドしないといけないが一番めんどくさい所
    ver1.7以降のサーバーがビルドできないのが悲しみ


    • Glowstone
    公式サイト:https://glowstone.net/
    開発GitHub:https://github.com/GlowstoneMC/Glowstone
    古いバージョン:https://github.com/GlowstoneMC/Glowstone/releases
    Wiki:https://github.com/GlowstoneMC/Glowstone/wiki
    対応バージョンはver1.8~ver1.12.2、アルファ時代に存在したLightStoneを復活させて高速で互換性のあるオープンソースなサーバーを目指して開発されているサーバー。CraftBukkitプラグインとSpigotのプラグイン、更に下のPaperプラグイン、Glowstone本体のプラグインが使えるサーバー(それぞれのプラットフォームに依存しているNMSなどのプラグインは使えない模様)
    長期サポートバージョンも配布されているためサポートやメンテンス面で非常に優秀
    またビルドが必要としない点でユーザーフレンドリーな感じ

    • Cubed
    開発GitLab:https://git.sw4pspace.net/sw4pspace/cubed
    対応バージョンは不明、上のGlowstoneの広域な互換性を廃止させ多数の特徴を追加するためにフォークしたサーバー。
    オープンソースのサーバーでありBukkit及びSpigotのプラグインのみの動作、フラットファイルを置き換えるバックエンドのデータベース、データベース操作のWebサービス、フロントエンドのWebページを簡単に操作できる事を特徴としている
    なぜかjenkinsのダウンロードページを開くことができないため、自分でビルドする必要がある

    • Migot
    開発GitHub:https://github.com/Poweruser/Migot
    ビルドツール:https://github.com/Poweruser/MigotTools/releases
    対応バージョンはver1.8.8(公式にはver1.8からってあったけどMigotのビルドデータが1.8.8以外なかったでござる)、マルチスレッディングに対応させたSpigotであり使用することができたら最も高性能なSpigotサーバーになると思うけど、自分の環境だとビルドできなかった悲しみ。もう長い間メンテンスされてないから修正はないかな・・・
    2020/06/17:ビルドに成功し、動作確認も出来ました。
    ビルド方法(必要環境:Linux/macOS、Maven、Java、Git):
    1.MigotToolsをGit Clone
    2.その中のMigotTools/src/main/java/org/spigotmc/builder/Builder.javaの187行目の"http://~"を"https://~"に書き換え
    3.「mvn clean package」でMigotToolをビルド
    4.ビルドが完了したMigotToos.jarを使ってMigotをビルドするだけ
    1~2がめんどくさい場合はフォークして修正したソースを以下のURLにあるのでそれをクローンしてビルドしてください
    https://github.com/yukieiji/MigotTools

    • Paper
    公式サイト:https://papermc.io/
    開発GitHub:https://github.com/PaperMC/Paper
    Paper公式ドキュメント:https://paper.readthedocs.io/en/stable/
    ver1.12.2以前のバージョンのビルドDL先:https://papermc.io/ci/job/Paper/
    ver1.13以降のDL先:https://papermc.io/downloads
    対応バージョンはver1.8.8~ver1.13.2、次世代の高性能なSpigotを目指してSpigotをフォークしたサーバー。パフォーマンス向上の為数多くの最適化と改善が行われている。私が管理しているサーバーの連結されているバニラサーバーがこれを使っています、サーバーのログにいろいろと数値化されたワールドの情報が出るのですごく管理が楽です。またワールドの設定が事細かにできるのが素晴らしい(ログを見た感じだと作物の成長速度、アイテム消失速度、ホッパーの移動速度、TNTの爆発威力など)
    これもビルドしなくて使えるので楽
    2018/11/19更新:Paperを使ってみたけどいくつか使えないコマンドを使ったらスパムとしてプレイヤーを自動切断してくれる機能とかもあるみたい
    2019/03/21更新:大手PvPサーバーで使用されているサーバーのフォーク元みたい

    • TacoSpigot
    開発GitHub:https://github.com/TacoSpigot/TacoSpigot
    ver1.8.8のDL先:https://ci.techcable.net/job/TacoSpigot-1.8.8/
    ver1.9以降のDL先:https://ci.techcable.net/job/TacoSpigot/
    対応バージョンはver1.8.8~ver1.10.2、上のPaperより高性能にすることを目的としてフォークされたサーバー。これもビルドしなくて使えるサーバー

    • Torch(非公式)
    開発GitHub:https://github.com/GelandiAssociation/Torch


    • SportPaper
    開発GitHub:https://github.com/Electroid/SportPaper
    Stratus Network(PvPサーバー)で使用されているMinecraft ver1.8のPaperのフォークサーバー、新しいビルドシステムを使用しているみたい

    • CloudSpigot
    開発GitHub:https://github.com/Server24-7/CloudSpigot
    配布先:https://ci.server24-7.eu/job/CloudSpigot/
    Cloudz.mlで使用されているMinecraft ver1.8のPaperのフォークサーバー、Java11を使用して開発されていたみたいだけどJava8でもビルドできるようになっているみたい

    • Akarin
    公式サイト:https://akarin.app/
    開発GitHub:https://github.com/Akarin-project/Akarin
    DL先:https://jenkins.bennydoesstuff.me/view/Akarin/
    対応バージョンはver1.12.2とver1.13、ver1.14.4、ver1.15.2、旧Torchプロジェクトでゆるゆりの\アッカリ~ン/をモチーフにしたサーバー(名前アドがすごい)。新次元のサーバーを目指しパフォーマンス、安定性、改造性を目標としてPaperから派生したみたい。現在アルファ版みたいな感じらしい
    きちんとSpigotのプラグインも使えるみたいです
    AkarinForgeなるものも制作されているのでForgeBukkitの代わりになってくれると嬉しい
    2019/03/21追記:↑AkarinForgeの開発が終了していた
    2019/03/21追記:↑AkarinForgeの開発が再開してた

    3.BukkitForgeサーバー系列
    Forge環境でBukkitプラグインを動かしたいって人もいなくはないと思う、そうに違いない
    一部ツールが使えないとかプラグインが微妙に動かないなどあるけど一部がSpigotになっている強力なサーバーなので使いみちは十分、また1.7.10で動くCraftBukkitのサーバーはこれを使わないとダメ
    ForgeBukkitもCauldronも配布が終わっててすべて後継開発のものの紹介となります
    • KCauldron
    SourceForge:https://sourceforge.net/projects/kcauldron/
    対応verは1.7.10、Cauldronの後継開発のサーバー。以外にThrmosの公式より少しだけメンテされてたみたいです。Spigotのプラグインは使えないみたい
    2019/04/16:リンクを更新

    • Uranium
    開発GitHub:https://github.com/UraniumMC/Uranium
    対応verは1.7.10、KCauldronから沢山のバグ修正とパフォーマンスの最適化を行ったサーバー。去年までメンテナンスがされていたみたいですが現在はダウンロードサーバーが落ちている始末。だが可動しているサーバーもあるためビルドさえすれば動くのかな?
    2019/04/17:ダウンロードURLも開発も復活して、きちんと動作するみたいです

    • Thrmos
    公式サイト:https://cyberdynecc.github.io/Thermos/
    開発GitHub:https://github.com/CyberdyneCC/Thermos
    対応verは1.7.10、KCauldronからパフォーマンスの最適化とバグ修正、そしてSpigotのAPIを組み込んだサーバー。2年間更新がなくメンテもされていませんが私のGTNHサーバーでバグも少なく安定して稼働しています(パフォーマンスも十分)
    プラグインも大抵のものが使えるのとビルドしなくていいのがとても嬉しい

    • Thrmos非公式版(その1)
    公式サイト:https://mcimaginarium.github.io/Thermos/
    開発GitHub:hhttps://github.com/MCImaginarium/Thermos
    対応verは1.7.10、上のThrmosをフォークしてバグ修正とある程度最新版まで対応させたサーバー。まだ開発が続いているみたい
    2020/05/10追記:URLを変更。なんか最近になってからURLが変わって復活、そしてバグ修正とリリースが来てた

    • Thrmos非公式版(その2)
    開発GitHub:https://github.com/Timardo/Thermos
    DL先:https://github.com/Timardo/Thermos/releases
    対応verは1.7.10、上のThrmosをフォークしてバグ修正をしたサーバー。まだ開発が続いている?一応今年中にアルファリリースが一回あった模様

    • Contigo
    開発GitHub:https://github.com/djoveryde/Contigo
    DL先:https://github.com/djoveryde/Contigo/releases
    対応verは1.7.10、上のThrmosをフォークしてバグ修正と最適化をしたサーバー。すべてのMODを動かす事を目標とし、去年まで開発が続いていた模様。もうメンテナンスはされてないみたい
    サーバー自体はきちんと動く(私のフォールバックサーバーの一つとして稼働中)

    • Phoenix
    開発GitHub:https://github.com/djoveryde/Phoenix
    対応verは1.7.10、ver1.10~1.12、上のContigoの製作者が作っているサーバー目的はContigoと同じだけどこちらも更新は止まっている模様
    ビルドしたら動くのかな?

    • Kettle
    開発GitHab:https://github.com/KettleFoundation/Kettle
    DL先:https://github.com/KettleFoundation/Kettle/releases
    対応verは1.12(ver1.7.10版はあるみたいだけどリポジトリがアーカイブになっている)、上のContigoをフォークして作られたサーバー。ContigoにPaperのパッチなどを当てているためパフォーマンス向上も果している模様。2019/2/22に新しくリリースされたばかりのサーバー

    • CatServer
    開発GitHab:https://github.com/Luohuayu/CatServer
    対応verはver1.12.2、ForgeとSpigotを融合させたパワフルで新しいサーバーを目指して開発が行われているみたい

    • Svarka
    開発GitLab:https://gitlab.com/SantaGitHub/Svarka
    対応verは1.10.2、まだ開発色が色濃く残るサーバー。特徴とかなーんにも書いてない

    • Atom
    開発GitLab:https://gitlab.com/AtomMC/Atom
    対応verは1.12.2、高性能かつBukkitとForgeが安定して動作するサーバーを目指して開発が進められてる。ビルドも必要ないから楽に使えるのもよし
    2020/05/10追記:Atomの開発が終了?、リポジトリがアーカイブ状態になってた

    • Atom非公式版
    開発GitHub:https://github.com/josephworks/AtomMC
    対応verは1.12.2、Atomフォークのサーバで色々と更新中みたい

    • Mohist
    開発GitHub:https://github.com/Mohist-Community/Mohist
    公式サイト:https://www.mohist.red/
    対応verは1.12.2、1.15.2、AtomをベースにPaperのパッチを当てた中国生まれの高性能サーバー。Kettleと同じくPaperのパッチがあたっているが安定しているAtomをベースにしているのでこっちのほうが性能が高いかもしれない

    3.まとめ
    いろいろなサーバーの種類をまとめたけど用途別に使うなら以下のサーバーを使うのがおすすめかな
    ・Minecraftのサーバーをとりあえず建てたい!! → Minecraft公式サーバー
    ・プラグインは使わずに大規模なサーバーを建てたい!! → cuberite
    ・プラグインをいれるサーバー建てたいけどめんどいのは嫌だ!! → Spigot
    ・いろんなプラグインを使っていろいろとやりたい!! → Glowstone
    ・MinecraftのサーバーとWebページを同時に建てたい!! → Cubed
    ・プラグイン入れた状態で高速かつ高機能なサーバーを建てたい!! → Paper
    ・1.7.10のSpigotサーバーを建てたい!! → Contigo
    ・1.10.2以降のForgeBukkitサーバー(Spigot)を建てたい → Atom
    ・名前に惹かれるようなサーバーを建てたい!! → Akarin もしくは Phoenix、CatServer、Rainbow

    それではよきMinecraftライフを
  • MinecraftのサーバーをWindowsからCentOSに変更したお話(2019/03/22更新:「Mate Desktop」と「Mozc」を追加しました)

    2018-10-15 22:06
    9/20のサーバーアップデート「Code:Orion」のときにMinecraftのサーバーをWindowsからCentOSに変更しました、その時の記録を残しておきます参考になれば

    2019/03/22:デスクトップを「Mate」に変更したお話とMozcを入れた時の話を追加

    • 変えるメリット
    デメリットが微妙に大きいので人によってはないかもしれない。まずはLinuxに変えるメリットデメリットを
    ・Linuxに変えるメリット
      サーバー用のOSが無料で使える(一般向けのWindowsだとライセンス的にグレー)
      コマンドでOSを直接操作程度できる
      勝手にアップデートして再起動することがない(アホみたいな大型アップデートもない)
      NTFSを頑張ったら読めるようになる
      OSの文字コードUTF-8に統一されるのでプラグインのコンフィグに日本語があっても文字コードを気にしなくて良くなる
      Minecraftのサーバーが落ちても自動で起動できるようなシェルスクリプトを書ける
      Minecraftのサーバーのログがゲーム内の色と一致する
      コマンド打っている途中にログに流されない
    ・デメリット
      一部ツールが使えない(MCEditとかNBTExplorerとか)
      エラーとかを解決したりするのに英語の知識がいる
      一部ツールはビルドやコンパイルが必要になるのでプログラミングの知識が多少いる
      Google先生と仲良くならないと辛い
    Linuxに変えるメリットで一番大きいのは勝手にアップデートしない点とサーバーが落ちたら自動再起動する点が大きいと思う。
    次はその中でCentOSを使うメリットデメリットを
    ・CentOSのメリット
      10万以上するRedHatLinuxのクローンOSが使える(将来役に立つかも?)
      ベースがエンタープライズのOSなので圧倒的な安定性
      サポートも長い
      高速なファイルシステム「XFS」が使える
    ・CentOSのデメリット
      日本語の記事が大抵古い(使えるものもあるけど使えないものもある)
      Ubuntuで使えてCentOSで使えないものもある(Chromeリモートデスクトップとか)
      マウスによる複数選択ができない(GUIにもよるかもしれないけど)
    実際に使ってみて運用して見てこんな感じです。ほぼ24時間可動させるようなMinecraftサーバーじゃなければ最初はUbuntuあたりから始めたほうがいいかもしれない、両方共サーバー版(サーバー用パッケージ)を入れるとCUIから始まりますが・・・
    私は圧倒的な安定性とXFSとサーバーのお勉強のためにCentOSを選びました
    次の項目から実際に運用するまでの記録を書いていきます

    • 移行する前の準備
    今回のサーバーOS移行の目標は以下のとおりです
    ・元々可動していたMinecraftのサーバーはそのままでOSをWindowsからCentOSへ移行
    ・サーバーのパーツを色々と増設する(SSDを2つ追加)
    ・Minecraftサーバーファイルの階層を変更
    移行前のサーバーの状態と移行後のサーバーの状態は以下の通りです
    移行前移行後
    OS 1Windows10 Home 64BitWindows10 Home 64Bit
    OS 2なしCentOS 64Bit
    CPUCore i7-5820K(定格)Core i7-5820K(定格)
    メモりF4-3200C16Q-16GRK(DDR4-2133動作)F4-3200C16Q-16GRK(DDR4-2133動作)
    マザーボードGA-X99-Gaming 7 WIFI(rev. 1.0) BIOSver:F23cGA-X99-Gaming 7 WIFI(rev. 1.0) BIOSver:F23c
    SSD 1Samsung 850 Pro 256GBSamsung 850 Pro 256GB
    SSD 2なしSamsung 860 Pro 256GB
    SSD 3なしIntel 800P 118GB
    (冷却:SilverStone M.2 SSD Cooling Kit)
    HDD 1WesternDigital Black 3TBWesternDigital Black 3TB
    HDD 2HGST 500GBHGST 500GB
    MinecraftサーバーThermos ver1614 Build58ALPHA(GTNewHorizons ver2.0.5.1)Thermos ver1614 Build58ALPHA(GTNewHorizons ver2.0.5.1)
    プラグインVault
    NewHorizonsServerCore
    MCBans
    PermissionEX
    AutoSaveWorld
    LunaChat
    みんとちゃん
    DynmapCBBbridge
    Vault
    NewHorizonsServerCore
    MCBans
    PermissionEX
    AutoSaveWorld
    LunaChat
    みんとちゃん
    DynmapCBBbridge
    なのでそれに伴う準備を行います
    1.CentOSのインストーラを用意する(USBで準備しとくと早い)
    2.Minecraftサーバーを止める(きちんとした方法で止めること)
    3.Windowsで使っていたネットワークの設定をメモる(CentOSの場合、手動でネットワーク設定を行う必要があり自動でやってくれないのでメモりましょう。IPとかも変更する場合は必要ないですが変更したくない場合は必ずメモること)
    3.各種プラグインのコンフィグファイル一式をメモ帳で開き文字コードをUTF-8へ変更(あとで変更できますが一部文字列がバグった状態になるのでやっておきましょう)
    4.Minecraftのサーバーファイル及び必要なファイルのバックアップを別の外付けドライブなどに取る(Dynmapはファイル数が多いのでマップデータはあとで描画できるため動かさなくていい気がする((Minecraftのサーバーフォルダ)\dynmap\web\tilesの中にあるディメンションごとのフォルダ内にあるct、t、flatが描画データ))
    5.最終確認をしてWindowsを完全シャットダウンする(Shift押しながらシャットダウンする)
    次から本格的な移行記録

    • 移行作業記録
    1.CentOSを入れる用のSSD(Samsung 860 Pro 256GB)を増設する
    2.付け終わったらそれ以外のSSDとHDDが外れていることを確認してCentOSのインストーラを接続しインストーラーを起動
    3.CentOSをSamsung 860 Pro 256GBに入れる、今回は最小構成でインストールをする(インストールする際のネットワークの設定に上でメモった設定を入れる)
    4.インストールが終わると再起動してパスワードを打ち込んでCentOSのCUI画面になる
    5.今回はModサーバーでプラグインやらModやらファイルをごちゃごちゃ弄るのでGUIを入れる(今回は「sudo yum -y groupinstall "Server with GUI"」と打ち込んでServer with GUIをインストール)
    6.インストールが終わったら、「sudo systemctl set-default graphical.target」と「systemctl get-default」と入力しgraphical.target に変更する
    7.6が終わったら「reboot」で再起動
    8.デスクトップ画面が表示され初期設定が始まるので行う
    9.初期設定後ターミナルを開き「sudo yum update」でシステムのアップデートを行う
    10.9が終わったら「reboot」で再起動
    11.再起動後ターミナルで「java-version」と入力
    12.11でOpenJDKなら誤動作を防ぐため消す(「sudo yum remove openjdk-8-jdk」と「sudo yum remove openjdk-8-jre」で消えるはず消したあとに一応「java-version」で確認しておく)
    13.次にOracleからLinux 64bit版のJDKをダウンロードしてくる
    14.ターミナルでダウンロードしたフォルダまで移動し「rpm -ivh <ダウンロードしたファイル名>.rpm」でOracle JDKをインストールする(一応「java-version」で確認しておく)
    15.CentOSを一度シャットダウンしてIntel 800P 118GBと外していたHDDをつなげる(HDDだけ)
    16.CentOSを立ち上げIntel 800P 118GBをXFS(サーバー本体の保存場所のためXFSで)、WesternDigital Black 3TBをEx4(XFSでも良いがメモリを食うのでEx4で(ホントはZFSが良かったがどうやっても入らなかった))、HGST 500GBをFat32でフルフォーマットをかける(XFSでフォーマットできない場合は一回Ex4でフォーマットを掛けてやればできる)
    17.外付けHDDがNTFSなのでNTFSを読めるようにする(「sudo yum install ntfs-3g」でNTFS-3Gをインストール)
    18.Intel 800P 118GBにMinecraftサーバー用のフォルダを作り外付けHDDからサーバーファイルをコピーする
    19.SSDの容量的にDynmapとバックアップのデータは置けないのでサーバーのフォルダ内でターミナルを開きWesternDigital Black 3TBに実データを持つシンボリックリンクを作る(「ln -s <Dynmapのデータ置き場所> dynmap」と「ln -s <Backupのデータ置き場所> backup」)
    20.19が終わったらサーバー起動用のシェルスクリプトを編集する(今回はModpackのサーバーファイルにあったものを編集して再起動時間を30秒後へ、Javaの起動オプションをWindowsと同じにした)
    21.シェルスクリプトを実行させMinecraftサーバーを一度起動させる。問題がないかチェックを行う(シェルスクリプトファイルがある端末を開き「bash <シェルスクリプトファイル>.sh」で起動する。起動する際は毎回この作業を行う(めんどくさかったら自動化もできるらいし?))
    22.サーバーの問題がなければ一度サーバーを閉じる
    23.ファイアーウォールの「25565」番ポート(Minecraftのサーバー通信用)と「8123」番ポート(Dynmapの通信用)の通信を許可する(「sudo firewall-cmd --permanent --add-port=8123/tcp」と「sudo firewall-cmd --permanent --add-port=25565/tcp」を入力しSuccessと出たら「sudo firewall-cmd --reload」と入力、「sudo firewall-cmd --list-all」と入力し25565番と8123番ポートが開いてることを確認する)
    24.fstabを編集しIntel 800P 118GBとWesternDigital Black 3TBを自動マウントできるように設定する(「sudo blkid /dev/sda」でディスクのUUID情報をとってきてそこから「sudo vi /etc/fstab」でfstabに書き込む)
    25.SSHのデフォルトポートを変更しておく(「sudo vi /etc/ssh/sshd_config」でコンフィグを開き、ポートを好きな番号に変更しておく)
    26.CentOS自体を再起動
    27.問題なく自動マウントも成功したらサーバー起動で移行作業終了

    • デスクトップを「Mate」、入力を「Mozc」にしてみた
    1.まずは「sudo yum install epel-release」でEPELのリポジトリを使えるようにする
    2.次に「sudo yum groupinstall "X Window System"」ウィンドウ関連のシステムをインストール
    3.次に本体であるMateデスクトップを「sudo yum groupinstall "MATE Desktop"」と入力し入れる

    4.インストールが終わったら、「sudo systemctl set-default graphical.target」と入力し、デスクトップが起動するようにする(入力後「systemctl get-default」で「graphical.target」となっていたら成功)
    5.「sudo vi ~/.bashrc」と入力し、以下を一番最後に挿入
    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
    export LANG=ja_JP.UTF-8
    ibus-daemon -drx
    6.Googleの日本語入力を使用するためiBus-Mozcを以下の順番でコマンドを実行し導入、導入の順番は守らないと動きません
    ・sudo yum install protobuf
    ・sudo yum install zinnia
    ・sudo yum install zinnia-tomoe-ja
    ・sudo yum install mozc
    ・sudo yum install ibus-mozc
    6ex.これで全角半角がうまくいかない場合、コントロールセンターからキーボードを選択。レイアウトのタブから追加を選択し日本語の日本語(OADG 109A)に変更する
    7.これで再起動を行い作業は完了です