mirror of
https://github.com/YGGverse/HLState.git
synced 2026-04-01 01:25:28 +00:00
implement basic features
This commit is contained in:
parent
e8f234d4b9
commit
2071796a07
19 changed files with 389 additions and 365 deletions
86
src/Controller/MainController.php
Normal file
86
src/Controller/MainController.php
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
class MainController extends AbstractController
|
||||
{
|
||||
#[Route(
|
||||
'/',
|
||||
name: 'main_index',
|
||||
methods:
|
||||
[
|
||||
'GET'
|
||||
]
|
||||
)]
|
||||
public function index(
|
||||
?Request $request
|
||||
): Response
|
||||
{
|
||||
// Get HLServers config
|
||||
if ($hlservers = file_get_contents($this->getParameter('app.hlservers')))
|
||||
{
|
||||
$hlservers = json_decode($hlservers);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
$hlservers = [];
|
||||
}
|
||||
|
||||
// Collect servers info
|
||||
$servers = [];
|
||||
|
||||
foreach ($hlservers as $hlserver)
|
||||
{
|
||||
try
|
||||
{
|
||||
$server = new \xPaw\SourceQuery\SourceQuery();
|
||||
|
||||
$server->Connect(
|
||||
$hlserver->host,
|
||||
$hlserver->port
|
||||
);
|
||||
|
||||
if ($server->Ping())
|
||||
{
|
||||
if ($info = (array) $server->GetInfo())
|
||||
{
|
||||
$servers[] = [
|
||||
'host' => $hlserver->host,
|
||||
'port' => $hlserver->port,
|
||||
'alias' => $hlserver->alias,
|
||||
'info' => $info,
|
||||
'online' => empty($info['Players']) ? [] : (array) $server->GetPlayers()
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception $error)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
$server->Disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render(
|
||||
'default/main/index.html.twig',
|
||||
[
|
||||
'request' => $request,
|
||||
'servers' => $servers
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue