Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App;
  4.  
  5. use App\ServerMap as ServerMap;
  6. use Illuminate\Database\Eloquent\Model;
  7.  
  8. class Server extends Model
  9. {
  10. public function __construct()
  11. {
  12. // steam condenser issue; must disable this error type for server queries to work
  13. error_reporting(~E_USER_NOTICE);
  14. }
  15.  
  16. public function queryServer($connection)
  17. {
  18. $server = $connection->gameFlag ? new \SourceServer($connection->ip, $connection->port) : new \GoldSrcServer($connection->ip, $connection->port);
  19. $server->initialize();
  20.  
  21. $serverAddress = $connection->ip . ':' . $connection->port;
  22. $serverInfo = $server->getServerInfo();
  23.  
  24. return [
  25. 'serverAddress' => $serverAddress,
  26. 'serverName' => $serverInfo['serverName'],
  27. 'mapName' => $serverInfo['mapName'],
  28. 'population' => $serverInfo['numberOfPlayers'] . '/' . $serverInfo['maxPlayers'],
  29. 'gameId' => $serverInfo['gameId'],
  30. 'players' => $this->getServerPlayers($server),
  31. 'maps' => $this->getServerMaps($connection->id)
  32. ];
  33. }
  34.  
  35. public function getServerMaps($id, $amount = 4)
  36. {
  37. return ServerMap::where('server_id', $id)
  38. ->orderBy('created_at', 'desc')
  39. ->orderBy('id', 'desc')
  40. ->take($amount)
  41. ->get();
  42. }
  43.  
  44. public function getServerPlayers($server)
  45. {
  46. return array_map(function ($player) {
  47. return $player->getName();
  48. }, $server->getPlayers());
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement