mirror of
https://github.com/YGGverse/HLState.git
synced 2026-03-31 17:15:39 +00:00
implement server address check
This commit is contained in:
parent
272d219066
commit
fff29a762e
3 changed files with 125 additions and 18 deletions
|
|
@ -43,6 +43,36 @@ class MainController extends AbstractController
|
|||
|
||||
foreach ($hlservers as $hlserver)
|
||||
{
|
||||
// Init defaults
|
||||
$info = [];
|
||||
$session = [];
|
||||
$online = [];
|
||||
|
||||
// Generate CRC32 ID
|
||||
$crc32server = crc32(
|
||||
$hlserver->host . ':' . $hlserver->port
|
||||
);
|
||||
|
||||
// Prepare aliases
|
||||
$aliases = [];
|
||||
|
||||
foreach ($hlserver->alias as $value)
|
||||
{
|
||||
$alias = new \xPaw\SourceQuery\SourceQuery();
|
||||
|
||||
$alias->Connect(
|
||||
$value->host,
|
||||
$value->port
|
||||
);
|
||||
|
||||
$aliases[] = [
|
||||
'host' => $value->host,
|
||||
'port' => $value->port,
|
||||
'status' => $alias->Ping()
|
||||
];
|
||||
}
|
||||
|
||||
// Request server info
|
||||
try
|
||||
{
|
||||
$server = new \xPaw\SourceQuery\SourceQuery();
|
||||
|
|
@ -56,11 +86,6 @@ class MainController extends AbstractController
|
|||
{
|
||||
if ($info = (array) $server->GetInfo())
|
||||
{
|
||||
// Generate CRC32 ID
|
||||
$crc32server = crc32(
|
||||
$hlserver->host . ':' . $hlserver->port
|
||||
);
|
||||
|
||||
// Get session
|
||||
$session = empty($info['Players']) ? [] : (array) $server->GetPlayers();
|
||||
|
||||
|
|
@ -87,18 +112,14 @@ class MainController extends AbstractController
|
|||
],
|
||||
10
|
||||
);
|
||||
|
||||
// Add server
|
||||
$servers[] = [
|
||||
'crc32server' => $crc32server,
|
||||
'host' => $hlserver->host,
|
||||
'port' => $hlserver->port,
|
||||
'alias' => $hlserver->alias,
|
||||
'info' => $info,
|
||||
'session' => $session,
|
||||
'online' => $online
|
||||
];
|
||||
}
|
||||
|
||||
$status = true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
$status = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -111,6 +132,18 @@ class MainController extends AbstractController
|
|||
{
|
||||
$server->Disconnect();
|
||||
}
|
||||
|
||||
// Add server
|
||||
$servers[] = [
|
||||
'crc32server' => $crc32server,
|
||||
'host' => $hlserver->host,
|
||||
'port' => $hlserver->port,
|
||||
'aliases' => $aliases,
|
||||
'info' => $info,
|
||||
'session' => $session,
|
||||
'online' => $online,
|
||||
'status' => $status
|
||||
];
|
||||
}
|
||||
|
||||
return $this->render(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue