1. <?php
  2. // Подключение класса
  3. require __DIR__ . '/SourceQuery/SourceQuery.class.php';
  4. // IP
  5. $ip = '46.174.48.39';
  6. // Порт сервера
  7. $port = 27203;
  8. // Таймаут
  9. $timeout = 1;
  10. // Экземпляр
  11. $Query = new SourceQuery();
  12. // Попытаться выполнить какое-то действие. В нашем случае выполнить метод подключения к серверу
  13. try {
  14. $Query->Connect($ip, $port, $timeout, SourceQuery :: GOLDSOURCE);
  15. } catch(Exception $e) {
  16. // если произошла ошибка, и в классе прописано исключение, то попытаться словить это исключение и остановить скрипт, выведя ошибку
  17. exit($e->getMessage());
  18. }
  19. // Получение информации и запись ее в переменную
  20. $info = $Query->GetInfo();
  21. // Получение игроков и запись их в переменную
  22. $players = $Query->GetPlayers();
  23. // Отключение от сервера
  24. $Query->Disconnect();
  25. ?>
  26. <!DOCTYPE html>
  27. <html lang="en">
  28. <head>
  29. <meta charset="utf-8">
  30. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  31. <meta name="viewport" content="width=device-width, initial-scale=1">
  32. <title>Страница с инфой сервера</title>
  33. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
  34. </head>
  35. <body>
  36. <div class="container">
  37. <div class="panel panel-default">
  38. <div class="panel-heading">
  39. <h3>Информация</h3>
  40. </div>
  41. <div class="panel-body">
  42. <table class="table table-bordered">
  43. <?php if($info):?>
  44. <tr>
  45. <th>Название сервера</th>
  46. <td><?php echo $info['HostName']?></td>
  47. </tr>
  48. <tr>
  49. <th>Адрес сервера сервера</th>
  50. <td><?php echo $ip . ':' . $port?></td>
  51. </tr>
  52. <tr>
  53. <th>Карта</th>
  54. <td><?php echo $info['Map']?></td>
  55. </tr>
  56. <tr>
  57. <th>Игроков сейчас</th>
  58. <td><?php echo $info['Players']?></td>
  59. </tr>
  60. <tr>
  61. <th>Игроков всего</th>
  62. <td><?php echo $info['MaxPlayers']?></td>
  63. </tr>
  64. <?php else:?>
  65. <tr>
  66. <th>Информация не получена. Сервер возможно выключен</th>
  67. </tr>
  68. <?php endif;?>
  69. </table>
  70. </div>
  71. </div>
  72. <div class="panel panel-default">
  73. <div class="panel-heading">
  74. <h3>Информация</h3>
  75. </div>
  76. <div class="panel-body">
  77. <table class="table table-bordered table-condenced">
  78. <?php if($players):?>
  79. <thead>
  80. <tr>
  81. <th>Ник</th>
  82. <th>Счет</th>
  83. <th>Время</th>
  84. </tr>
  85. </thead>
  86. <tbody>
  87. <?php foreach($players as $player):?>
  88. <tr>
  89. <td><?php echo htmlspecialchars($player['Name'], ENT_QUOTES)?></td>
  90. <td><?php echo intval($player['Frags'])?></td>
  91. <td><?php echo $player['TimeF']?></td>
  92. </tr>
  93. <?php endforeach;?>
  94. </tbody>
  95. <?php else:?>
  96. <tr><td>Нет игроков</td></tr>
  97. <?php endif;?>
  98. </table>
  99. </div>
  100. </div>
  101. </div>
  102. </body>
  103. </html>