調べることはありますか?
内容の一覧
< すべてのトピック
Print

マインクラフトサーバの話2(どういうパソコン、基本ソフト(OS)で動かすのがベストだろうか?)

2.マインクラフトサーバにベストな環境はなにか?

では、マインクラフトサーバに必要でベストな選択は何でしょうか?ズバリ言えば

<古い言語であるJavaが速く動くこと>

です。

(1)パソコンについて

実はどんなマシン(コンピュータ)でもJavaさえ動いてしまえばマインクラフトサーバ(以下サーバ)は動きます。最小ではラズパイで動かしている人がいます。OSにLubuntu(Linux)が使えるためにJavaのバージョン17をインストールできます。そのためサーバはとても小さく弱いながら動くんです。

反対に最新のマシンでも動きます。つまりはJavaが動けばどうとでもなるんです。いらない何ギガバイトのメモリを作って、さらに速さのためにSSDより早いRAMディスク(メモリをディスクとして使うこと)までして、最速最新でとっても軽く動かすことができます。

じゃあどうすればいいの?どうやって選ぶの?

①Javaについて知ろう

まず、Javaについて知りましょう。Javaは1990年代から作られた言語です。一番のJavaの売り文句はどのプラットフォーム(どんなパソコン、OS)でも動くことです。そして、そのころまだCPUにコアが何個も乗ることは考えていませんでした。ですから、Javaは仕事を割り振って多くのコアで動かすことは元々は想定していなかったんです。今ですら、そういった多数のコアを使うプログラミングの仕方を持ってはいますが、今流の言語とは違って自動的に割り振っくれるとはほぼ言えないものです。だから、

★Javaは基本的に1コアしか使わない

のです。だから、サーバ屋さんはいっぱいのコアが10個とかを売り文句にはしないのです。

②マイクラサーバのマルチタスク(仕事をいっぱいしているように見せる方法)について知ろう。

1.TPSとはなにか?

TPSとは、 Ticks Per Second の略で、「1秒あたりのTick数」を示しています。端的にいうと、TPSはサーバー機の処理能力の指標です。最悪が0TPS(動いてない)から通常の無負荷に近い正しい動作が20TPSと決めてあります。

・Tickとは?

言葉から言えば、時計の「チックタック」の「チック」です。^^。20TPSが正常なら1Tickは1秒÷20で0.05秒=50msとなります。

マインクラフトのプラグラムは全体の処理が時間通り動くために、イベント処理群(何かあることのいっぱい)をまとめて無限ループさせて動かしています。はい、無限ループ(´・ω・`)ガッカリ・・・これって今じゃ<かなーり>原始的な方法です。

★マイクラサーバのマルチタスク処理の方法は今ではもう古い感じです。

例えば
雨天時の落雷判定
水が凍ったり、雪が積もったり、雨が大釜に溜まったりする処理
植物・キノコの成長判定
氷や雪が解ける判定
せき止めた溶岩が消える処理
ネザーポータルからゾンビ豚がスポーンする判定
レッドストーン回路の処理
トロッコ等乗り物の移動処理
マップごとの時間の経過

全体として(プレイヤーがいる周りに限ってのことが多いですが)こういうことを起こったときにではなくくるくる回して処理してるんです。(いまなら起こったときに動かせ=イベントドリブンすれよって言いますね。そうしてワールドごとにコアを割り振るなり考えてくれってね:foriaProjectがこれにあたります)

これらの処理が50ms(0.05秒)内に終われば正常=1秒に20TPSというわけです。

★サーバにとってみれば結局50ms以内に1周りが終われば何でもいいのです。

◎まとめ

Javaは基本1コアで、ModやPluginによって数コアしか使いません。多くたってサーバ屋さんの言う6コアでしょう。そして、サーバは無限ループという時代おくれの方法で全部が50msで終わると正常といいます。ここから言えることは。

★せいぜい6コアまでが高効率でJavaが動けばなんでもいいということ

です。

もしかしたら、ベンチマーク(パソコンがどのくらいの能力があるかの試験結果)でシングルスコア、マルチスコアという言葉を知ってご存じかもしれません。このシングルはコア1個でどのくらい高効率なのかですし、マルチはコア全部で手分けをしてどのくらい高効率かを表すものです。

Javaは基本的にシングル(1コア)ごとにプログラミングすることになっています。そこで1つのコアが高効率であることしか興味はありません。現在配られているMojang派生のサーバを最高に動かしたいなら、

★何十万するCPU買って、たった数コアの超高効率コアでJavaが動けば当然ベストです。

でも、マインクラフトはクライアント側が余っているのが現実です。だから自分がしたいことをやって公開しても誰も入らなくなるでしょう。だったら、近くにあるもの(例えばお古のノートパソコン)使ってやってみればいいと思います。

 

(2)OSについて

前回サーバだからサーバ版をという相当おバカな結末を話していますので。まずはそこは見てくださいね。

Javaは1990年代に生まれた言語です。さて、インターネットが流行ったのはWindows95からでしょう・・・・考えてみましょう。あれからWindowsは相当量の機器がつながれるようになっています。相当量のCPUにも対応します。そのために一番原始的なドライバでとりあえず表示はしておいて・・・そのあとで多くはネット越しでPnP(プラグインプレイ=つなげば使えるようになる)でドライバを探して適用してくれます。

便利になりましたね・・・・いやまてよ!なのです

今売ってるほとんどの機器に使えるようなPnPってつまりはいままで人がしてきたことを、代わりにすべてWindowsがサービス(裏で動いているプログラム)としてしているということです。PnPだけとってもそうなのに、Windowsが裏でしていることを考えて見てみてください。はっきり言って特定の特別な機器についてもその機器の会社がMicrosoftにお金を払いさえすれば取り上げてくれるんです。

また、Windows-Serverは、今度は企業向けのスタイルです。堅牢で・速く動かすものです。しかも、ライセンス料払って最新で外につなげないと、家庭内LANにウイルスを呼び込む可能性はあります。企業向けOSのハッキングはクラッカーのしたいことNo.1でしょう・・・

残るもの、それはLinuxです。

つまるところ最悪値でもラズパイのLinux上でマイクラサーバが動くんです。しかもラグなくです。ラズパイでWindows動きますか?www

(というと、サーバ版Linuxをという困ったサン^^がいますが、その1読んでくださいね。w)

Linuxってもいろいろあります。Linuxで苦行とともにLinux道を重んずるならArch-Linuxを使いましょう。

みんながWindowsの代わりに使っていて、いまさらCore2のノートパソコンでもSSDなら軽ーく動くUBUNTUでいいです。(とくに私はUBUNTUに関してのアプリ等を出していますが・・・)UBUNTUは利用者が多いので困ったことに対する答え(つまりFAQ)が多いのです。

スペック上メモリは4GBからとなっていますが、これはアプリをWindowsなみにそろえた結果です。核(Kernel)はLubuntuと同じで、UBUNTUからLubuntuにすることもできるのです。Lubuntuの最低RAMは512MBです。いやはやいいまさら聞かないMB単位なんです。

というわけで、私はUBUNTU通常版の最小インストールで使うことを推奨します。

Lubuntuのほうがというでしょう・・・でもそれではちょっと足りないんです。たった100MBくらいくれれば、RDPが使えます。以下のようなサーバ監視画面が作れるんです。

※UBUNTUの標準機能Reminaで各サーバ(5つのサーバ)のWindowを表示しています。1サーバでは、左から電源管理、グラフはCPU温度(右にサーバ管理画面です)反対に言えばこの画面はサーバ版の場合出せません。結局問題の類推をするにもコマンドを打たないと表示が出ないのがサーバ版なんです。

実はこの画面は、Windows11のリモートデスクトップでやろうとしましたが、バグがあってできませんでした。それほどWindows自体は100人以上のかかわる巨大なプロジェクトOSであって細かいとことはつかう人がいないので直してはくれないんです。

 

(3)最小から、価格比効率最大までのつくり方を考えよう

上のことがわかれば、最小から。最大価格効率までの構成の仕方がわかってくるはずです。

①最小構成

ラズパイでLubuntuを動かしてJavaを動かせば、マイクラサーバは動きます。拡張性はなし。ModもPluginもDatapackもほぼ入れられないでしょう。また、ワールドが大きくなったらストレージ(microSDだったはずです)にも入りません。終わりです。

②価格比効率最大

価格比効率を最大にするには、高効率コア数個のCPU、RAMが8GB以上、SSDが120GB~1TBある一番安いPCであればいいのです。

最低価格で最高のCPUを得るには、時勢としてWindows11が見限ったマシンを中古で買うこと(7th以下のCPU)が期待値としては一番大きいでしょう。中古市場を見てみましょう、一番高効率コアで比較単価が安いのはノートPCでHQタイプのCPUを持つものです。(売られている際にはGPUもないのにゲーミングノートと言われていたはずです)そこで一波乱が起きます。

★ノートPCはサーバにしてはいけないというちょっと乱暴な噂があること

意見としては以下のものがあります。

A.ノートは24時間起動するようにはできていない
ーー>噂です。(品質管理上減価償却以上の時間動くはずです)

B.熱処理ができていないので燃える、実際に燃えた
ーー>100℃でクロックダウン、150℃程度で温度ヒューズが飛びます。その温度で燃えるってどこまで燃やすようなずさんな管理してたんですか?

C.電池が膨らむ、爆発する
ーー>Li-ion電池ってガラケーの頃からあったんですが・・・燃えたり膨らんだりしましたか?一番問題になってるiPhoneは利益最大化のため韓国から不純物入りLi-ion電池を買ったんでしょ。そして燃えたのはテスラの車です。これも韓国や中国製のLi-ion電池です。国産メーカーの例を挙げてください。いやなら取り外せばいいんです。それだけです。

総じて、管理もしないのに電気加えてたら燃えたとか言われても何の意味もありません。

★正しく管理することで10年以上も交代しつつ動きます。(ほぼ5年交代です)

いまこのWebの表示を見ていますよね。このWebページをお送りしているのは、中古のノートPCでフルレストアしたものです。Web用なのでもちろん24時間稼働です。

4世代にわたり使っています。初めは「レッツノートPRO CT-L2」UBUNTUは8.04です。つまり2008年です。今は4代目「Let’s note CF-NX4GDJCS 」UBUNTUは22.04つまり2022年です。都合14年つかえているんです。この事実があるのに、なんで燃えるとか、電池がとかいえるんでしょう?さっぱりわかりません。

〇一番大事なのは、レストアして常時管理することです。

✖一番まずいのは、方法をしらずにほおっておくことです。(さらに文句をいうことです)

◎適切な知識のもと安全で管理の行き届いた動作をさせれば問題はありません。

はっきり言いましょう。お金ないから頭使えばいいんです。旧サーバのXeonのガラクタや・セキュリティアップデートの切れたWindows Serverを後生大事にして「サーバ持ってるぜ~うぇうぇ」言ってるのはちょっとおかしいかなと思います。

1.レストアの仕方は覚えましょう。(分解方法はYOUTUBEにだいたいあります)

HDDからSSDの交換、RAMの増設、ヒートシンク周りの掃除と熱伝導グリスの塗り直しは自分でしましょう。

2.管理はさっきのような画面でできますし、週1のバックアップは当たり前です。

バックアップの際に、必ず本体をアクセス(ご対面)します。不具合はそこで分かります。

◎2023年現在一番コスト比の高い高効率CPUはなんだろうか。

このことはすこしばれてきたので、ヤフオクでは実は相場が上がってきています。個人売り(メルカリ)だと知らないで安い場合もまだ多いとおもいます。

それは、i7-6700HQから上のHQーCPUを持っているノートです。代表的なのは、

 

FUJITSU FMVA50XWP LIFEBOOK AH50/X Core i7 6700HQ 2.60GHz 4GB 500GB

ー>これをフルレストアして、RAM16GB,SSD500GBにします(CPU4コア,RAM16GBになります)。総じて20,000円程度です。5年越しの利用と見れば、20,000/12/5=333円/1か月です。いくらこれに電気代を足しても1,000円行かないでしょう。

つまりは、7th以上になるとWindows11が適用できるので安くならないんです。

●実行例

Java:17
サーバ:PurPur1.20.1-2062.jar
plugin:AitiPopup6.2,CoreProtect,DecentHolorgams,DiscordSRV,Geyser-Spigot,LuckPerms,ViaBackwards,Viavirsion,floodgate-spigot,Multiversecore,Worldedit,Worldguard

Avg.Tick 0.8~0.9ms

まとめ

1.最小構成はラズパイ

2.価格非効率最大は7th以下のHQーCPUのノートパソコンになるだろうということ。

 

 

Categories
Translate »
著作者:pikisuperstar/出典:Freepik