ARCは軽量のPHPクラスであり、 Arma 3 、 Arma 2 、 Arma 2:OAゲームサーバーなど、 Battleyeサーバーにコマンドを簡単に接続および送信できます。
ARC 2.2にはPHP 5.4以降のみが必要です!
まだ行っていない場合は、Composerをダウンロードしてください。
$ curl -s http://getcomposer.org/installer | php次に、アークを必要とし、インストールします。
$ composer require nizarii/arma-rcon-class
$ composer installリリースを選択し、プロジェクトにARCを含めますrequire_once 'arc.php'; 。
ARCをインストールした後、以下に示すようにARCを簡単に使用できます。新しい接続を自動的に確立し、認証します。
use Nizarii ARC ;
$ rcon = new ARC (string $ ServerIP , string $ RConPassword [, int $ Port = 2302 [, array $ Options = array ()]]); command()関数を使用してコマンドを送信できます。
//...
$ rcon -> command ( ' YourCommand ' );何かがうまくいかない場合、ARCはExceptionをスローします。トライキャッチブロックでコードをラップすることをお勧めします。
use Nizarii ARC ;
try {
$ rcon = new ARC ( ' 127.0.0.1 ' , ' password ' );
$ array = $ rcon -> getPlayersArray ();
$ rcon
-> sayGlobal ( ' example ' )
-> kickPlayer ( 1 , ' example ' )
-> sayPlayer ( 0 , ' example ' )
-> disconnect ()
;
$ rcon -> getBans (); // Throws exception, because the connection was closed
} catch ( Exception $ e ) {
echo " Ups! Something went wrong: { $ e -> getMessage ()}" ;
} ARCは、ソケットを介してサーバーに正常に送信されたかどうかのみをチェックすると考えてください。コマンドがサーバーによって実行されたかどうかを確認しません。
オプションは、コンストラクターの4番目のパラメーターを介してアレイとしてARCに渡すことができます。現在、次のオプションが利用可能です。
int timeoutSec = 1 :接続にタイムアウト値を設定します。bool autosavebans = false :プレーヤーが禁止または禁止されていない後、bans.txtを自動的に保存します。bool debug = false :デバッグモードをオンにし、「socketloop()」と「socketloopclose()」でのみ動作します新しいオプションの提案はいつでも大歓迎です! ?
基本的な使用法:
use Nizarii ARC ;
$ rcon = new ARC ( ' 127.0.0.1 ' , ' RConPassword ' , 2322 , [
' timeoutSec ' => 2
]);
//... ARCは、Battleyeコマンドを簡単に送信するための多くの機能を備えています。上記のように新しい接続を作成した後、これらの機能のいずれかを使用できます。
string command(string $command) :任意のコマンドをbattleyeサーバーに送信します。string getPlayers() :現在サーバー上にあるすべてのプレーヤーとリストを返します。array getPlayersArray() :「getPlayers()」と同じですが、リストを配列にフォーマットします。string getMissions() :サーバー上の使用可能なミッションのリストを取得します。string getBans() :すべてのbeサーバーバンのリストを取得します。array getBansArray() :すべての禁止の配列を取得します。object kickPlayer(int $player [, string $reason = 'Admin Kick']) :現在サーバー上にいるプレーヤーをキックします。object sayGlobal(string $message) :すべてのプレイヤーにグローバルメッセージを送信します。object sayPlayer(int $player, string $message) :特定のプレーヤーにメッセージを送信します。object loadScripts() :サーバーを再起動する必要なく、「scripts.txt」ファイルをロードします。object maxPing(int $ping) :最大値を変更します。プレーヤーのpingが高い場合、サーバーからキックされます。object changePassword(string $password) :RCONパスワードを変更します。object loadBans() :(再)「ban.txt」からBANバンリストをロードします。object banPlayer(string $player [, string $reason = 'Banned' [, int $time = 0]]) :サーバーからのガイドを禁止します(時間が0の場合、禁止は永続的になります)。object addBan(string $player [, string $reason = 'Banned' [, int $time = 0]]) :「banplayer()」と同じですが、現在サーバー上にないプレーヤーを禁止することができます。object removeBan(int $banid) :禁止を削除します。object writeBans() :禁止ファイルから期限切れの禁止を削除します。object getBEServerVersion() :BEサーバーの現在のバージョンを取得します。disconnect() :現在の接続を閉じます。object reconnect() :現在の接続を閉じて、新しい接続を作成します。resource getSocket() :ソケットを取得します。ソケットは、ARCがサーバーにコマンドを送信するために使用します。boolean socketLoop(int $loop = -1) :一定のソケットストリームを取得します。 $ループは、メソッドを終了するまで実行されるループの数です。シーケンスがリセットされることに注意してください。デフォルトで無限ループに設定します。boolean socketLoopClose(int $loop = -1) :「socketloop()」と同様ですが、ループ後に切断します。デフォルトで無限ループに設定します。array readPackageRaw(string $msg) :プログラム用にBettleyeフォーマットパッケージを読み取り可能にします。読み取り不可能なヘッダーと変更されていない文字列を使用して$ MSGを使用します。アレイは、正しいヘッダーを持っているときに[0] => "ff"として起動します。 Array Value [1]には、接続にどのようなケアが必要か重要な情報があります。詳細については、ここをクリックしてください。 Battleyeコマンドの詳細については、こちらをご覧ください
問題を提出し、コードを貢献してくれたすべての貢献者に感謝します。
新しい貢献者はいつでも大歓迎です❤️
ARCはMITライセンスに基づいてライセンスされています。詳細については、 LICENSEファイルを表示します。