1ヶ月運営してみて
2021/10/25
2021/10/25
いつも当サーバーでプレイして頂きありがとうございます。
当サーバーは10月25日で公開してから1ヶ月になります。
感想を適当に書きたいと思いますのでお時間があればお読みください。
公開する前、少し心配していたサーバー内の秩序ですが、みなさんのマナーが良いおかげでほとんど手をかけずに管理できています。
他の公開サーバーでは土地保護プラグインを導入しているのが当たり前なので、公開前に導入するか迷いましたが、地下や上空を活用できなくなること、他の人の建築物を見学しにくくなること、手順が煩雑なこと、導入するなら経済システムも導入しサーバー内通貨を発行して保護にコストがかかるようにしなければ無制限に保護がかけられてしまう等々の理由から導入しませんでした。
今の所特に問題なく運営できていますので、導入するつもりはありませんが人が増えたりして問題が出てきたらまた考えます。
まぁ僕も配信中にちょっかい出したりしてるので人のこと言える立場ではないですが、配信の趣旨を考えて参加してください。
ネザー要塞を2人で探索する企画のときについて行って先にチェストの中身を取っていく行為もありました。
あまり配信中の秩序が乱れると配信中はサーバーを閉める等の対策も考えなければいけなくなりますので、企画を立てて配信している時は企画の趣旨を考えて参加して頂きますようお願い致します。
ルールを英訳したほうがいいのではないかという話ですが、
日本のサーバーのルールが日本語で書いてあるのは至極当然のことであること
このサーバーは僕が個人で管理しているものを葉乃はるかさん、りんご水さんのサブスクの方に公開しているだけであってこちらから参加をお願いしているわけではないこと(もちろんたくさんの方にプレイしてもらえるのは嬉しいです!)
どこまで提供すればいいかわからないこと(ルール以外のページや、Discordで発信するメンテ、更新情報等も英訳するのか?また、他の言語はどうするのか)
僕の提供できる英語は結局機械翻訳であること
正しく翻訳されているか分からないルールを公式として提供する訳にはいかないこと
以上のことから、翻訳を提供するつもりはありません。
ちなみに、このページの3割は海外からのアクセスみたいです。
質問等あればできるだけ対応していきたいと思っていますのでまずはご自身で翻訳にかけて読んで頂きたいと思っています。
海外の方が参加しづらいのは心苦しいですが、誤訳によるトラブル等防止の為ご理解頂ければと思います。
いろいろ調べたんですが思い通りのプラグインも見つからず、だったらもうRCON(外部からネットワーク経由でサーバーコマンドを実行するプロトコル)を使って"/whitelist add ○○"を投げるBotを作ろうと考えました。Discordで管理すればサブスクの管理もDiscordでやってくれるし、サーバー閉めたい時はチャンネルにアクセスできなくすれば簡単に閉められるので簡単に管理できると思ったからです。
僕がかろうじて使える言語はPythonしかないのでDiscordボットを作る時はほぼDiscord.pyというライブラリを使用して作ることになりますが、それがどうやら8月の下旬にDiscordの姿勢にブチギレて開発終了したみたいです。絶望した僕は3つの選択肢が頭に思い浮かびました。
Discord.pyを使って書く
他のライブラリを使ってPythonで書く
Discord.jsを使って書く
まず、1ですが開発が終了しているので今後Discordの仕様変更があれば使えなくなってしまいます。
2は他の今開発が活発に進んでるライブラリを探して書くということですが、Discord.pyほど支持を得ているライブラリは他にないことと、今後開発がどうなってしまうか分からない不安があります。
3はPythonは諦めてDiscord.py以上に支持を得ているであろうDiscord.js(JavaScript)を使って書くということですが、JavaScriptはバージョンによって構文違うし省略が多すぎて例文によって書き方全然違うからよくわからん(りんご水さんの音声認識翻訳はJSを使って書いたので少し勉強すれば分かるだろと思いましたがやっぱわかんね)。
と、いうことでとりあえず使ったことがあるので簡単に書ける1で作ることにしました。ただ、今後使えなくなるかもということでモチベーションが上がらず最低限の機能しか作りませんでした。モチベーション上がったら2か3で作り直そうと思います。とりあえず最低限使えてると思うので今はこれで勘弁してください‥‥。
いつもサーバーの負荷を気にしてプレイして頂き、ありがとうございます。
すこしサーバーの負荷について書きたいと思います。但しコードを読んだわけでもなく、ほぼネット上の情報の寄せ集めなので間違ったことも書いてるかもしれません。
お時間があれば読んでいってください。
もうこれ以上負荷をかけられないから負荷のかかることはできないと思っている方がいらっしゃるかもしれませんが、そういうわけではありません。
たまにラグを感じることがあるかもしれませんが、それはサーバーの処理が追いついていないのではなく、ほとんどの場合回線の都合によるものです。はのりんごサーバーはシンガポールにあります。また、リバースプロキシの背後にあるため、どこかがボトルネックになってしまうと数秒ラグを感じることがあります。日本リージョンで借りられるサーバーはほぼう○こスペックしか残ってないので、PvPサーバーでもないしPing100ms以内で安定して借りられるサーバーを選びました。
現状では余裕です。余裕なのに負荷低減のお願いしているのは、リソースが足りないのではなくできるだけ長く今のリソースを使いたいからです。
こういうサーバーのようなプログラムは無限ループで組まれていて、そのループの中でイベント(例えばブロックを置いたり壊したり)の処理をすることで動いています。マイクラサーバーはこのループをティックと呼んでいて1秒間に20ティック(全ての起きたイベントを処理するループが20周)が基本になっています。時間もティックで管理されていて例えば1日は昼12000ティックと夜12000ティックの24000ティックだったり、作物が成長するのに○ティック等、全てループの周回数で管理されています。サーバーの負荷を見る指数としてTPS(Ticks Per Secondつまり、1秒間に何ティック処理しているか。先程も書いたように1秒間に20ティックが基本)とMSPT(Milliseconds Per Tickつまり、1ティック処理するのに何ミリ秒かかっているか。1秒間に20ティック処理するには1ティック50ms以内に処理が終わらないといけない)がありますが、TPSは常に20、MSPTはプレイヤー数によりますが10msから20msほどで処理できています。
例えば、TPSが10になると1日が20分だったのが40分になり、作物が育たなくなったり、MOBの動きが鈍くなったり等、遅延が発生するようになります(多分TPS10はまともにプレイできたものではないですが)。
プレイヤーの数とエンティティの数で決まると思っています。ここで言うエンティティとはブロックエンティティも含みます。つまり、ブロック(例えば土や石、ただのブロックでそれ以上の情報を持たないもの)以外の物全てです。例えば皆さん当たり前のように使っているチェストは中に何が入っているか、開いているか閉まっているか等の情報を処理します。かまどは中に何が入っているか、燃料があとどれくらいでなくなるか、変換がどれくらいで終わるか等の情報を処理します。ホッパーは何が入っているか、次転送が始まるのがいつか、上になにか乗っていないか等を処理します。MobはAIが働いています。こういった処理がプレイヤーから当サーバーでは8チャンク(1チャンクは16×16×256、つまり平面で16×16ブロックで高さは岩盤から上空までの範囲)の中のものは全て処理されます。かまどやホッパーなど、中身が空で動いてなさそうに見えても処理されています。
マイニングしてると石が邪魔になってその場に捨ててきたりしますよね?僕もたまにやっちゃいますが、そういうのもエンティティとして保存され、他の人が近くに来るたびに読み込みが入ります。そういうのもチリも積もれば負荷の原因になります(合計で5分経てば消えますが)。
今話した通り、マイクラの負荷は読み込まれるチャンクによって大きく変動します。つまり、常に余裕を持っておかないと快適にプレイできません。今余裕だからと言ってむやみに負荷を増やすようなことはできません。まぁ僕が石油王ならいい話ですが‥‥
例えば、チェストやかまどは共同の物を用意するので個人で設置するのはやめてください!みたいなルールを設ければ簡単に負荷を抑えることはできると思いますが、そういう制限はできるだけかけたくないと思っています(もちろんみんなで使うサーバーなのである程度のルールは必要ですが)。そして、プレイヤーの数を減らすのは本末転倒です。リソースを割いてる以上たくさんのプレイヤーに遊んでもらいたいです。
僕が今お願いしたいことはエンティティの数をできるだけ減らしてほしいということです。できるだけでいいです。もし、自分が設置したエンティティの中に不要なものがあれば取り除いて下さい。マイニングで出た不要な石などをその場に捨てて放置しないでマグマやサボテンに投げてきちんと消してください。ホッパーを詰まらせないでください。
全員に少しづつ協力してもらうことで今のリソースをできるだけ長く使ってもらえると助かります。
今プレイしている方も、これから参加する方も快適にプレイできるようにご協力お願い致します。
以上、クソ長文章をお読み頂きありがとうございました。今後とも当サーバーをよろしくお願い致します。