調べることはありますか?
マインクラフトサーバの話1(知っておくこと)
妖精さんのmifjpnです。見た目は猫ですw
私はそもそもは、UNIXで研究をしていました。(かれこれ20年前)そこでLinuxはもう慣れっこです。そして、Windowsは95が出てからずっと使っています。趣味は自作PCとHackintosh,サーバでのWebの運用(いわゆるホームページ屋さん)です。ちなみにこの文章のWordPressも私が調整したサーバで配布いますし、ここではサーバの一部として、マインクラフトサーバについてのできるだけわからない方にも説明から、実践までを書いてみたいと思います。
1.知っていないといけないこと
(1)PCの基本的な要素について
ここに来れるかたはもう知っているかもしれませんが、一応の確認をしておきます。マイラサーバでよく聞く項目は、①CPUと②メモリ、③HDDやSSDです。
①CPU
多くの貸し出しサーバはCPUが2コアからとなっていますね。4コアで10人程度、11人以上は6コアとか。でもこれって相当あいまいなものなのです。
ますCPUってなにかというと、Centoral Prosseing Unit=中央処理演算装置ということです。つまり人間で言えば「脳みその考えてるところ」ですね。
そしてコア数は何かというとちょっとお話をします。
そもそもCPUというのはプログラムでは一本のことしか出来ないのに、みんなWordやブラウザや音楽ソフトいっぺんに動かしてますよね。実はこの話、WindowsやMacが出始めたいわゆるWindowのもっと前ー>UNIXというまだまだコンピューターがお部屋いっぱいにあったころまでさかのぼります。
そのころのコンピュータはほぼファミコン以下の動きしかできませんでした。でも、最新分野なのです。誰もが使いたいのですが、CPUは1つ(1コア)です。1人で使えばそれでおしまいだったのです。
だからといって、大学はその基礎研究をするところです。みんなで使うにはどうしたらよいかを考えました。結局方法はほぼ2つです。
①イベント(キーを押したなどの出来事)で区切って、他の人に回す。(イベントドリブンー>イベントで動かすみたいな感じ)
②時間で区切って、他の人に回す。(タイムスライスー>時間でスライスして回す感じ)
はい、回すって簡単に言いましたが、ただ単に切り替えるんじゃありません。その人のプログラムの状態をごっそり取っておいてー>他の人のプログラムの状態を入れて(入れ替えて)ー>①、②があるまでCPUをその人に使ってもらうんですね。
極端に言えばそうやってみんなで使おうということにしたんです。だって数千万円もするんですよ、たったファミコンごときでw
とっても簡単に言いましたが。例えば今では古典的な方法として大学でも講義がありますね。
コンピュータシステム – 5.ソフトウェア – 1.オペレーティングシステム – 4.タスク管理
めんどくせーや!コアって何なんだい!
とまあ、基礎は抑えといて。応用は簡単に言います。パソコンって1人で使っててもいろんなプログラムがいっぺんに動きます。Windowの初期はイベントドリブンの流れもありましたが、今のそもそもはタイムスライスで動いています。
●時間で区切りつつ・・・リアルタイムにしてほしい事(動画動かせ!)とか、いくらか待っててもいいよ(HDD内のウイルス検索だから暇なときに)
という風にやってるんです。そこでコアが出てきます。1コアは昔のCPU1個だと思っていいです。2コアなら2個、4コアら4個です。そいつがいっぺんに今のCPUには入ってるんです。(本当は6~10くらい入ってますけど)CPUいっぱいだと・・・そう手分けしてすれば速いってそういうことです。
(きな臭い話):コアって言っても「おバカなコア」から「超できるコア」までいろいろあるんです。ー>つまり、サーバ屋さんはコア数って言ってるけど、何の指標にもなっていません。おバカなコアが30個集まって1コア分だって動きもできちゃうんですから。
でもまあ、いちおうサーバ屋さんはコア数っていうんだからまあ大体標準を狙いましょう。最新の高効率コアなはずがありません・・・儲けを出したいですもんねw。マインクラフトは20年の実績があります。つまりサーバの設計は20年間実は変わっていないようなのです。Javaっていう言語で動くのはなんとなく知ってるでしょ?Javaって1991年に生まれたんですよ。しかもそのころに、全部のパソコンとかで動くといって仮想マシンを作る(非効率だとみんなから言われる方法)ことをしていたのです。
だとすると・・・まぁ、Window7~10が動く程度でしょうか?
てなわけで、コアが多いとコアが手分けしてやってくれるので速く動くってことです。
②メモリ
はい、脳みそのうち記憶する所です。えっと、レンタル屋さんは
2GB→1~4人
4GB→10人
6GB→11人以上
っていってますね。
うーんあまりにも説得力がないですね。だって、何させるかわからないんですよ。
あなたの使いたい機能はきっといろいろな形でJavaのプログラムの1つとして加えていくでしょ。そうすると覚えておくところ(メモリ)ないと動かないでしょ。何するのかわからないのに人数言えますか?(結構あほらしいです。あえて言っておくとここでは最小の構成で最大人数をいっておけばお金の分の意味があるように見えるわけですから・・・ごによごにょですねw)
③HDDやSSD
脳みそに入りきらなきゃ、書けばいいんです外部記憶装置にですね。それがHDD,SSDになります。
えー、あんまりレンタル屋さんを悪くいいたくないですが。
SSDを搭載しているレンタルサーバーであれば、この点について安心して利用することができます。
ですって( TДT)
今どきシステムやアプリ(つまり基礎のプログラム部分であって大きなデータをとっておくのではない)を動かすのはもうSSDが当たり前です。HDD使ってるっていうとまあ10年前くらいのパソコンでしょうか?まあなんとまあ口が上手いんでしょ?嘘は言っていないですからどうとでもいえるんです。
<サーバ屋さんは、具体性が物足りない>
相手がマイクラしか知らないと思って、具体的な例示をしないで、料金きめてるのはちょっとおかしいと思います。
Javaが動くコアっていってもせいぜいWindows7~10程度が動けば御の字です。4コアで16GB=中古のノート15,000円なんです。うまく使えば5年は使えます。一か月300円程度です。
規模が大きくなればVPSもいいですがまずは仕組みを知って自分で遊んでみるのがいいと思います。
(2)サーバと名のつくものを使うのがサーバなのか?
先日こんなことがありました。
★(大手サーバ屋さんが)YOUTUBEで「サーバ版を結局は使うことになりますね・・・」といってからサーバ版のシステムプログラム(WindowsとかLinuxとか)を使うのが当たり前じゃないんですか?
大嘘です。ーあなたは大手サーバ屋さんですか? 。・゚・(ノ∀`)・゚・。
★中古のXeonでサーバを作りましただから「サーバ」です。
無意味です。Xeonでないとサーバと呼べない意味はありません。
◎言葉に浮かれて、「サポート切れのWindowsServerで中古のXeonサーバ作ったぜ俺ってうぇうぇ」っていってても、それは悲しいことです。( TДT)
(サポート切れ=インターネットに本来つなげないのは家の内部のPCを危険にさらすからですし、そのくらい<サポートはもうない>のです。中古のXeonは汎用の部品でないので壊れたら、面倒くさいったらありゃしない=こわれたらほぼおしまいで何にもできない。がっかりです;;)
◎何が言いたいのか!
①サーバっていうのは、サービスするプログラムを持ったコンピューターです。
②クライアントっていうのは、サービスを受けるプログラムを持ったコンピュータです。
そうでしょ?サーバやクライアントプログラム持てば、どのパソコンだってサーバだしクライアントなんです。なんでサーバというと<なんか企業用のものをご家庭に持ってくる>んでしょ?
じゃあなんで大手のサーバ屋はサーバマシンつかってるんだ?
お答えしましょう。経費圧縮です。ブレードサーバ(規格を持った大きさのサーバ)は一番規格通りのメンテで済みます。SSDなんかは多重化して(データをだぶらせておいて)壊れたらパコっと規格に合ったの箱ごと買えて交換して自動コピーです。業者に頼んでちょっととられても、さっきのお値段はそういう意味で吹っ掛けておけばOK。
Xeonで他コア、多メモリも仮想マシン(コンピュータ上に小さいコンピュータを仮想的に作る)ことで、2コアごと・2GBごとに分けます。たった1台で10くらいの貸し出しができます。粗利で月1万円以上です。そうしてサーバ用の基本ソフト(特にただのLinux)を使えばお金を出せば10年に一回のスパンでサポート切れが来るのでサーバごと更新すればいいんです。そしてサーバ用の基本ソフトを使ってWindow表示しないのはたんに、10以上の仮想マシンを初期化するのに同じことを打てばいいだけだからです。(それすら自動です)監視はさすがに有料ソフトでしますが、データ保証料はないのですから最悪なくなっても文句言いには来れません。(規約もベストエフォートでしょう)
最新Xeonでのサーバ運用は結局、コアとメモリを分割して貸し出すことでお金儲けをいっぱいできるから使うんです。あなたのご家庭で意味のあることとはあまり思えません。