Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minecraft インストール済みにする Startup Script #28

Closed
yasulab opened this issue Jul 23, 2017 · 31 comments
Closed

Minecraft インストール済みにする Startup Script #28

yasulab opened this issue Jul 23, 2017 · 31 comments

Comments

@yasulab
Copy link
Member

yasulab commented Jul 23, 2017

Minecraft インストール済みのサーバーを生成する Startup Script を作りたい。

ただし、デフォルトで用意している次のスペックだと動かない可能性が高そう (要調査) 👀

  • CPU: 1コア
  • メモリ: 1GB
  • ディスク: 20GB

cf. https://github.com/coderdojo-japan/dojopaas/blob/master/.github/PULL_REQUEST_TEMPLATE.md

@miya0001
Copy link
Member

ディスクに関してなんですが、最低で20GBでその次に選べるサイズは40GBなんですよね。
ご提供いただいている全体の量がちょうど20GBx100台なので結果的にディスクのサイズは固定にしないといけないんです。

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

最低で20GBでその次に選べるサイズは40GBなんですよね。

なるほど、情報ありがとうございます! 😸

さくらインターネットさんからの説明によると、コントロールパネルから特定のサーバーのディスクサイズやメモリ容量を拡張することはできるという話でした。なので、(少なくとも手動で操作する分には) マインクラフト用のサーバーだけサイズを大きくすること自体はできそうですが、dojopaasで対応するのはかなり複雑になりそうという点と、あと公平性にやや欠けるのが課題かなぁと考えています🤔

@miya0001
Copy link
Member

  • メモリ: 総合計で100GB
  • ディスク: 総合計で2048GB

とのことで、メモリも1GB単位でしか指定できないんですよね。
なのでメモリ、ディスクそれぞれパワーアップするたびにマシンが1台減る感じです。

Mincraft用のすごく高性能な共有サーバーを作るとか。

@miya0001
Copy link
Member

マイクラ用のサーバーって何かアップロードしたりするんですかね?普通に遊ぶだけじゃない?
そもそもマイクラ用のサーバーというものについてよくわかってなくてすいません。

@miya0001
Copy link
Member

miya0001 commented Jul 23, 2017

無理っぽいですね。笑
http://minecraft.gamepedia.com/Server/Requirements

@miya0001
Copy link
Member

ウェブサーバーはバーチャルホストで、マイクラサーバーだけを49台提供するとか。。。

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

http://minecraft.gamepedia.com/Server/Requirements

ディスクサイズは大丈夫そうですが、メモリが2GB〜8GB... orz

@miya0001
Copy link
Member

あっ、あとDojo開催日に使い捨てのハイスペックなマイクラサーバーを立ち上げれる仕組みをつくるとか。
こいつは数日後とかに自然消滅するみたいな。

@miya0001
Copy link
Member

Slackで "/run-minecraft <公開鍵>" って叩いたらサーバーが起動するとかしたら面白そう!

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

マイクラ用のサーバーって何かアップロードしたりするんですかね?普通に遊ぶだけじゃない?

僕が把握している限りだと、例えば8x9クラフトComputerCraftのようなMODをサーバーに追加して、当日マインクラフトの世界でプログラミングする、みたいユースケースかなと考えています。

なので、次のようなアイデアは結構効果的かもしれません🤔

  • Mincraft用のすごく高性能な共有サーバーを作る
  • Dojo開催日に使い捨てのハイスペックなマイクラサーバーを立ち上げれる仕組みをつくる

より詳細な利用ケースについては、使いたい道場の方に聞いてみたいですね。Facebook グループの方でこちらの Issue についてリンク貼っておきます! 😄

@miya0001
Copy link
Member

Slackのコマンドで起動できるようにしましょう!w
そして24時間後に自動終了。

@miya0001
Copy link
Member

miya0001 commented Jul 23, 2017

Slackのコマンドを作ろう!! - さくらインターネット(その2) Advent Calendar 2016 12日目
http://qiita.com/t-mimura/items/d6541ec596bdebea5a7b

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

CoderDojo 関係者の詳しそうな人にメンションさせていただきました。どなたか降臨してくれると嬉しいな... 🙏

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

Mincraft用のすごく高性能な共有サーバーを作る

今のうちにマイクラ用の共有リソースを確保するという方法もありかもしれないですね。サーバーの利用申請が増えていくと、そのうち「リソースが足りなくて立ち上げらない」というケースが考えられるかなと思いました🤔💭

@miya0001
Copy link
Member

miya0001 commented Jul 23, 2017

メモリとディスクの総量の管理は簡単なので、あらかじめ8GBx5台分とか予約分として確保しておくといいかも。
要はウェブサーバーとしては予約分を引いたものだけをマックスにしつつ、たとえばWordPress専用の共有サーバーを作っておくとか。
そうするとサーバーのめんどうをみることはできないけどサイトだけほしいというケースにも低コストで対応できそう。

@miya0001
Copy link
Member

共有サーバーは、

  • WordPress専用のバーチャルホスト
  • プラグインは指定したものだけがプリインストール。
  • テーマはデフォルトのテーマのみ
  • SSHやFTPのアカウントはわたさない。
  • ドメインは *.coderdojo.jp
  • SSL & HTTP/2 標準装備

って感じかなーと。たとえばWordPressの公式イベントのWordCampは同じような仕組みでして、見た目の部分はCSSだけで対応しています。なので意外とそれなりのものが作れるはず。

一方でWordPressのアップデートとかは自動化してこちらでまとめて面倒見るみたいな。

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

WordPress の話と Minecraft の話が混ざると内容がブレそうなので、WordPress の共有サーバーについては #27 の方で話をまとめられると嬉しいです 🙏 💦 僕の方で #27 に転記しておきますね 📝 💨

@yokmama
Copy link

yokmama commented Jul 23, 2017

マイクラのサーバーをCoderDojo全部で一つは可能だとおもいます。
その場合、ログインできるのは忍者だけに限定するということもできます。
これは、忍者のアカウントを登録制にして、登録されている人以外はログインできないようにする仕組みが公式のマインクラフトサーバーにあるからです。

こうすれば、悪質なあらしの対策はできるとおもいます。

とはいえ、故意ではないことからのトラブルが実は多いです。
間違って壊してしまったりとか、ついかっとなってやってしまったとか。
そういうことの解決にもプラグイン(マインクラフトのサーバーを改変するためのソフト)をいれたほうがよいです。

ほかにもいろいろなModやプラグインがあります。
これらは、遊びたい子供の要求にあわせていれる必要がでてくるとおもいますが。
Modやプラグインには相性があるのでなんでもかんでもいれるといわけにはいかないです、

全国の忍者たちの要望にあわせていれるのは非常に難しいとおもいます。
そのため、基本的には、運営側が一方的にいれるModを選定していれるしかないとおもいます。

それから、サーバーに必要な容量ですが、
サーバーの起動には、2Gは最低いるといってますが、2Gだと2,3人で遊ぶながらいいですが、それ以上になると厳しいとおもいます。
マインクラフトのワールドは、自動生成です。そのため、最初は小さいのですが、プレイヤーがそのなかであるきまわるとどんどん生成されてどんどん広くなっていきます、すうするとその分だけディスクの使用量はふえますし、またプレイヤーが分散するとそのぶんだけメモリにつまれるデータもふえます、だいたい、2G+8G(プレイヤー、マップデータ)だと考えるといいとおもいます。

プラグインによって、メモリの使用量はかわってくるので、運用してみて重たいならふやしていくっていうのがベストだとおもいます。

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

だいたい、2G+8G(プレイヤー、マップデータ)だと考えるといい

情報ありがとうございます! 少なくとも1道場1台は現実的ではなさそうですね 😅

全国の忍者たちの要望にあわせていれるのは非常に難しいとおもいます。
そのため、基本的には、運営側が一方的にいれるModを選定していれるしかないとおもいます。

さくらサーバーのアカウント管理チームと同じ要領で、マイクラサーバーの運用チームというのを作って、そこでやりとりできるようになると良いのかなぁ... とぼんやり考えています 🤔💭 (cc/ @tkc49 )

@miya0001
Copy link
Member

@yokmama @yasulab

このPaaSのシステムとは別にマイクラ用の共有サーバーを立てておく感じですね。
この場合独自のModとかはインストールできない感じになると思うのですが、そういうマイクラプログラミングの練習用の環境は別に必要という理解であってます?

@miya0001
Copy link
Member

みんなが好き勝手にいろいろアップするようなマイクラプログラミングの環境に適していないというか。

@yasulab
Copy link
Member Author

yasulab commented Jul 23, 2017

マイクラプログラミングの練習用の環境は別に必要という理解であってます?

そうですね、現時点ではもしやるとしても dojopaas システムと繋げる必要性はなさそうなので、切り離して運用する形でも良いかなと感じています🤔

ただ決定というわけではないので、とりあえずこの Issue はまだ残しておいてもらえると助かります 🙏 (あとで @tkc49 さんと話してから決定しようと考えています💭)

@yasulab
Copy link
Member Author

yasulab commented Jul 26, 2017

メモ: magikcraft の開発企業はCoderDojo向けにマイクラサーバーを提供している

cf. magikcraft
https://www.magikcraft.io/

CoderDojo 向け申請フォーム: https://start.magikcraft.io/#Magikcraft-for-CoderDojo

@yasulab
Copy link
Member Author

yasulab commented Jul 26, 2017

メモ

CoderDojo 向けにマイクラサーバーを提供しているスポンサー企業がある。実は ja.open.magikcraft.io が既に用意されている。マイクラ使いたい人はこちらを使っていただいて、さくらインターネットからのサーバーは共通のスペック内で自由に使ってもらうのが良さそう。

Hi Takashi! You should now be able to manage your ja.open.magikcraft.io server here:
https://play.magikcraft.io/servers

@yasulab
Copy link
Member Author

yasulab commented Jul 27, 2017

こちら、 @tkc49 さんとの話し合いで、「CoderDojo Japan 側では特定のアプリケーションのための共有サーバーは作らず、各道場へのインフラ提供に専念しよう」ということにしました。理由としては、次の通りになります。

  • 特定のアプリケーションをOKすることは、他の特定のアプリケーションをOKにしないことになる
    • 例: ComputerCraft は 🆗 で、なぜ 8x9Craft じゃダメなのか?
    • 例: xxx という MOD は 🆗 で、なぜ ooo という MOD は 🆖 なのか? etc.
    • 「何がOKで何がNG」というのを決めるのにも、とても時間がかかりそうだと感じています... 😓
  • アプリケーションについては、アプリケーションを提供する側にスポンサードしてもらう形を推奨したい
  • dojopaas ではインフラ提供 (+ スタートアップスクリプト) 程度までに押さえておいて、「スペックを増やしたい」という要望があれば、各道場が個別にさくらインターネットさんとやりとりする形でまずは運用したい

@miya0001 上記の理由で、一旦はこの Issue を Close しようかなと思うのですが、いかがでしょうか? 🤔

@miya0001
Copy link
Member

miya0001 commented Jul 27, 2017

はい、閉じるのは異存ないです。

ただひとつ誤解があるようですが、特定のアプリケーションをOKとかNGとかではなく、いろんなのを簡単にセットアップできるようにしてプログラミングの勉強に集中できるようにしてあげたいなーと思ったのが僕の目的です。
プログラミングの勉強をするのにさらに難しいインフラを用意しないといけないという太古からの問題を解決してあげたいなと。

僕の妄想では必要と思った人がシェルスクリプトなりなんなりを作るはずなので、それを順次取り込んだらいいと思ってました。CoderDojoのリポジトリにいろんなインストーラのプロジェクトが増えるといいかなと。なので特定の何かを選ぶとかではなくランダムに増えたらいいんじゃないかと思った次第です。

そんなわけで「何かをいらない」っていう判断はする必要ないんじゃないかなとは思っています。
(大事なので太字で。これは手伝いたいと思ってる人に対して無駄にハードルを上げるだけだと思います。現実にはそういう人がいないってことかな。。。汗)

アプリケーションについては、アプリケーションを提供する側にスポンサードしてもらう形を推奨したい

ちなみにこのほうがさらにOKとかNGの選択が大変なような。。。笑

まあ、マイクラはスペック的に難しいみたいなので、そういう意味で無理かなとは思ってましたし、誰かがやるかなと思ってたので誰もやらないなら閉じていただいても大丈夫です!

@yasulab
Copy link
Member Author

yasulab commented Jul 27, 2017

@miya0001 説明が足りずすみません、認識にズレが生じているようですね 💦 個人的には全く同じことを主張していて、特に誤解は無いように感じました ><

僕としては下記で述べたように、インストーラが増えることはとても良いことだと思います! 😸

dojopaas ではインフラ提供 (+ スタートアップスクリプト)

一方で、 特定のアプリケーションを動かすために大きな共有サーバーを作成するのは一旦 pending にしたい と考えています。この Issue のタイトルと議論のトピックがズレているので、そこが誤解の元になっているのかもしれないですね 😅

言い換えると、Minecraftのスタートアップスクリプトを作るのは全く問題ないのですが、「マイクラが動かないので共有サーバーを作る」というのは、今はやらないようにしたい、といった内容になります 🙇

@tkc49
Copy link
Contributor

tkc49 commented Jul 27, 2017

安川さんとの話では、前提があってこういう話しの流れになりました^^

[前提]
さくらインターネットさんから提供して頂けるリソースには限りがある。
現在のところ1Dojo、メモリー1Gよねーって話になっている。
Minecraftはメモリー1Gでは無理。

その中で◯◯については特別メモリーを増やす、◯◯についてはメモリーを増やさないという検討はちと大変かなと思いました。

僕の妄想では必要と思った人がシェルスクリプトなりなんなりを作るはずなので、それを順次取り込んだらいいと思ってました。CoderDojoのリポジトリにいろんなインストーラのプロジェクトが増えるといいかなと。なので特定の何かを選ぶとかではなくランダムに増えたらいいんじゃないかと思った次第です。

これについては僕もその方が良いと思います!!
なので、今回の件で言えばメモリー1Gの範囲であれば、色んなインストーラーがあると良いなと思います。

1G範囲内であればっていう視点では話しをしてなかったので、1Gの範囲であれば
「「何かをいらない」っていう判断はする必要ない」という点には、そうだなーと思います!!
※ 当然、オープンソースだったり、CoderDojoへ無償提供してもらえてるものに限るとは思いますが。

@miya0001
Copy link
Member

なるほど!いろいろ便利なのが出てくるといいですね!

@miya0001
Copy link
Member

共有サーバーの件は理解しました!まあプログラミングの勉強につかいにくいただの遊び場だったらなんだかなーって感じですもんね。

@yasulab
Copy link
Member Author

yasulab commented Jul 27, 2017

ありがとうございます! 😆 細谷さんが3行でうまくまとめてくれましたので、一旦はこちらの理由でMinecraftのスタートアップスクリプトの作成は Pending にしようと思いますね。

[前提]
さくらインターネットさんから提供して頂けるリソースには限りがある。
現在のところ1Dojo、メモリー1Gよねーって話になっている。
Minecraftはメモリー1Gでは無理。

もし何らかの方法で実現可能になったら、その際に Re-open する形で進められたらですね ;)

@yasulab yasulab closed this as completed Jul 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants