minecraft의 서버 상태를 명령 줄 PHP로 가져옵니다.

4976 단어 minecraftPHP


평상시 서버상의 tmux로 minecraft 서버를 감시하고 있습니다만,
어쩐지 서쿠와 서버의 상태를 얻을 수 없을까라고 생각해,
조사하면 Query라는 것이 있고 PHP로 얻을 수 있다는 것이
알았으므로, 비망록적으로 해 두자.

기초


  • server
  • 우분투 서버 14.04 LTS
  • Minecraft 1.9.2

  • client(서브 PC)
  • kona Linux 3.0
  • PHP 5.6.19


  • 1. PHP는 커맨드 라인으로 움직일 수 있다! ?



    사실, 필자는 명령 줄 (shell)에서
    PHP를 움직이지 않았기 때문에
  • 【php】 약간의 php를 커맨드 라인으로부터 사쿠로 실행한다
  • PHP로 커멘드 라인 실행시의 파라미터 (인수) 취득 - $argv, $argc

  • 여기 고마운 기사를 읽고 그런 사용법이 있는지 알았습니다.
    PHP의 도입에 대해서는 주제와 어긋나므로 별도 부탁드립니다.

    2.PHP-Minecraft-Query 사용



    xPaw/PHP-Minecraft-Query | Github

    찾아 보니 Github이었습니다.
    여기 PHP 스크립트를 사용하려고합니다.

    git clone에서 다운로드합니다.



    $ git clone htps : // 기주 b. 이 m/x파 w/PHP-미네 c 등 ft-쿠에 ry. 기 t

    3. 자 움직이자



    이동



    cd PHP-Minecraft-Query

    이동하면 샘플 코드를 작성합니다.



    vi test.php
    <?php
        require __DIR__ . '/src/MinecraftQuery.php';
        require __DIR__ . '/src/MinecraftQueryException.php';
    
        use xPaw\MinecraftQuery;
        use xPaw\MinecraftQueryException;
    
        $Query = new MinecraftQuery( );
    
        try
        {
            $Query->Connect( '<SERVER_ADDRESS>', 25565 );
    
            print_r( $Query->GetInfo( ) );
            print_r( $Query->GetPlayers( ) );
        }
        catch( MinecraftQueryException $e )
        {
            echo $e->getMessage( );
        }
    ?>
    

    서버 주소를 편집하고 저장합니다.

    막상 실행


    $ php test.php
    Array
    (
        [HostName] => A Minecraft Server
        [GameType] => SMP
        [GameName] => MINECRAFT
        [Version] => 1.9.2
        [Plugins] =>
        [Map] => world
        [Players] => 0
        [MaxPlayers] => 20
        [HostPort] => 25565
        [HostIp] => 127.0.1.1
        [Software] => Vanilla
    )
    

    성공하면 이런 식으로 표시될 것입니다.

    결론



    minecraft의 상태를 PHP로 빨리 얻을 수 버리는 것이 좋네요.
    이것으로 curl이나 Mandril 같은 것을 사용해 통지라든지에도 사용할 수 있을 것 같습니다.
    IFTTT의 Webhook을 이용한 제휴도 즐거울 것 같습니다.
    성공대로 Qiita에 쓸 수 있다고 생각합니다.
    자신에 대한 이해는 출력했을 때 쪽이 이해할 수 있기 때문에. 개인적으로.
    이야기가 벗어났습니다.
    매우 쉽게 할 수 있기 때문에 Minecraft 서버의 관리자는
    시도해 보면 좋다.

    좋은 웹페이지 즐겨찾기