mirror of
https://github.com/YGGverse/HLState.git
synced 2025-02-06 04:04:12 +00:00
implement server address check
This commit is contained in:
parent
272d219066
commit
fff29a762e
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
/* vars */
|
/* vars */
|
||||||
--container-max-width: 768px;
|
--container-max-width: 768px;
|
||||||
|
--color-success: #4bc432;
|
||||||
--color-warning: #ee784e;
|
--color-warning: #ee784e;
|
||||||
--color-error: #ff6363;
|
--color-error: #ff6363;
|
||||||
--color-default: #999;
|
--color-default: #999;
|
||||||
@ -86,6 +87,53 @@ footer
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* framework */
|
/* 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
|
||||||
{
|
{
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
@ -43,6 +43,36 @@ class MainController extends AbstractController
|
|||||||
|
|
||||||
foreach ($hlservers as $hlserver)
|
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
|
try
|
||||||
{
|
{
|
||||||
$server = new \xPaw\SourceQuery\SourceQuery();
|
$server = new \xPaw\SourceQuery\SourceQuery();
|
||||||
@ -56,11 +86,6 @@ class MainController extends AbstractController
|
|||||||
{
|
{
|
||||||
if ($info = (array) $server->GetInfo())
|
if ($info = (array) $server->GetInfo())
|
||||||
{
|
{
|
||||||
// Generate CRC32 ID
|
|
||||||
$crc32server = crc32(
|
|
||||||
$hlserver->host . ':' . $hlserver->port
|
|
||||||
);
|
|
||||||
|
|
||||||
// Get session
|
// Get session
|
||||||
$session = empty($info['Players']) ? [] : (array) $server->GetPlayers();
|
$session = empty($info['Players']) ? [] : (array) $server->GetPlayers();
|
||||||
|
|
||||||
@ -87,18 +112,14 @@ class MainController extends AbstractController
|
|||||||
],
|
],
|
||||||
10
|
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();
|
$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(
|
return $this->render(
|
||||||
|
@ -7,12 +7,38 @@
|
|||||||
<h3 class="padding-y-8-px text-align-right">{{ 'Address' | trans }}</h3>
|
<h3 class="padding-y-8-px text-align-right">{{ 'Address' | trans }}</h3>
|
||||||
<div>
|
<div>
|
||||||
{{ server.host }}:{{ server.port }}
|
{{ 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>
|
</div>
|
||||||
{% if server.alias %}
|
{% if server.aliases %}
|
||||||
<h3 class="padding-y-8-px text-align-right">{{ 'Aliases' | trans }}</h3>
|
<h3 class="padding-y-8-px text-align-right">{{ 'Aliases' | trans }}</h3>
|
||||||
{% for alias in server.alias %}
|
{% for alias in server.aliases %}
|
||||||
<div>
|
<div>
|
||||||
{{ alias.host }}:{{ alias.port }}
|
{{ 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>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user