1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
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 :)