1: <?php declare(strict_types=1);
2:
3: /**
4: * Clansuite Server Query
5: *
6: * SPDX-FileCopyrightText: 2003-2025 Jens A. Koch
7: * SPDX-License-Identifier: MIT
8: *
9: * For the full copyright and license information, please view
10: * the LICENSE file that was distributed with this source code.
11: */
12:
13: namespace Clansuite\ServerQuery\ServerProtocols;
14:
15: use Clansuite\Capture\Protocol\ProtocolInterface;
16: use Override;
17:
18: /**
19: * Age of Time protocol implementation.
20: *
21: * Age of Time uses the Torque Game Engine protocol (same as Tribes 2).
22: */
23: class AgeOfTime extends Tribes2 implements ProtocolInterface
24: {
25: /**
26: * Protocol name.
27: */
28: public string $name = 'Age of Time';
29:
30: /**
31: * List of supported games.
32: *
33: * @var array<string>
34: */
35: public array $supportedGames = ['Age of Time'];
36:
37: /**
38: * Protocol identifier.
39: */
40: public string $protocol = 'AgeOfTime';
41:
42: /**
43: * Game series.
44: *
45: * @var array<string>
46: */
47: public array $game_series_list = ['Age of Time'];
48:
49: /**
50: * Returns a native join URI for Age of Time.
51: */
52: #[Override]
53: public function getNativeJoinURI(): string
54: {
55: // Age of Time uses ageoftime:// protocol for joining servers
56: return 'ageoftime://' . $this->address . ':' . $this->hostport;
57: }
58: }
59: