rcon.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. if(!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
  4. if($go)
  5. {
  6. include(LIB.'control/'.$server['game'].'/rcon.php');
  7. if(isset($url['action']) AND in_array($url['action'], array('kick', 'kill')))
  8. {
  9. $player = isset($_POST['player']) ? $_POST['player'] : sys::outjs(array('e' => 'Необходимо выбрать игрока.'));
  10. if($url['action'] == 'kick')
  11. rcon::cmd(array_merge($server, array('id' => $id)), 'amx_kick "'.$player.'" "EGP Panel"');
  12. else
  13. rcon::cmd(array_merge($server, array('id' => $id)), 'amx_slay "'.$player.'"');
  14. sys::outjs(array('s' => 'ok'));
  15. }
  16. include(LIB.'geo.php');
  17. $SxGeo = new SxGeo(DATA.'SxGeoCity.dat');
  18. $aPlayers = rcon::players(rcon::cmd(array_merge($server, array('id' => $id))));
  19. foreach($aPlayers as $i => $aPlayer)
  20. {
  21. $html->get('player', 'sections/control/servers/'.$server['game'].'/rcon');
  22. $html->set('i', $i);
  23. $html->set('name', $aPlayer['name']);
  24. $html->set('steamid', $aPlayer['steamid']);
  25. $html->set('time', $aPlayer['time']);
  26. $html->set('ping', $aPlayer['ping']);
  27. $html->set('ip', $aPlayer['ip']);
  28. $html->set('ico', $aPlayer['ico']);
  29. $html->set('country', $aPlayer['country']);
  30. $html->pack('players');
  31. }
  32. sys::outjs(array('s' => isset($html->arr['players']) ? $html->arr['players'] : ''));
  33. }
  34. $html->nav('Список подключенных серверов', $cfg['http'].'control');
  35. $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
  36. $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
  37. $html->nav('Rcon управление игроками');
  38. $html->get('rcon', 'sections/control/servers/'.$server['game']);
  39. $html->set('id', $id);
  40. $html->set('server', $sid);
  41. $html->pack('main');
  42. ?>