ARC는 가벼운 PHP 클래스로 ARMA 3 , ARMA 2 및 ARMA 2 : OA 게임 서버를 포함하여 Battleye 서버에 명령을 쉽게 연결하고 보낼 수 있습니다.
ARC 2.2는 PHP 5.4 이상만 필요합니다!
아직하지 않은 경우 작곡가를 다운로드하십시오.
$ 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 ' ); 어떤 일이 잘못되면 아크는 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는 명령이 소켓을 통해 서버로 성공적으로 전송 되었는지 여부를 확인하십시오. 서버에서 명령이 실행 되었는지 확인 하지 않습니다 .
생성자의 네 번째 매개 변수를 통해 옵션을 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() : 모든 서버 금지 목록을 가져옵니다.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) : maxping 값을 변경합니다. 플레이어의 핑이 더 높으면 서버에서 차게됩니다.object changePassword(string $password) : RCON 비밀번호를 변경합니다.object loadBans() : (re) "bans.txt"에서 BE BAN LIST를로드합니다.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() : BANS 파일에서 만료 된 금지를 제거합니다.object getBEServerVersion() : BE Server의 현재 버전을 가져옵니다.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"로 시작됩니다. 배열 값 [1]에는 중요한 정보가 있습니다. 자세한 내용은 여기를 클릭하십시오. Battleye 명령에 대한 자세한 내용은 여기를 참조하십시오
다음을 포함하여 문제를 제출하고 기여 코드를 제출 한 모든 기고자에게 감사합니다.
새로운 기고자들은 항상 환영합니다
ARC는 MIT 라이센스 에 따라 라이센스가 부여됩니다. 자세한 내용은 LICENSE 파일을 봅니다.