Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Blockland
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 getNativeJoinURI
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
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
13namespace Clansuite\ServerQuery\ServerProtocols;
14
15use Clansuite\Capture\Protocol\ProtocolInterface;
16use 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 */
25class 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}