MineStrator, Votre hébergeur de serveur minecraft

Plugin MCWeb 1.0

Socket, Web, API, Minecraft, Server, Info, Php, Plugin, Java, Async

  1. DogeMVP
    Salut à tous, je partage un plugin que j'ai crée il y a peu de temps qui permet de faire une liaison serveur/web via socket assez facile à prendre en main.

    Le fichier config.yml contient uniquement le port à utiliser. (par défaut 5656 ce port doit correspondre au port entré dans les paramètres du constructeur de la classe php MCWeb.

    Ce plugin permet :
    - Récupération du nombre de joueur max
    - Récupération du nombre de joueur en ligne
    - Récupération du nom du serveur
    - Récupération de la version du serveur
    - Statut du serveur (ON/OFF)
    - Execution de command
    - Ban/Unbann de joueur
    - Broadcast de message

    Toute ces choses depuis votre site web bien sur (J'ajouterais d'autre choses plus tard)

    PHP:
        public function max_online_players() {
            return 
    $this->request("request:max_online_players");
        }

        public function 
    online_players() {
            return 
    $this->request("request:online_players");
        }

        public function 
    server_name() {
            return 
    $this->request("request:server_name");
        }

        public function 
    broadcast_message($msg) {
            
    $this->send("action:broadcast:" .$msg);
        }

        public function 
    ban_player($player) {
            
    $this->send("action:ban:" .$player);
        }

        public function 
    send_command($cmd) {
            
    $this->send("action:command:" $cmd);
        }

        public function 
    server_version() {
            return 
    $this->request("request:server_version");
        }

        public function 
    server_status() {
            if (
    strcmp($this->request("request:server_status"), "ON\n") == 0) {
                return 
    "ON";
            } else {
                return 
    "OFF";
            }
        }

        public function 
    unban_player($player) {
            
    $this->send("action:unban:" .$player);
        }

        private function 
    send($req) {
            
    socket_write($this->socket$req "\n"strlen($req) + 1);
        }
        private function 
    request($req) {
            if (
    $this->connection == TRUE) {
                
    socket_write($this->socket$req "\n"strlen($req) + 1);
                return 
    socket_read($this->socket10000PHP_NORMAL_READ);
            } else {
                return 
    "Error";
            }
        }
    PHP:
                $mcweb = new MCWeb("62.210.168.216"5656);
                if (
    $mcweb->server_status() == "ON") {
                    echo 
    '<p> Max online players : ' $mcweb->max_online_players() . '</p>';
                    echo 
    '<p> Online players : ' $mcweb->online_players() . '</p>';
                    echo 
    '<p> Server name : ' $mcweb->server_name() . '</p>';
                    echo 
    '<p> Server version : ' $mcweb->server_version() . '</p>';
                    echo 
    '<p> Server status : ' $mcweb->server_status() . '</p>';
                } else {
                    echo 
    '<p> Server status : OFF';
                }
    Rendu :
    [​IMG]

    Si vous avez des question je suis dispo :)