mirror of
https://github.com/YGGverse/HLState.git
synced 2025-02-05 19:54:13 +00:00
implement server address check
This commit is contained in:
parent
272d219066
commit
fff29a762e
@ -12,6 +12,7 @@
|
||||
|
||||
/* vars */
|
||||
--container-max-width: 768px;
|
||||
--color-success: #4bc432;
|
||||
--color-warning: #ee784e;
|
||||
--color-error: #ff6363;
|
||||
--color-default: #999;
|
||||
@ -86,6 +87,53 @@ footer
|
||||
}
|
||||
|
||||
/* framework */
|
||||
.cursor-default
|
||||
{
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.cursor-pointer
|
||||
{
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cursor-help
|
||||
{
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
.color-success,
|
||||
a.color-success,
|
||||
a.color-success:active,
|
||||
a.color-success:visited
|
||||
{
|
||||
color: var(--color-success);
|
||||
}
|
||||
|
||||
.color-warning,
|
||||
a.color-warning,
|
||||
a.color-warning:active,
|
||||
a.color-warning:visited
|
||||
{
|
||||
color: var(--color-warning);
|
||||
}
|
||||
|
||||
.color-error,
|
||||
a.color-error,
|
||||
a.color-error:active,
|
||||
a.color-error:visited
|
||||
{
|
||||
color: var(--color-error);
|
||||
}
|
||||
|
||||
.color-default,
|
||||
a.color-default,
|
||||
a.color-default:active,
|
||||
a.color-default:visited
|
||||
{
|
||||
color: var(--color-default);
|
||||
}
|
||||
|
||||
.text-align-left
|
||||
{
|
||||
text-align: left;
|
||||
|
@ -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(
|
||||
|
@ -7,12 +7,38 @@
|
||||
<h3 class="padding-y-8-px text-align-right">{{ 'Address' | trans }}</h3>
|
||||
<div>
|
||||
{{ server.host }}:{{ server.port }}
|
||||
{% if server.status %}
|
||||
<span class="color-success" title="{{ 'online' | trans }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10"/>
|
||||
</svg>
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="color-error" title="{{ 'offline' | trans }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10"/>
|
||||
</svg>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if server.alias %}
|
||||
{% if server.aliases %}
|
||||
<h3 class="padding-y-8-px text-align-right">{{ 'Aliases' | trans }}</h3>
|
||||
{% for alias in server.alias %}
|
||||
{% for alias in server.aliases %}
|
||||
<div>
|
||||
{{ alias.host }}:{{ alias.port }}
|
||||
{% if alias.status %}
|
||||
<span class="color-success" title="{{ 'online' | trans }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10"/>
|
||||
</svg>
|
||||
</span>
|
||||
{% else %}
|
||||
<span class="color-error" title="{{ 'offline' | trans }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10"/>
|
||||
</svg>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user