Only thing it does is try and kill srcds when its auto-updating, which
makes no sense but it wont go tits up either. If you let it kill a screen
then it will also kill your auto-update. Be aware of that ;)

On Fri, 22 Jul 2011 08:22:50 -0400, Chris <ch...@oryschak.com> wrote:
> Wont this do a endless loop of killing/starting the server if the server
is
> down because valve can possibly put out a patch this evening?
> 
> I'm just trying to get my servers to auto-start as i'm going to be out of
> town all weekend and need some automated/fail proof setup for the servers
> crashing.
> 
> 
> 
> On Fri, Jul 22, 2011 at 7:27 AM, E3pO <e...@wmclan.net> wrote:
> 
>> You can change the killall srcds_linux to something like...
>>
>> kill `ps aux  | awk '/srcds_new_surf/{print $2}'`
>>
>>
>>
>>
http://www.linuxquestions.org/questions/linux-software-2/how-do-i-kill-a-screen-from-command-line-if-i-know-the-screen-name-357064/#post1822639
>>
>>
>> On Fri, Jul 22, 2011 at 6:43 AM, daniel jokiaho
<daniel.joki...@gmail.com
>> >wrote:
>>
>> > how to edit this so i just kill screen x ?
>> > On 22 Jul 2011 00:27, "E3pO" <e...@wmclan.net> 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" <bjorn.roh...@gmail.com>
>> 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 <e...@wmclan.net> 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 ('cellphonenum...@vtext.com,e...@wmclan.net', '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
>> >
>> _______________________________________________
>> 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