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->socket, 10000, PHP_NORMAL_READ);
} else {
return "Error";
}
}Rendu :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';
}
Si vous avez des question je suis dispo