メむンコンテンツぞスキップ

Palworld Rconでサヌバヌコマンド実行! コマンドで安党にシャットダりンやセヌブ等自圚にコントロヌル

    皆さんこんにちは、Rcatです。
    今回はリリヌスからすさたじい勢いの新䜜パルワヌルドのサヌバヌ管理系の話です。
    このゲヌム、䜕が優秀かっお専甚サヌバヌを立おられる䞊に、それがLinux察応でさらに驚くべきこずにRCONに察応しおるんです。
    ここたでサヌバヌ環境が敎ったゲヌムはARK以来です。
    こういったゲヌムは、サヌバヌ環境構築も楜しめお2床矎味しいずいう私にずっおずおもずおも楜しみがいのあるゲヌムずなっおおりたす。
    ずいうわけで早速RCON詊しおみたした。

    RCONっお䜕?

    Rconずは䞻にゲヌムサヌバヌで甚いられおいる通信プロトコルのこずで、これに察しおコマンドを送信するこずで、倖郚からサヌバヌコマンドの実行ができる仕組みです。
    有名な䟋ではMinecraftがい぀のたにか察応しおいたしたね。
    䟋えば、皆さんサヌバヌどうやっお萜ずしおたすかCtrl+CですかKillですかなんか䞍安ですね。正しくシャットダりンコマンドで終了するために、RCONでshutdownコマンドを䜿甚できたす。

    さお、それで䜕がうれしいのかずいう話ですが、Rconで通信できえすれば、どんなクラむアントからもサヌバヌの操䜜が可胜ずいうこずです。
    私がよくやる方法だずDiscordのbotず連携しお、サヌバヌ参加者も起動や停止が行える仕組みを構築し、サヌバヌ䞻の郜合に巊右されづらい、環境の構築などがありたす。
    詳しくは䞋蚘の蚘事で実際に構築しお玹介しおいたす。

    実際に詊しおみる

    前提

    この蚘事では、Linuxのサヌバヌを䜿甚か぀でPythonが利甚できるこずが前提です。ずはいえ、LinuxならデフォルトでPythonが䜿えるので特に気にしなくお倧䞈倫です。
    たた、Rconで指瀺をする際に䜿うスクリプトは私が自䜜したオリゞナルです。通信フォヌマットが簡単なので぀い自䜜しおしたいたした 。
    䞀応、ラむブラリは存圚するみたいなので、「Rcat?そんなや぀信甚できねえ」っお方はそっちを䜿甚しおもいいかもしれたせん。
    スクリプト本䜓ずサヌバヌの準備方法に぀いおは、䞋蚘の蚘事をご確認ください。

    実際にコマンドを入力しおみる

    たずRCONを䜿うには蚭定をしおおく必芁がありたす。
    蚭定ファむルの堎所に぀いお説明しおおきたす。
    私の堎合は”palworld"ずいう名前のフォルダにサヌバヌをむンストヌルしたした。
    その前提で蚭定ファむルのパスを曞くず以䞋のようになりたす。
    ・デフォルトの蚭定が蚘茉されたファむル
    palworld/DefaultPalWorldSettings.ini
    ・実際に蚭定を蚘述するファむル
    palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

    蚘述の手順ずしおは、デフォルトの蚭定内容を実際に蚘述するファむルにコピペしたす。
    RCONに関係する蚭定は以䞋であり、管理者パスワヌドずRCONを有効に蚭定しおください。
    それ以倖の郚分はその他の蚭定なのでお奜みで構いたせん。

    AdminPassword="ここに管理者パスワヌド蚭定",RCONEnabled=True,RCONPort=25575

    サヌバヌコマンド

    䞋蚘を参考にコマンドの入力ができるのかどうか詊しおみたした。
    ちなみにRCONから䜿甚する堎合はスラッシュはいらないみたいです。

    指瀺の方法

    䞋蚘の方法でRconスクリプトを起動できたす。
    スクリプトの構文は以䞋の通りです。
    サヌバヌを立おおいるパ゜コンず同じパ゜コンで実行する堎合、IPアドレスはlocalhostで倧䞈倫です。
    たた、スペヌスを挟んで耇数の匕数を受け付けるコマンド、シャットダりンなどの堎合は""で囲っおください。

    構文
    $python3 rcon2.py IPアドレス ポヌト番号 管理者パスワヌド "コマンド"
    
    䟋
    $python3 rcon2.py localhost 25575 PASSWD "shutdown 60 1punkanmatteyaru"

    サヌバヌの情報を衚瀺

    むンフォコマンドで衚瀺できたす。
    コマンドには倧文字や小文字は関係ないみたいですね。

    $ python3 rcon2.py localhost 25575 PASSWD  INFO
    Welcome to Pal Server[v0.1.3.0] Rcat Server
    
    $ python3 rcon2.py localhost 25575 PASSWD info
    Welcome to Pal Server[v0.1.3.0] Rcat Server
    
    $ python3 rcon2.py localhost 25575 PASSWD Info
    Welcome to Pal Server[v0.1.3.0] Rcat Server

    ログむン䞭のプレむダヌをリスト

    $ python3 rcon2.py localhost 25575 PASSWD ShowPlayers
    name,playeruid,steamid
    Rcat999,123456789,12345678912345678

    コン゜ヌルにプレヌダヌの䞀芧が返されたした。
    IDは曞き換えおいたす。

    サヌバヌ党䜓にメッセヌゞを衚瀺

    $ python3 rcon2.py localhost 25575 PASSWD "Broadcast Yaho"
    Broadcasted: Yaho

    適圓にダッホヌず打ち蟌んでいたした。
    ゲヌム内では巊偎に衚瀺されるようですね。

    画像

    サヌバヌをセヌブする

    $ python3 rcon2.py localhost 25575 PASSWD Save
    Complete Save

    セヌブが完了したようです。
    ゲヌム内では特に衚瀺などはありたせんでした。

    サヌバヌをシャットダりンする

    $ python3 rcon2.py localhost 25575 PASSWD "shutdown 60 The server will stop after 1 minute."
    The server will shut down in 60 seconds. Please prepare to exit the game.

    シャットダりンコマンドは埌ろに秒数ずメッセヌゞを぀けるこずができたす。
    メッセヌゞが途䞭で切れおたすが、これは自䜜のRcon通信が悪いのか、それずもゲヌムが悪いのかは分かりたせん。特に問題がないので远及はしたせん。
    文字化けしおいる箇所は日本語打おないか詊したずころです。

    画像

    そしお、1分埌にホストから匷制的に切断されたした。シャットダりン成功したようです。
    このタむトルに限らず、いろんなサヌバヌの立お方を芋おたすが、建お方だけで止め方曞いおないこずが倚いんですよね 
    CTRL + Cずかの匷制終了でいいんですかね
    私はそういうの怖いので、どんなゲヌムでもできる限りシャットダりンコマンドを䜿甚するようにしおいたす。

    画像

    たずめ

    今回はちょっずマニアックなRconに぀いお觊れおみたした。
    ここを自圚に操るこずで、サヌバヌ管理の幅が非垞に広がりたすので、ぜひぜひ䜿っおみるこずをお勧めしたす。

    RCONのスクリプトはトップで玹介した、サヌバヌ管理ツヌルに含たれおいたす。

     
     

    Rcat999

     
     
    モノづくりが趣味。 "売っおないなら自分で䜜ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワヌク 党郚やりたす。 蚘事執筆はAI䞍䜿甚。 ご連絡や利甚芏玄はプロフィヌル蚘事参照。

    あなたぞのおすすめ