PHP Client Beispiel
PHP Client Beispiel
Ein einfacher PHP-Client für die HytaleAdminAPI.
Basis-Klasse
<?php
class HytaleAdminAPI
{
private string $baseUrl;
public function __construct(string $host = 'localhost', int $port = 5550)
{
$this->baseUrl = "http://{$host}:{$port}/api";
}
public function get(string $endpoint): array
{
$ch = curl_init("{$this->baseUrl}{$endpoint}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true) ?? [];
}
public function post(string $endpoint, array $data = []): array
{
$ch = curl_init("{$this->baseUrl}{$endpoint}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true) ?? [];
}
public function delete(string $endpoint): array
{
$ch = curl_init("{$this->baseUrl}{$endpoint}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true) ?? [];
}
// Convenience methods
public function getStatus(): array { return $this->get('/status'); }
public function getPlayers(): array { return $this->get('/players'); }
public function getStats(): array { return $this->get('/stats'); }
public function sendChat(string $msg): array { return $this->post('/chat/send', ['message' => $msg]); }
public function banPlayer(string $player, string $reason = ''): array { return $this->post('/bans/add', ['player' => $player, 'reason' => $reason]); }
}
Verwendung
$api = new HytaleAdminAPI('192.168.1.100', 5550);
// Server-Status
$status = $api->getStatus();
echo "Server: {$status['data']['status']} - Spieler: {$status['data']['players']['online']}/{$status['data']['players']['max']}";
// Spieler auflisten
$players = $api->getPlayers();
foreach ($players['data'] as $player) {
echo "{$player['name']} - {$player['health']} HP\n";
}
// Chat senden
$api->sendChat('Willkommen auf dem Server!');