how to edit this so i just kill screen x ?
On 22 Jul 2011 00:27, "E3pO" <[email protected]> wrote:
> I made the script to check and reload server. I didn't make the rcon code.
> On Jul 21, 2011 2:12 PM, "Björn Rohlén" <[email protected]> wrote:
>> That looks a lot like FiDos code. You sure you MADE IT?
>>
>> -The G
>>
>> On Thu, Jul 21, 2011 at 9:43 PM, E3pO <[email protected]> wrote:
>>
>>> After the recent update and the server crashing non stop I made a little
>>> php
>>> script so I could go to sleep....
>>>
>>> <?php
>>>
>>> define('PACKET_SIZE', '1400');
>>> define('SERVERQUERY_INFO', "\xFF\xFF\xFF\xFFTSource Engine Query");
>>> define ('REPLY_INFO', "\x49");
>>> define('SERVERQUERY_GETCHALLENGE', "\xFF\xFF\xFF\xFF\x57");
>>> define ('REPLY_GETCHALLENGE', "\x41");
>>> define('SERVERDATA_AUTH', 3) ;
>>> define ('SERVERDATA_EXECCOMMAND', 2) ;
>>>
>>> class srcds_rcon
>>> {
>>>
>>> private function getByte(&$string)
>>> {
>>> $data = substr($string, 0, 1);
>>> $string = substr($string, 1);
>>> $data = unpack('Cvalue', $data);
>>> return $data['value'];
>>> }
>>>
>>> private function getShortUnsigned(&$string)
>>> {
>>> $data = substr($string, 0, 2);
>>> $string = substr($string, 2);
>>> $data = unpack('nvalue', $data);
>>> return $data['value'];
>>> }
>>>
>>> private function getShortSigned(&$string)
>>> {
>>> $data = substr($string, 0, 2);
>>> $string = substr($string, 2);
>>> $data = unpack('svalue', $data);
>>> return $data['value'];
>>> }
>>>
>>> private function getLong(&$string)
>>> {
>>> $data = substr($string, 0, 4);
>>> $string = substr($string, 4);
>>> $data = unpack('Vvalue', $data);
>>> return $data['value'];
>>> }
>>>
>>> private function getFloat(&$string)
>>> {
>>> $data = substr($string, 0, 4);
>>> $string = substr($string, 4);
>>> $array = unpack("fvalue", $data);
>>> return $array['value'];
>>> }
>>>
>>> private function getString(&$string)
>>> {
>>> $data = "";
>>> $byte = substr($string, 0, 1);
>>> $string = substr($string, 1);
>>> while (ord($byte) != "0")
>>> {
>>> $data .= $byte;
>>> $byte = substr($string, 0, 1);
>>> $string = substr($string, 1);
>>> }
>>> return $data;
>>> }
>>>
>>> public function rcon_command($ip, $port, $password, $command)
>>> {
>>> $requestId = 1;
>>> $s2 = '';
>>> $socket = @fsockopen ('tcp://'.$ip, $port, $errno, $errstr, 30);
>>> if (!$socket)
>>> return('Unable to connect!');
>>> $data = pack("VV", $requestId,
>>> SERVERDATA_AUTH).$password.chr(0).$s2.chr(0);
>>> $data = pack("V",strlen($data)).$data;
>>> fwrite ($socket, $data, strlen($data));
>>>
>>> $requestId++ ;
>>> $junk = fread ($socket, PACKET_SIZE);
>>> $string = fread ($socket, PACKET_SIZE);
>>> $size = $this->getLong($string);
>>> $id = $this->getLong($string) ;
>>>
>>> if ($id == -1)
>>> {
>>> return 'Authentication Failed!';
>>> }
>>>
>>> $data = pack ("VV", $requestId,
>>> SERVERDATA_EXECCOMMAND).$command.chr(0).$s2.chr(0) ;
>>> $data = pack ("V", strlen ($data)).$data ;
>>> fwrite ($socket, $data, strlen($data)) ;
>>> $requestId++ ;
>>> $i = 0 ;
>>> $text = '' ;
>>>
>>> while ($string = fread($socket, 4))
>>> {
>>> $info[$i]['size'] = $this->getLong($string) ;
>>> $string = fread($socket, $info[$i]['size']) ;
>>> $info[$i]['id'] = $this->getLong ($string) ;
>>> $info[$i]['type'] = $this->getLong ($string) ;
>>> $info[$i]['s1'] = $this->getString ($string) ;
>>> $info[$i]['s2'] = $this->getString ($string) ;
>>> $text .= $info[$i]['s1'];
>>> $i++ ;
>>> return $text;
>>> }
>>> }
>>> }
>>> while (true)
>>> {
>>> echo '---- Server Check ----'.PHP_EOL;
>>> $srcds_rcon = new srcds_rcon ();
>>> $result =
>>> $srcds_rcon->rcon_command ("SERVERIP", "27015", "RCONPASSWORD",
>>> "status");
>>> if ($result == "Unable to connect!")
>>> {
>>> echo 'ERROR: Can not connect to the server!'.PHP_EOL;
>>> $today = date ("F j, Y, g:i a");
>>>
>>> passthru ('killall srcds_linux');
>>> echo 'Killed all srcds_linux'.PHP_EOL;
>>> passthru ('ulimit -c 2097152 &&
>>> /home/srcds/srcds_new_surf/orangebox/srcds_run -debug -console -game tf
> +ip
>>> 65.18.168.205 +port 27015 +map surf_supersurf_v2 +maxplayers 32
>>> -autoupdate'); //fu** you autoupdate breakn my shit
>>> echo 'Reloaded server.'.PHP_EOL;
>>> $message = "Surf Server Crashed (again fml) ".$today;
>>> mail ('[email protected],[email protected]', 'Surf Crashed',
>>> $message);
>>> }
>>> else
>>> {
>>> echo escapeshellarg ($result).PHP_EOL;
>>> }
>>> echo '---- Waiting 60 Seconds ----'.PHP_EOL;
>>> sleep (60);
>>> }
>>>
>>> ?>
>>>
>>> Some may find it usefull... run as php5 script.php.
>>> _______________________________________________
>>> To unsubscribe, edit your list preferences, or view the list archives,
>>> please visit:
>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to