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: * Blockland protocol implementation.
20: *
21: * https://blockland.online/servers
22: *
23: * Blockland uses the Torque Game Engine protocol (same as Tribes 2).
24: */
25: class Blockland extends Tribes2 implements ProtocolInterface
26: {
27: /**
28: * Protocol name.
29: */
30: public string $name = 'Blockland';
31:
32: /**
33: * List of supported games.
34: *
35: * @var array<string>
36: */
37: public array $supportedGames = ['Blockland'];
38:
39: /**
40: * Protocol identifier.
41: */
42: public string $protocol = 'Blockland';
43:
44: /**
45: * Game series.
46: *
47: * @var array<string>
48: */
49: public array $game_series_list = ['Blockland'];
50:
51: /**
52: * Returns a native join URI for Blockland.
53: */
54: #[Override]
55: public function getNativeJoinURI(): string
56: {
57: // Blockland uses blockland:// protocol for joining servers
58: return 'blockland://' . $this->address . ':' . $this->hostport;
59: }
60: }
61: