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: | /** |
31: | * String name of this protocol class |
32: | * |
33: | * @type string |
34: | */ |
35: | protected $name = 'dayz'; |
36: | |
37: | /** |
38: | * Longer string name of this protocol class |
39: | * |
40: | * @type string |
41: | */ |
42: | protected $name_long = "DayZ Standalone"; |
43: | |
44: | /** |
45: | * Overload the math used to guess at the Query Port |
46: | * |
47: | * @param int $clientPort |
48: | * |
49: | * @return int |
50: | */ |
51: | public function findQueryPort($clientPort) |
52: | { |
53: | |
54: | /* |
55: | * Port layout: |
56: | * 2302 - 27016 |
57: | * 2402 - 27017 |
58: | * 2502 - 27018 |
59: | * 2602 - 27019 |
60: | * 2702 - 27020 |
61: | * ... |
62: | */ |
63: | |
64: | return 27016 + (($clientPort - 2302) / 100); |
65: | } |
66: | } |
67: |