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: | use GameQ\Buffer; |
22: | |
23: | /** |
24: | * Class Rust |
25: | * |
26: | * @package GameQ\Protocols |
27: | * @author Austin Bischoff <austin@codebeard.com> |
28: | */ |
29: | class Rust extends Source |
30: | { |
31: | /** |
32: | * String name of this protocol class |
33: | * |
34: | * @var string |
35: | */ |
36: | protected $name = 'rust'; |
37: | |
38: | /** |
39: | * Longer string name of this protocol class |
40: | * |
41: | * @var string |
42: | */ |
43: | protected $name_long = "Rust"; |
44: | |
45: | /** |
46: | * Overload so we can get max players from mp of keywords and num players from cp keyword |
47: | * |
48: | * @param Buffer $buffer |
49: | * @return mixed |
50: | * @throws \GameQ\Exception\Protocol |
51: | */ |
52: | protected function processDetails(Buffer $buffer) |
53: | { |
54: | $results = parent::processDetails($buffer); |
55: | |
56: | if ($results['keywords']) { |
57: | //get max players from mp of keywords and num players from cp keyword |
58: | preg_match_all('/(mp|cp)([\d]+)/', $results['keywords'], $matches); |
59: | $results['max_players'] = intval($matches[2][0]); |
60: | $results['num_players'] = intval($matches[2][1]); |
61: | } |
62: | |
63: | return $results; |
64: | } |
65: | } |
66: |