Changeset 12 for trunk/www/server.php


Ignore:
Timestamp:
Jun 11, 2009, 9:37:46 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Nezobrazovat HTML kód v ladícím výpisu SQL dotazů při spuštění skriptu z příkazové řádky.
  • Upraveno: Překládat emulátory včetně ladících informací.
  • Přidáno: Funkce generování spouštěcích skriptů emulátoru pro servery.
  • Opraveno: Funkce zpracování a importu log souborů emulátoru do databáze tabulky Debug.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/server.php

    r11 r12  
    1111  var $WorlddBaseNetworkPort = 8085;
    1212  var $RealmdBaseNetworkPort = 3724;
     13  var $MangosWorlddThreadCountMax = 12;
    1314 
    1415  function __construct($Database, $Id)
     
    8687  {
    8788    $this->AddTask('Start emulátoru', array(
    88       'screen -A -m -d -S server'.$this->Id.'-realmd "emulator/'.$this->Server['Database']['Emulator']['Id'].'/bin/mangos-realmd -c server/'.$this->Id.'/etc/realmd.conf"',
    89       'screen -A -m -d -S server'.$this->Id.'-worldd "emulator/'.$this->Server['Database']['Emulator']['Id'].'/bin/mangos-worldd -c server/'.$this->Id.'/etc/mangosd.conf"',
     89      'screen -A -m -d -S server'.$this->Id.'-realmd emulator/'.$this->Server['Database']['Emulator']['Id'].'/bin/mangos-realmd -c server/'.$this->Id.'/etc/realmd.conf"',
     90      'screen -A -m -d -S server'.$this->Id.'-worldd server/'.$this->Id.'/bin/start.sh',
    9091    ));
    9192    return('Požadavek na start serveru zařazen.');
     
    9596  {
    9697    $this->AddTask('Zastavení emulátoru', array(
    97       'ps -ef | grep \'SCREEN -A -m -d -S server'.$this->Id.'-realmd\' | grep -v grep | awk \'{print $2}\' | xargs -i kill {}',
    98       'ps -ef | grep \'SCREEN -A -m -d -S server'.$this->Id.'-worldd\' | grep -v grep | awk \'{print $2}\' | xargs -i kill {}',
     98      'server/'.$this->Id.'/bin/stop.sh',
    9999    ));
    100100    return('Požadavek na zastavení serveru zařazen.');
     
    152152    $this->SetupConfigurationFiles();
    153153    $this->UpdateRealmlist();
     154    $this->UpdateScripts();
     155  }
     156 
     157  function UpdateScripts()
     158  {
     159    $ServerBinDir = '../server/'.$this->Id.'/bin/';
     160    if(!file_exists($ServerBinDir)) mkdir($ServerBinDir, 0777, true);   
     161   
     162    // GDB script
     163    $ScriptFileName = '../server/'.$this->Id.'/bin/mangos.gdb';
     164    $Content = array
     165    (
     166      'run -c server/'.$this->Id.'/etc/realmd.conf',
     167      'info thread',
     168    );
     169    for($I = 1; $I < $this->MangosWorlddThreadCountMax; $I++)
     170    $Content[] = 'thread apply '.$I.' bt full';
     171    file_put_contents($ScriptFileName, implode("\n", $Content));
     172    chmod($ScriptFileName, 0666);   
     173
     174    // Start script
     175    $ScriptFileName = '../server/'.$this->Id.'/bin/start.sh';
     176    $Content = array
     177    (
     178      '#!/bin/sh',
     179      'while [ 1=1 ] ; do',
     180      'gdb emulator/'.$this->Id.'/bin/mangos-realmd -x mangos.gdb --batch >>server/'.$this->Id.'/log/mangos-worldd.log 2>>server/'.$this->Id.'/log/mangos-worldd.err',
     181      'cd www',
     182      'php mangos_debug_process.php '.$this->Id.' >>server/'.$this->Id.'/log/mangos_debug.log 2>>server/'.$this->Id.'/log/mangos_debug.err',
     183      'cd ..',
     184      'sleep 3',
     185      'done',
     186    );
     187    file_put_contents($ScriptFileName, implode("\n", $Content));
     188    chmod($ScriptFileName, 0777);   
     189
     190    // Stop script
     191    $ScriptFileName = '../server/'.$this->Id.'/bin/stop.sh';
     192    $Content = array
     193    (
     194      '#!/bin/sh',
     195      'ps -ef | grep \'SCREEN -A -m -d -S server'.$this->Id.'-realmd\' | grep -v grep | awk \'{print $2}\' | xargs -i kill {}',
     196      'ps -ef | grep \'SCREEN -A -m -d -S server'.$this->Id.'-worldd\' | grep -v grep | awk \'{print $2}\' | xargs -i kill {}',
     197    );
     198    file_put_contents($ScriptFileName, implode("\n", $Content));
     199    chmod($ScriptFileName, 0777);   
    154200  }
    155201 
Note: See TracChangeset for help on using the changeset viewer.