ItsTeruのMinecraftのあんなことやこんなこと

マイクラの色んな情報を伝えていきますよ~!!

ConoHaのDBサーバ―を使ってSpigotサーバ―のユーザーデータを保存する方法

はじめに

皆さんはじめまして。ItsTeruと申します!Teruさんとかっていう風に呼んでいただけると嬉しいです(*''▽'')今回初めて記事を書かせて頂きます。基本的にこのブログでは、Minecraftを中心に話をしていこうかなと思っています。最後まで記事を読んでいただけるとありがたいです!これからよろしくお願いします!!

今回紹介する内容

今回は皆さんにConoHaのDBサーバ―を使ってSpigotサーバ―のユーザーデータを保存する方法を教えていこうと思います。

皆さんは、SpigotのPluginをダウンロードしようとした際に、 MySQL の文字を見たことが一回は必ずあると思います。私はその文字を初めて見た時、どんなものなのか全くわかりませんでした...w 私以外にもその言葉は知っていても分からないという方が多いと思うので、簡単に説明します。

MySQLとは... 世界中でよく使われているオープンソースのデータベース管理システムのことで、初心者でも導入しやすいのが特徴。(よくわからない方はググってみてください)

で、今回はこのMySQLにSpigotサーバ―で出力したユーザーのデータを保存していきます。ちなみに何故わざわざMySQLでユーザーデータを保存するのかというと、Spigotのpluginでプレイヤーの情報を出力するとき、サーバ―にログインする人数が多くなるとロードするプレイヤーのデータファイルの数が多くなり、サーバ―のラグの原因になってしまうからです。(あくまでも個人的な見解ですw)また、公開されているPluginの中にはMySQLが無いと使えないPluginがあるからです。では早速説明していきます。

ConoHaのDBサーバ―の準備

まず、今回の作業をするにあたってConoHaのDBサーバ―とSpigotサーバ―が必要です。Spigotサーバ―を持っていない方は、申し訳ありませんが各自で入手方法や使い方を調べていただけると幸いです。

では、まずはConoHaのDBサーバ―を購入します。(既にアカウントがあるという前提で話を進めていきます)

まず、

www.conoha.jp

からログインをしてコントロールパネルに移動します。するとこんな画面が出ると思います。

f:id:Hyperbone:20171215214839j:plain

そしたら、右にあるサーバ―追加から購入していきます。

ここからは、重要なことなのでよく聞いておいてください。

まず選ぶタイプですが、アプリケーションサーバを選んでください。

リージョンですが、東京を選ぶことをお勧めします。そしてサービスですが、DB選んでください。 オプションは特にいじらなくていいですが、ディスク容量に関してはお好きなものをお選びください。基本的に10GBでも問題なく動作するので、今回は10GBを選んだ状態で注文します。準備が終わったら、右下の追加をクリックして購入が完了します。さー ここからですよー!

 

Spigotサーバ―側での準備

次に、Spigotサーバー側にMySQLに対応したPluginを導入します。今回はAdvanced BanというPluginを使用していきながら解説していきます。

www.spigotmc.org

Pluginのダウンロードが終わり、Spigotサーバ―に導入が完了したらPluginsフォルダからAdvancedBanというファイルを選択し開けてください。すると、3つのymlファイルが生成されていると思います。今回はその中のconfig.ymlを編集していきます。どこを編集するかというと、

# If set to false all bans will be saved locally in a HSQLDB-Database
UseMySQL: false

の部分を編集します。UseMySQL: false を UseMySQL: true に変更します。変更が完了したら、configファイルを上書き保存してサーバ―を再起動します。すると、AdvancedBanファイルの中に新しいファイル MySQL.yml が生成されているはずです。生成が確認できたら、ConoHaのコントロールパネルに戻ります。

DBサーバ―の設定

さあお待ちかねのDBサーバ―の設定です。まず、先程のコントロールパネルからサーバ―という項目をクリックします。すると、こんな画面が出るはずです。

f:id:Hyperbone:20171215221338j:plain

そこから、ネームタグという所の下の青い文字の部分をクリックします。すると、こんな画面が出てきます。

f:id:Hyperbone:20171215221618j:plain

(ユーザーリストやデータベースリストのところにかかっているぼかしは気にしないでください。)

そしたらまず、データベースの作成を行います。

+データベースをクリックします。すると、データベース名やネームタグを聞かれると思うので、適当に決めたものを記入してください。また、ネームタグは編集しないまま保存していただいて結構です。

続きまして、ユーザーの追加を行います。+ユーザーをクリックして、自分が決めたユーザー名,パスワードを記入します。ユーザー種別は一般ユーザーをクリックし、接続許可ホストには % を記入します。記入し終わったら、保存をクリックしてユーザーの設定の完了です。ではここから先程のAdvancedBanのMySQL.ymlを編集していきます。まだコントロールパネルは閉じないでください。すると、IPやDB-Nameなど書いてあると思います。編集していきましょう。

MySQL:
IP: [グローバルネットワーク名]
DB-Name: [先程のデータベース名]
Username: [先程のユーザー名]
Password: [先程のユーザー設定のパスワード]
Port: [先程のデータベースの接続Port]

このような感じで編集していきます。まずIPとDB-Name,Portの確認方法ですが、先程の

f:id:Hyperbone:20171215223147j:plain

ピンクの矢印が指しているデータベースのネームタグ名をクリックします。すると、いろんな情報が出てくるはずです。そしたらまず、IPの部分に接続先ホスト名と書かれた項目のグローバルネットワークの文字をコピーし、configのIPの部分に貼り付けます。

注意                                     

IP:のところを一マス開けて記入してください。                  Ex- IP: public.a1.data-hosting.conoha.io みたいな感じです。

そしたら、DB-Name,Portも同じ方法でやってください。

続いてUsernameですが、ユーザーリストの下にある青色のユーザー名をクリックします。(先程のデータベースと同じ場所) すると、先程と同じように情報がいっぱい出てきます。あとはconfigのUsernameとPasswordのところに先程と同様に記入してください。

             設定の終了です!!

動作確認

早速spigotサーバ―を起動してみましょう。サーバ―のコンソールに

=====[Enabling AdvancedBan]=====
| Information:
| Name: AdvancedBan
| Developer: Leoko
| Version: 2.1.3-RELEASE
| Storage: MySQL (external)
| Support:
| Skype: Leoko33
| Mail: Leoko4433@gmail.com
| Update:
| You have the newest version
================================

と出たら成功です!!(Storageのメッセージが変わっていることが分かります。)   接続に失敗した場合だと、Storageの横にHSQLDB(local)

=====[Enabling AdvancedBan]=====
| Information:
| Name: AdvancedBan
| Developer: Leoko
| Version: 2.1.3-RELEASE
| Storage: HSQLDB (local)
| Support:
| Skype: Leoko33
| Mail: Leoko4433@gmail.com
| Update:
| You have the newest version
================================

と出ているはずです。MySQL.ymlフォルダの記入内容が正しいか確認してください。

これでMySQLとの接続は完了です!

お疲れ様でした!!

 

一応書いておきますよー

分からない事があったら、

Discord: ItsTeru#5973 か Twitter: @premiumapple にメッセージを送っていただくと対処いたします。また、紹介してほしい内容などありましたら是非送ってください!!非常に助かります!!

 

今後ともよろしくお願いします!!