From 30bd63434c3d1d436f5f263442ea2ce5ab54a5b5 Mon Sep 17 00:00:00 2001 From: Brent Oates <3065898+BrentOates@users.noreply.github.com> Date: Fri, 29 May 2026 17:19:10 +0100 Subject: [PATCH] Allow use of hostnames as aliases when resolving query address --- player-counter/src/Models/GameQuery.php | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/player-counter/src/Models/GameQuery.php b/player-counter/src/Models/GameQuery.php index b2619eea..897c6a04 100644 --- a/player-counter/src/Models/GameQuery.php +++ b/player-counter/src/Models/GameQuery.php @@ -43,8 +43,8 @@ public function runQuery(Server $server): ?array return null; } - $ip = config('player-counter.use_alias') && is_ip($server->allocation->alias) ? $server->allocation->alias : $server->allocation->ip; - $ip = is_ipv6($ip) ? '[' . $ip . ']' : $ip; + $host = static::getQueryHost($server->allocation); + $host = is_ipv6($host) ? '[' . $host . ']' : $host; $port = $server->allocation->port + ($this->query_port_offset ?? 0); @@ -59,7 +59,7 @@ public function runQuery(Server $server): ?array /** @var QueryTypeService $service */ $service = app(QueryTypeService::class); - return $service->get($this->query_type)?->process($server, $ip, $port); + return $service->get($this->query_type)?->process($server, $host, $port); } public static function canRunQuery(?Allocation $allocation): bool @@ -68,8 +68,19 @@ public static function canRunQuery(?Allocation $allocation): bool return false; } - $ip = config('player-counter.use_alias') && is_ip($allocation->alias) ? $allocation->alias : $allocation->ip; + $host = static::getQueryHost($allocation); - return !in_array($ip, ['0.0.0.0', '::']); + return !blank($host) && !in_array($host, ['0.0.0.0', '::'], true); + } + + protected static function getQueryHost(Allocation $allocation): string + { + $alias = trim((string) $allocation->alias); + + if (config('player-counter.use_alias') && $alias !== '') { + return $alias; + } + + return $allocation->ip; } }