2コメント

【Minecraft】サーバーを分散稼働させよう

と、思い立った。ので早速行動に移って行く。

まず、なぜこんなことを思いついたのか。

そもそも、Minecraftのサーバーソフトはシングルスレッドでしか動作しない。


「じゃあ、複数ソフトウェアを立ち上げてもよくね?」

もちろん、処理は増加するため消費電力は若干上がるが・・・

CPUの処理限界に近づくわけじゃあない。今6コア12スレッドの1スレッドしか使っていないので、11スレッドが遊んでいる状態。

少しくらいいいダルォ!!

てなわけで

ACT。


ここでBungeeCord.jarをダウンロードする。

次にスクリプトを作り実行する。

スクリーンショット 2021-01-28 212429.png
chmod 777で許可を与えて、
java -Xms2G -Xmx2G -jar BungeeCord.jar

を記述しておく。

でスクリプト実行

スクリーンショット 2021-01-28 212632.png
ファイル群が作成された。

そしたら終了してよいらしいのでendで終了
スクリーンショット 2021-01-28 212722.png
Thank you and goodbye

スクリーンショット 2021-01-28 213020.png
YAML形式の記述方法も覚えないといけないらしい。つらみ
設定をwiki通りに設定して、

BungeeCordとSpigot鯖を起動

で検証

接続できん。


[警告] Forced host server pvp is not defined
この文字列が気になる

21:58:43 [警告] Could not bind to host /0.0.0.0:25565
io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: アドレスは既に使用中です

うーんと
スクリーンショット 2021-01-28 222449.png
私はlocalhostとか127.0.0.1とかがよく分からないので(サブネットマスク?)、サーバに割り当ててるプライベートIPを抱いてくと指定しなおしたらこう出てきた。

やっとだよ。

ちなみに統一してパソコンの設定から固定で割り当ててるので変わる可能性は無し。なので問題はないはずだ

[nekoyama_cmd] disconnected with: Could not connect to a default or fallback server, please try again later: io.netty.channel.AbstractChannel$AnnotatedConnectException

なんだこれは!

[nekoyama_cmd]切断:デフォルトサーバーまたはフォールバックサーバーに接続できませんでした。しばらくしてからもう一度お試しください:io.nettyチャネル抽象チャネル注釈付き接続例外

鯖ポート25566にアクセスしようとしたところ、
lost connection: If you wish to use IP forwarding, please enable it in your BungeeCord config as well!

らしいです

しかしエラーで鯖に入れない(25565からも)

スクリーンショット 2021-01-28 230932.png

少し調べたところ、サーバーを閉じてアクセスしようとしても同じエラーが発生することに気づいた。

つまり、Bangee側がサーバーを認識していないわけだ

bangeeのconfig.ymlのServerにnekoMainで既存サーバーを追加しておいたので、 priorities項目にも- nekoMainと追加してみたら・・・
スクリーンショット 2021-01-28 232206.png
いけた。

こっからが問題で、複数鯖追加するにはどうするかだな

ちなみにこの時点でwikiのやり方からは思いっきり外れてるので知識と勘でなんとかすることにする。

まずlocalhostでアクセスできない時点でおかしいのだから、もう仕方ない。
それをわざわざ調べんのも面倒だし。
スクリーンショット 2021-01-28 232545.png
serverコマンドでサーバーを移動できるようだ。

で、このうんたらfallback serverってエラーはやはりサーバーが存在しないときに起きるもののようだ。

前の記事参照なんだが、geyserで統合版からアクセスできるようになっているのでやってみる。

ちなみにおそらく無理だと思う

認証的に

スクリーンショット 2021-01-28 232944.png

謎エラーが出た

なんじゃこら

スクリーンショット 2021-01-28 233515.png
サーバーコンソールはこんな感じ。勘でも読めなかった。

まあとりあえず、javaの方から切られてる、ホスト側から切られてるっぽいので私がおそらくつながらないだろうといった原因、geyser-bungeeが未導入だったという事で導入してみる

スクリーンショット 2021-01-28 234147.png
これやね
bungeeCord側にPluginsフォルダが出ていたので、それにぶち込んで再起動

・・・ならんかった。

とりあえず、どうしよかな
スクリーンショット 2021-01-29 002841.png

情報がなさ過ぎて分からんので一回放置。

ポート設定、バンジーのconfig.ymlにserverを追加(今回はlobbyを流用)そして対応するポートに変更。
スクリーンショット 2021-01-29 005915.png
無事実装成功。

スクリーンショット 2021-01-29 010857.png

絶対パス参照を使って、2つのサーバーを自動起動・再起動するようなスクリプトも書いて、無事完了。


もう1時を回っているのでここら辺で終わろうかな

細かいことは後からやろう

(^o^)ノ < おやすみー

ps,初期設定だとserverコマンドは一般人でも使える設定されてるっぽいんですよ
スクリーンショット 2021-01-29 013015.png
command.serverをdefaultからadminに変えておくことにします。指定した位置からしか移動できないようにね

追記:chmod 777はフルアクセス権限を与えるコマンドです。場合によって権限を制限しないとセキュリティ上問題があるので、各自調べてください。これによる攻撃行為が発生しても一切の責任を負いかねます。

この記事へのコメント

  • トム

    Bungee以外の鯖のプロパティにあるonline: trueをfalseにしないと認証系で弾かれますよ〜
    2022年02月11日 11:08
  • 猫山さん。

    コメントありがとうございます。geyser系でもそういうのありましたね(;^ω^)
    2022年03月27日 04:21