1: | <?php |
2: | /** |
3: | * This file is part of GameQ. |
4: | * |
5: | * GameQ is free software; you can redistribute it and/or modify |
6: | * it under the terms of the GNU Lesser General Public License as published by |
7: | * the Free Software Foundation; either version 3 of the License, or |
8: | * (at your option) any later version. |
9: | * |
10: | * GameQ is distributed in the hope that it will be useful, |
11: | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12: | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13: | * GNU Lesser General Public License for more details. |
14: | * |
15: | * You should have received a copy of the GNU Lesser General Public License |
16: | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17: | */ |
18: | |
19: | namespace GameQ\Protocols; |
20: | |
21: | /** |
22: | * Class Dayz |
23: | * |
24: | * @package GameQ\Protocols |
25: | * @author Austin Bischoff <austin@codebeard.com> |
26: | */ |
27: | class Dayz extends Source |
28: | { |
29: | /** |
30: | * String name of this protocol class |
31: | * |
32: | * @var string |
33: | */ |
34: | protected $name = 'dayz'; |
35: | |
36: | /** |
37: | * Longer string name of this protocol class |
38: | * |
39: | * @var string |
40: | */ |
41: | protected $name_long = "DayZ Standalone"; |
42: | |
43: | /** |
44: | * Overload the math used to guess at the Query Port |
45: | * |
46: | * @param int $clientPort |
47: | * |
48: | * @return int |
49: | */ |
50: | public function findQueryPort($clientPort) |
51: | { |
52: | /* |
53: | * Port layout: |
54: | * 2302 - 27016 |
55: | * 2402 - 27017 |
56: | * 2502 - 27018 |
57: | * 2602 - 27019 |
58: | * 2702 - 27020 |
59: | * ... |
60: | */ |
61: | |
62: | return 27016 + (($clientPort - 2302) / 100); |
63: | } |
64: | } |
65: |