Peržiūrėti temą
PHP-Fusion Mods :: PHP-Fusion modifikacijų forumas :: Pageidaujami infusionai, panelės, modifikacijos.
v6 serverio monitorius
|
|||||||||||||||||||||||
xarnisx |
parašyta 2010-04-08 09:25
|
||||||||||||||||||||||
Pradinukas![]() Reputacija: 0 Pranešimai: 33 Įstojo: 2009-11-19 |
[IMG]http://www.part.lt/img/d390373e52aa7391b9ca94fbe2db12be997.bmp[/IMG] Sveiki. Kaip paredaguoti si monitoriu, kad netampytu puslapio (zemyn) kai rodo zaidejus , o eitu paciam ziuret einant zemyn (nemoku paaiskint kaip, bet kad butu tas pats kaip ziurint betkoki saita ir desineje puseje yra juosta kuria trauki ir webas slekasi zemyn ar i virsu :D nu kaska suveliau, bet nemoku kitaip paaiskint, manau supratot ). Gal yra koks kodas? iskarto dekingas kas papasakos kaip :) Redagavo xarnisx 2010-04-08 09:27 |
||||||||||||||||||||||
beshell |
parašyta 2010-04-08 09:31
|
||||||||||||||||||||||
Pradinukas![]() Reputacija: 0 Pranešimai: 28 Įstojo: 2010-04-05 |
Jau buvo kurta tokia tema, naudokis paieska... | ||||||||||||||||||||||
xarnisx |
parašyta 2010-04-08 09:36
|
||||||||||||||||||||||
Pradinukas![]() Reputacija: 0 Pranešimai: 33 Įstojo: 2009-11-19 |
Srry, visko neperzejau, bet pasakymas "naudokis paieska" kaskaip nlb, nes net neisivaiduoju ka rasyt ;d | ||||||||||||||||||||||
beshell |
parašyta 2010-04-08 09:38
|
||||||||||||||||||||||
Pradinukas![]() Reputacija: 0 Pranešimai: 28 Įstojo: 2010-04-05 |
<----- situo kodu naudokis :) | ||||||||||||||||||||||
xarnisx |
parašyta 2010-04-08 09:51
|
||||||||||||||||||||||
Pradinukas![]() Reputacija: 0 Pranešimai: 33 Įstojo: 2009-11-19 |
jau buvau rades, bet net neiivaizuodu kur ji det.. va idedu koda tai jei nesunku idek ta iframe , busiu dekingas :) opentable("Serverio monitorius"); ?> $serverIP = "82.135.228.43"; $serverPort = 7777; try { $rQuery = new QueryServer( $serverIP, $serverPort ); $aInformation = $rQuery->GetInfo( ); $aServerRules = $rQuery->GetRules( ); $aBasicPlayer = $rQuery->GetPlayers( ); $aTotalPlayers = $rQuery->GetDetailedPlayers( ); $serverIP = "82.135.228.43"; $serverPort = 7777; $rQuery->Close( ); } catch (QueryServerException $pError) { echo 'SERVERIS I?JUNGTAS!!!'; } if(isset($aInformation) && is_array($aInformation)){ ?>
if(!is_array($aTotalPlayers) || count($aTotalPlayers) == 0){ echo ' Niekas ne?aid?ia'; } else { ?>
} } class QueryServer { private $szServerIP; private $iPort; private $rSocketID; private $bStatus; function __construct( $szServerIP, $iPort ) { $this->szServerIP = $this->VerifyAddress( $szServerIP ); $this->iPort = $iPort; if (empty( $this->szServerIP ) || !is_numeric( $iPort )) { throw new QueryServerException( 'Either the ip-address or the port isn\'t filled in correctly.' ); } $this->rSocketID = @fsockopen( 'udp://' . $this->szServerIP, $iPort, $iErrorNo, $szErrorStr, 5 ); if (!$this->rSocketID) { throw new QueryServerException( 'Cannot connect to the server: ' . $szErrorStr ); } socket_set_timeout( $this->rSocketID, 0, 500000 ); $this->bStatus = true; } function VerifyAddress( $szServerIP ) { if (ip2long( $szServerIP ) !== false && long2ip( ip2long( $szServerIP ) ) == $szServerIP ) { return $szServerIP; } $szAddress = gethostbyname( $szServerIP ); if ($szAddress == $szServerIP) { return ""; } return $szAddress; } function SendPacket( $cPacket ) { $szPacket = 'SAMP'; $aIpChunks = explode( '.', $this->szServerIP ); foreach( $aIpChunks as $szChunk ) { $szPacket .= chr( $szChunk ); } $szPacket .= chr( $this->iPort & 0xFF ); $szPacket .= chr( $this->iPort >> 8 & 0xFF ); $szPacket .= $cPacket; return fwrite( $this->rSocketID, $szPacket, strlen( $szPacket ) ); } function GetPacket( $iBytes ) { $iResponse = fread( $this->rSocketID, $iBytes ); if ($iResponse === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } $iLength = ord( $iResponse ); if ($iLength > 0) return fread( $this->rSocketID, $iLength ); return ""; } function Close( ) { if ($this->rSocketID !== false) { fclose( $this->rSocketID ); } } function toInteger( $szData ) { $iInteger = 0; $iInteger += ( ord( @$szData[ 0 ] ) ); $iInteger += ( ord( @$szData[ 1 ] ) << 8 ); $iInteger += ( ord( @$szData[ 2 ] ) << 16 ); $iInteger += ( ord( @$szData[ 3 ] ) << 24 ); if( $iInteger >= 4294967294 ) $iInteger -= 4294967296; return $iInteger; } function GetInfo( ) { if ($this->SendPacket('i') === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } $szFirstData = fread( $this->rSocketID, 4 ); if (empty( $szFirstData ) || $szFirstData != 'SAMP') { throw new QueryServerException( 'The server at ' . $this->szServerIP . ' is not an SA-MP Server.' ); } fread( $this->rSocketID, 7 ); return array ( 'Password' => ord( fread( $this->rSocketID, 1 ) ), 'Players' => $this->toInteger( fread( $this->rSocketID, 2 ) ), 'MaxPlayers' => $this->toInteger( fread( $this->rSocketID, 2 ) ), 'Hostname' => $this->GetPacket( 4 ), 'Gamemode' => $this->GetPacket( 4 ), 'Map' => $this->GetPacket( 4 ) ); } function GetRules( ) { if ($this->SendPacket('r') === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } // Pop the first 11 bytes from the response; fread( $this->rSocketID, 11 ); $iRuleCount = ord( fread( $this->rSocketID, 2 ) ); $aReturnArray = array( ); for( $i = 0; $i < $iRuleCount; $i ++ ) { $szRuleName = $this->GetPacket( 1 ); $aReturnArray[ $szRuleName ] = $this->GetPacket( 1 ); } return $aReturnArray; } function GetPlayers( ) { if ($this->SendPacket('c') === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } // Again, pop the first eleven bytes send; fread( $this->rSocketID, 11 ); $iPlayerCount = ord( fread( $this->rSocketID, 2 ) ); $aReturnArray = array( ); for( $i = 0; $i < $iPlayerCount; $i ++ ) { $aReturnArray[ ] = array ( 'Nickname' => $this->GetPacket( 1 ), 'Score' => $this->toInteger( fread( $this->rSocketID, 4 ) ) ); } return $aReturnArray; } function GetDetailedPlayers( ) { if ($this->SendPacket('d') === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } fread( $this->rSocketID, 11 ); $iPlayerCount = ord( fread( $this->rSocketID, 2 ) ); $aReturnArray = array( ); for( $i = 0; $i < $iPlayerCount; $i ++ ) { $aReturnArray[ ] = array( 'PlayerID' => $this->toInteger( fread( $this->rSocketID, 1 ) ), 'Nickname' => $this->GetPacket( 1 ), 'Score' => $this->toInteger( fread( $this->rSocketID, 4 ) ), 'Ping' => $this->toInteger( fread( $this->rSocketID, 4 ) ) ); } return $aReturnArray; } function RCON($rcon, $command) { echo 'Password '.$rcon.' with '.$command; if ($this->SendPacket('x '.$rcon.' '.$command) === false) { throw new QueryServerException( 'Connection to ' . $this->szServerIP . ' failed or has dropped.' ); } // Pop the first 11 bytes from the response; $aReturnArray = fread( $this->rSocketID, 11 ); echo fread( $this->rSocketID, 11 ); return $aReturnArray; } } class QueryServerException extends Exception { private $szMessage; function __construct( $szMessage ) { $this->szMessage = $szMessage; } function toString( ) { return $this->szMessage; } } closetable(); Tiek daug lankytoju ir visa kita, tokie visi protingi, bet niekas negali supysto koduko padt ra?yt... kraupu Redagavo xarnisx 2010-04-14 11:33 |
||||||||||||||||||||||
Peršokti į forumą: |