電気科の苦悩

色々やっています

minecraft マルチサーバを自作する

はじめに

 複数の友人とVCを繋ぎながらminecraftの工業化MODを導入したマルチプレイを行っているが、私のPCがサーバ兼クライアントの二役を担っている為、動作が重い。そこで部屋にあったlenovoのスリムタワーに適当なLinuxOSを入れてサーバはそいつに任せる事にした。しかし単純な手順では上手くいかず実質自作PCを新しく作るような形になった事のメモです。

 最後の章に本記事で出てくるマシンとソフトの状況が書かれているので参考程度に見ると良いかもしれません。

 

 

一番安直な方法

 元々win7の入った5年前くらいのpcでした。スペックをまとめると次のような感じ。

  • 第2世代corei5
  • RAMは8GBが刺さってた
  • HDD WDの青いやつ500GB
  • 電源はよくわからんけど250Wぐらいのやつ。中国製
  • win7 home

後で調べてみた所、H520s 47462SJであることが判明。3万円程度のデスクトップPCだった。結構安い。

 

f:id:kstk25:20181016183925j:plain

上記価格.comの紹介サイトより

 

 まずこのpcに新規でcentOSを入れようとした。半年以上前の事なので、詳しくは覚えていないがOSのインストールは出来たと思う。インストール後にHDDから起動したらbootディスクが無いぞ!みたいに怒られてしまった。OSのインストール失敗かマザーから弾かれたか分からないが、マザーが悪いという事にして諦めた。エラーは1962の「Error 1962:No Operating system fouund. Press any key to repeat boot sequence.」というもので、トラブルシューティングも面倒だしlenovoのPCはこの手のエラーがよく出るらしく、色々試して出来なかったのでMBを変えればいいやとして放置に至った。

 

じゃんぱらマザボを買った

 秋葉のじゃんぱらでアスロックのマザーであるH67M-GEを買い、組み立てた。店員曰く、ドスパラのPCから奪い取った物らしい。第3世代は対応してないぞみたいなこととバックパネルは無いぞと言われた。lenovo電源を流用したらCPU用の電源の端子が8pin要求されたのに電源側は4pinしか無くて詰んだ。どうやらメーカ製のpcのマザーボードの中には未だcpu電源供給用のピンがATX12Vになっているらしく、それは4pinなので電源も対応して4pinになっていた模様。購入MBは割と新しめな方なので旧式のATX12VでなくEPS12Vが付いており、これは8pinなのでガバガバになってしまったようだ。タチの悪いことに、中途半端な互換性がありEPS12V対応の電源からATX12VのMBには刺せる(8pinが2つに分かれていて、片方を刺せば使える)。しかしATX12V対応の電源からEPS12Vに刺そうとすると、EPS12Vの片側4pinにしか刺さらず、さらにその状態で起動するとcpuのファンのみ回り、cpuは動かない。(実験した)

 

 

千石で変換ケーブルを買う

 結局無理だったので秋葉原の千石に行って変換コネクタを買った。場所は秋月の近くのケーブルいっぱい売ってるとこ。買ったのはATX12V-EPS12Vの変換ケーブルでamazonでも売ってた。店頭の方が安いよ。

 その際にCPUクーラーやSATAケーブル、グリスなど必要そうな物を買った。全て合計して1000円程度です。

 ちなみに買ったのはこれ

f:id:kstk25:20181016184318j:plain

amazonより

 

 

 

ハードウェアの組み立て

 話が前後しますがそこは考えない。まずlenovoのスリムタワーを分解してdvdドライブとcpu、HDDを取り出します。lenovoは比較的分解しやすいpcかもしれませんが、最後のHDDの取り出しは手こずりました。ケース内にHDDの格納場所が嵌め込まれており、さらに見にくい所にネジが隠されていて面倒でした。ネジを全て外したらスライドさせるだけで簡単に取れます。

 次のようにバラしていきます。

 

f:id:kstk25:20181016184732j:plain

 

パネルを外すとこんな感じ。手前の長方形の物体が電源、右側の真ん中にあるのがHDDとDVDドライブ。これらを外していきます。

 

f:id:kstk25:20181016184937j:plain

 

すっきりしました。HDDのマウンタがこんな感じになっている。

 

f:id:kstk25:20181016185137j:plain

 

この溝をスライドさせて外すわけです。

 

f:id:kstk25:20181016185235j:plain

 

全て分解するとこう。

 次にじゃんぱらで買ったMBに乗せてから配線をします。今回は知人達の勧めでケース無しの裸で組みます。ショート防止のために木の棚に置き、かつ下にプチプチを敷いて絶縁します。まあ、普通に自作pcですしケースがないのでフロントパネルの配線の必要が無く、30分程度で組み立て終わりました。

 組み立ての様子は次のような感じです。

 

f:id:kstk25:20181016185453j:plain

 

CPUをMBに載せてから各種配線をします。

 

f:id:kstk25:20181016185620j:plain

 

特にトラブルもなく、組み立てが終わりました。

 次に裸だと電源を入れるのが面倒なのでPCの電源スイッチを付けます。pcの電源スイッチの原理は簡単で電源絡みのピンがMB上の端の方にあります。

 

f:id:kstk25:20181016185904j:plain

 

解読の仕方としてはresetとか電源系のことがMB表面に書いてあるので分かると思います。そうしたら電源をONにすると思われるピンを探します。2つピンがありこれらを短絡させると通電して起動します。いわゆる通電確認はここでドライバーなどを使って最小構成で起動確認を行うわけです。毎度毎度ドライバーで通電させるのは短絡箇所を間違えて鯖を破壊しそうなので電源スイッチを自作します。押した時だけONになり離すとOFFになるスイッチを持ってきて、メスのQIコネクタの片方を切断して線をスイッチにはんだ付け。テスターで動作を確認して押した時だけONになっているか見ます。それを電源制御の針山に刺して、電源スイッチの完成です。これで押すだけでONにできます。OFFはスイッチ長押しで出来ます。ちなみに上の図では赤いスイッチがそれです。言うまでもない。

 次に通電して起動確認します。

 

f:id:kstk25:20181016190040j:plain

大丈夫そうです。最後に母艦のPCでCentOS7のインストール用USBを作っておきます。使ったソフトはRufusで、USBはアキバで買った東芝の32GBのやつ。

 

ネットワークの設定

 物理層、乃ちハードウェアの組み立ては終わったので次はソフトウェア側であるネットワークの設定です。

 次はBIOSをいじってCentOS7をインストール。USBを起動順位の1位にしてreboot。インストールが始まります。ローカルIPアドレスだけメモしておきます。SSH接続とポート開放時にそれを指定する必要があります。後からでも設定は出来るのでどちらでもいいですが・・・

 

f:id:kstk25:20181016190259j:plain

 

Centが起動しました。CUIはヲタクっぽくてかっこいいですね。まずは母艦のpc(windows10)とSSH接続します。ソフトはTeraTermを使います。初期状態でcentのSSHは起動してたのでやってみます。弾かれました。根元のルーターに母艦と鯖のLANケーブルを刺し変えたらローカルIPを指定してうまく入れました。そしたら公開鍵認証に設定してセキュリティを確保。これでSSHを使って母艦から遠隔操作できるようになりました。これからは母艦から作業します。

 最後にhomeディレクトリにminecraft用のフォルダを作り、インストールをしたら今まで使ってきたデータを移行して完成。ポート開放も忘れずにやっておきます。

 

動作確認

 とにかく動きがスムーズになりました。詳しいFPSなどは後で載せます。前はMobの動きがカックカクでしたが、滑らかに動いています。動作中のクライアントのFPSも概ね50を超えており、カクついたりチャンク抜けする事も無くなりました。MOBが大量に湧いている所、鶏の屠殺場やラッチのあるRS回路などを画面に入れるとFPSが下がりますが、これは鯖の性能ではないので問題なし。通常の草原で視野をNormalにすれば100FPS程度出ます。

 

まとめ

・サーバスペック

  • CPU corei5 2320
  • GPU CPU内蔵
  • RAM 6GB
  • ROM HDD WD青500GB
  • MB H67M-GE (ASRock)

 

・クライアントスペック

  • CPU corei7 3770
  • GPU GTX660TI (GIGABYTE)
  • RAM 16GB
  • ROM  HDD 2TB
  • MB P8H77-V (ASUS)

 

・ブロードバンド状況

  • プロバイダ plala
  • サービス名 ドコモ光
  • ルーター PR-S300HI
  • 下り速度 188.6 Mbps
  • 上り速度 91.6 Mbps

速度はgoogleスピードテストで測定しました。これ意味ある? googleスピードテストがあった事に驚きました。

 

minecraft MOD

  • Ver 1.12.2
  • JEI
  • pam’s harvest
  • Extra Utilities 2
  • Mekanism
  • 一括破壊系MOD
  • OptiFine

工業化と農業が少々入っているだけです

 

・クライアントとサーバを兼ねた時の問題

  • 自分以外のクライアントのFPSがpcスペックによらず30を切る。酷い時は1桁になってたらしい。
  • 自分がインしなければマシになる
  • 母艦のCPU使用率が常に70%を超える

 

自鯖を作った結果

  • 自分以外のクライアントのFPSが著しく向上。スペックと設定によってはFPSが800に行くようになった。
  • 自分がインしても通常通りプレイ可能
  • 鯖で専有していたCPU使用率分、メモリ専有量は無くなり母艦の動作も快適になった。