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
Lifyo
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 * Life Is Feudal protocol implementation.
20 *
21 * Life Is Feudal uses the Steam (A2S) protocol with port_diff = 2.
22 */
23class Lifyo extends Steam implements ProtocolInterface
24{
25    /**
26     * Protocol name.
27     */
28    public string $name = 'Life Is Feudal';
29
30    /**
31     * List of supported games.
32     *
33     * @var array<string>
34     */
35    public array $supportedGames = ['Life Is Feudal'];
36
37    /**
38     * Protocol identifier.
39     */
40    public string $protocol = 'A2S';
41
42    /**
43     * Game series.
44     *
45     * @var array<string>
46     */
47    public array $game_series_list = ['Life Is Feudal'];
48
49    /**
50     * Port adjustment if needed (default 0).
51     */
52    protected int $port_diff = 2;
53
54    /**
55     * Returns a native join URI for Life Is Feudal or false if not available.
56     */
57    #[Override]
58    public function getNativeJoinURI(): string
59    {
60        return 'steam://connect/' . $this->address . ':' . $this->hostport;
61    }
62}