Fonksiyonunuza try-catch bloğu ekleyerek hataları yakalayıp loglamayı deneyin.
function csServerSendCommand(string $query)
{
try {
$easyGRcon = new EasyGRcon('cstrike', [
'host' => CS_IP,
'port' => CS_QPORT,
'password' => CS_PASSWORD,
'timeout' => 30
]);
return $easyGRcon->execute($query);
} catch (Exception $e) {
error_log("Hata: " . $e->getMessage());
return null;
}
}Sunucunuzda çok fazla oyuncu varsa tüm verileri tek bir sorguda çekmek yerine birkaç sorguya bölebilirsiniz:
function csServerSendCommand(string $query, int $offset = 0, int $limit = 10)
{
$easyGRcon = new EasyGRcon('cstrike', [
'host' => CS_IP,
'port' => CS_QPORT,
'password' => CS_PASSWORD,
'timeout' => 30
]);
return $easyGRcon->execute($query . " LIMIT $limit OFFSET $offset");
}
// Kullanım:
$allPlayers = [];
$offset = 0;
$limit = 10;
do {
$players = csServerSendCommand("your_query_here", $offset, $limit);
$allPlayers = array_merge($allPlayers, $players);
$offset += $limit;
} while (count($players) == $limit);Kolay gelsin.