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: