Cześć, mam mały problem z tabelą serwerów na stronie www, problem polega na tym, że jak dodałem drugi serwer do tabelki to wyświetla się wszystko, tylko GameTracker`s wyświetla się taki sam jak na serwerze BF2, wiem że trzeba podmienić coś w wierszu z drugim serwerem, ale gdy to robię to nic się nie zmienia, lub w ogóle nie wyświetla serwera. tabelka jest dołączona do stylu SilentSklill, która znajduje się Tutaj. Problem wyświetla się na mojej stronie Tutaj
status.php
<?php ob_start(); include('status/config.php'); include('status/func.php'); $serwery=0; $gracze=0; $sloty=0;?> <head> <!--<?if($automatyczne_odswiezanie){?><meta http-equiv="refresh" content="<?echo $automatyczne_odswiezanie?>"<?}?>/>--> <link rel="stylesheet" href="status/jquery.tooltip.css" /> <link rel="stylesheet" href="status/style.css" /> <script src="status/js/jquery-1.8.0.min.js" type="text/javascript"></script> <script src="status/js/jquery.tooltip.js" type="text/javascript"></script> <script src="status/js/ajax.js" type="text/javascript"></script> <script type="text/javascript"> function ref(text,i,id) { $(function() { $('#pretty'+i+'-'+id).tooltip({ track: true, delay: 0, showURL: false, fade: 350, showBody: " - ", extraClass: "pretty", fixPNG: true, top: -35, bodyHandler: function() { var tip = text; var url = $(this).attr("href"); $.ajax({ url:url, success:function(html){tip = html;}, async:true }); return tip }, }); }); } $(function() { $('.pretty').tooltip({ track: true, delay: 0, showURL: false, fade: 350, showBody: " - ", extraClass: "pretty", fixPNG: true, top: -35, }); }); var inf=Array(); var servers=<?echo count($serwer);?>; var ts3=<?echo $licz['ts3'];?>; var vt=<?echo $licz['ventrilo'];?>; var podsum=[]; </script> </head> <body> <table style="margin:0; padding:0; margin-top: 10px; border-top: 2px solid #131313; border-bottom: 2px solid #66ff69; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border: 2px double white" cellpadding="5" cellspacing="0" align="center" width="100%"> <? $nie_licz=0; foreach($serwer as $id => $i) { $ip=explode(':', $i['ip']); if($i['on']){?> <tr> <td class="srodek" align="center"><img src="status/img/<?echo $i['game'];?>.png" border="0" title="<?echo $games[0][$i['game']];?>"/></td> <td class="srodek" align="left"> <span class="srvid"><? if(count($cvars[0][$i['game']])){?><script>inf[<?echo $id;?>]="<font color='black' size='-3'><?if($i['online']){for($r=0;$r<count($cvars[0][$i['game']]);$r++){if(isset($i['cvars'][$r])){echo $cvars[0][$i['game']][$r][1];?>	<?echo $i['cvars'][$r];?> <br /><?}}?><?}else{echo 'Serwer jest tymczasowo wyłączony';}?></font>";</script><div class="pretty" id="pretty0-<?echo $id;?>" title="<font color='black' size='-3'><?if($i['online']){for($r=0;$r<count($cvars[0][$i['game']]);$r++){if(isset($i['cvars'][$r])){echo $cvars[0][$i['game']][$r][1];?>	<?echo $i['cvars'][$r];?> <br /><?}}?><?}else{echo 'Serwer jest tymczasowo wyłączony';}?></font>"><?}?>#<?echo $serwery+1; ?> <?if($i['new']){?><img src="status/img/new.gif"/><?}?></span><span class="srvname" id="<?echo $id?>name"><?echo $i['nazwa']; ?></span><?if($i['game']!='ts3'){?></div><?}?></td> <td class="srodek" align="left"><span class="srvip"><span id="<?echo $id?>ip"><?echo $i['ip']; ?></span></span></td> <td class="srodek" id="on1-<?echo $id?>" style="display:<?if(!$i['online']){?><?}else{?>none<?}?>" colspan="4" align="center"><span class="srvoff">Serwer jest wyłączony</span></td> <? if($i['game']=='ventrilo') { $gr=0;?> <td id="on<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span id="<?echo $id?>list"><div class="pretty" style="font-size:10px;color:black" id="pretty1-<?echo $id?>" title="<sub><?if($i['online']){if(count($i['player'])==1 || !$i['player']){?>Brak graczy<?}else{ if(ae_detect_ie()) {?>Nick<?}else{?><table cellspacing='1' align='center'><tr align='center'><td align='center'><font color='black' size='-3'>Lp.</font></td><td align='center'><font color='black' size='-3'>Nick</font></td></tr><?} foreach($i['player'] as $player){ $gr++; $player['name']=htmlspecialchars($player['name']); $player['name']=strip_tags($player['name']); $player['name']=str_replace("-","−",$player['name']); if($player['admin']){$player['name']='<b>'.$player['name'].'</b>';} if(ae_detect_ie()) { echo $player['name'].' '; }else { echo '<tr align=center><td align=center><font color=\'black\' size=\'-3\'>'.$gr.'</font></td><td align=center><font color=\'black\' size=\'-3\'>'.$player['name'].'</font></td></tr>'; }}}if (!ae_detect_ie()) {?></table></font><?}}?></sub>"></span> <span class="srvplayers"><div id="<?echo $id?>players"><?if($i['online']) { echo $i['players'].'</span><span class="srvslash">/</span><span class="srvplayers">'.$i['max']; }?></div></div></span></td> <td id="on1-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvnoinfo">Brak informacji</span></td> <td id="on2-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvpass"><div id="<?echo $id?>pass">Nie</div></span> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <a target="_blank" class="srvconnect" href="ventrilo://<?echo $i['ip'];?>/servername=<?echo $i['nazwa']?>">Połącz</a> </td> <?} else if($i['game']=='ts3') { $gr=0;?> <td id="on<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" id="gracze" align="center"><span id="<?echo $id?>list"><div class="pretty" style="font-size:10px;color:black" id="pretty1-<?echo $id?>" title="<sub><?if($i['online']){if(count($i['player'])==1 || !$i['player']){?>Brak graczy<?}else{ if(ae_detect_ie()) {?>Nick<?}else{?><table cellspacing='1' align='center'><tr align='center'><td align='center'><font size='-3'>Lp.</font></td><td align='center'><font size='-3'>Nick</font></td></tr><?} foreach($i['player'] as $player){ $gr++; $player['client_nickname']=htmlspecialchars($player['client_nickname']); $player['client_nickname']=strip_tags($player['client_nickname']); $player['client_nickname']=str_replace("-","−",$player['client_nickname']); if(ae_detect_ie()) { echo $player['client_nickname'].' '; }else { echo '<tr align=center><td align=center><font size=\'-3\'>'.$gr.'</font></td><td align=center><font size=\'-3\'>'.$player['client_nickname'].'</font></td></tr>'; }}}if (!ae_detect_ie()) {?></table></font><?}}?></sub>"></span> <span class="srvplayers"><div id="<?echo $id?>players"><?if($i['online']) { echo $i['players'].'</span><span class="srvslash">/</span><span class="srvplayers">'.$i['max']; }?></div></div></span></td> <td id="on1-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvnoinfo">Brak informacji</span></td> <td id="on2-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvpass"><div id="<?echo $id?>pass"><?if($i['online']){if($i['haslo']){echo 'Tak';}else{echo 'Nie';}};?></div></span> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <a target="_blank" class="srvconnect" href="ts3server://<?echo $ip[0];?>?port=<?echo $ip[1];?>">Połącz</a> </td> <?} else if($i['game']=='cs') { $gr=0;?> <td id="on<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><?if($i['game']!='mc'){?><span id="<?echo $id?>list"><div class="pretty" id="pretty1-<?echo $id?>" title="<font color='black' size='-3'><sub><?if($i['online']){if(!count($i['player'])){?>Brak graczy<?}else{ if(ae_detect_ie()) {?>Nick			Fragi <?}else{?><table cellspacing='1' align='center'><tr align='center'><td align='center'><font size='-3'>Lp.</font></td><td align='center'><font size='-3'>Nick</font></td><td align='center'><font size='-6'>Fragi</font></td></tr><?} foreach($i['player'] as $player){ $gr++; $player['name']=htmlspecialchars($player['name']);if(!isset($player['score'])) $player['score']=0; if($player['score']>4000000000) $player['score']=0; $player['name']=strip_tags($player['name']); $player['name']=str_replace("-","−",$player['name']); if(ae_detect_ie()) { echo $player['name'].'			'.$player['score'].' '; }else { echo '<tr align=center><td align=center><font size=\'-3\'>'.$gr.'</font></td><td align=center><font size=\'-3\'>'.$player['name'].'</font></td><td align=center><font size=\'-3\'>'.$player['score'].'</font></td></tr>'; }}}if (!ae_detect_ie()) {?></table></font><?}}?></sub>"></span><?}?> <span class="srvplayers"><div id="<?echo $id?>players"><?if($i['online']){ echo $i['players'].'</span><span class="srvslash">/</span><span class="srvplayers">'.$i['max']; }?></div></div></span></td> <td id="on1-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvmap"><?if($i['game']=='cs'){?><span id="<?echo $id?>imap"><div class="pretty" id="pretty2-<?echo $id?>" title="<font color='black' size='-3'><?if(isset($i['nextmap'])){?>Następna mapa:	<?echo $i['nextmap'];?> <br /><?}if(isset($i['timeleft'])){?>Do zmiany mapy pozostało:	<?echo $i['timeleft'];}?> </font>"></span><?}if(isset($i['map'])){?><div id="<?echo $id?>map"><?php echo substr($i['map'], 0, 22);?></div><?}?></div></span> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <?if($i['game']!='mc'){?><a href="http://www.gametracker.com/server_info/188.165.21.245:27065/" target="_blank"><img src="https://cache.gametracker.com/server_info/188.165.21.245:27065/b_350_20_692108_381007_FFFFFF_000000.png" border="0" width="350" height="20" alt=""/></a><?}else{?>-<?}?> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <?if($i['game']!='mc'){?><a target="_blank" href="hlsw://193.33.177.136:52084"><img src="status/img/hltv.png"></a> <a target="_blank" href="http://www.gametracker.com/server_info/188.165.21.245:27065/"><img src="status/img/gt.png"></a> <a target="_blank" href="steam://connect/<?echo $i['ip'];?>"><img src="status/img/steam.png"></a><?}else{?>-<?}?> </td> <?} else if($i['game']=='fun') { $gr=0;?> <td id="on<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><?if($i['game']!='mc'){?><span id="<?echo $id?>list"><div class="pretty" id="pretty1-<?echo $id?>" title="<font color='black' size='-3'><sub><?if($i['online']){if(!count($i['player'])){?>Brak graczy<?}else{ if(ae_detect_ie()) {?>Nick			Fragi <?}else{?><table cellspacing='1' align='center'><tr align='center'><td align='center'><font size='-3'>Lp.</font></td><td align='center'><font size='-3'>Nick</font></td><td align='center'><font size='-6'>Fragi</font></td></tr><?} foreach($i['player'] as $player){ $gr++; $player['name']=htmlspecialchars($player['name']);if(!isset($player['score'])) $player['score']=0; if($player['score']>4000000000) $player['score']=0; $player['name']=strip_tags($player['name']); $player['name']=str_replace("-","−",$player['name']); if(ae_detect_ie()) { echo $player['name'].'			'.$player['score'].' '; }else { echo '<tr align=center><td align=center><font size=\'-3\'>'.$gr.'</font></td><td align=center><font size=\'-3\'>'.$player['name'].'</font></td><td align=center><font size=\'-3\'>'.$player['score'].'</font></td></tr>'; }}}if (!ae_detect_ie()) {?></table></font><?}}?></sub>"></span><?}?> <span class="srvplayers"><div id="<?echo $id?>players"><?if($i['online']){ echo $i['players'].'</span><span class="srvslash">/</span><span class="srvplayers">'.$i['max']; }?></div></div></span></td> <td id="on1-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"><span class="srvmap"><?if($i['game']=='cs'){?><span id="<?echo $id?>imap"><div class="pretty" id="pretty2-<?echo $id?>" title="<font color='black' size='-3'><?if(isset($i['nextmap'])){?>Następna mapa:	<?echo $i['nextmap'];?> <br /><?}if(isset($i['timeleft'])){?>Do zmiany mapy pozostało:	<?echo $i['timeleft'];}?> </font>"></span><?}if(isset($i['map'])){?><div id="<?echo $id?>map"><?php echo substr($i['map'], 0, 22);?></div><?}?></div></span> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <?if($i['game']!='mc'){?><a href="http://www.gametracker.com/server_info/54.36.186.21:27015/" target="_blank"><img src="https://cache.gametracker.com/server_info/54.36.186.21:27015/b_350_20_692108_381007_FFFFFF_000000.png" border="0" width="350" height="20" alt=""/></a><?}else{?>-<?}?> </td> <td id="on3-<?echo $id?>" style="display:<?if($i['online']){?>display<?}else{?>none<?}?>" class="srodek" align="center"> <?if($i['game']!='mc'){?><a target="_blank" href="hlsw://54.36.186.21:27020"><img src="status/img/hltv.png"></a> <a target="_blank" href="http://www.gametracker.com/server_info/54.36.186.21:27015/"><img src="status/img/gt.png"></a> <a target="_blank" href="steam://connect/<?echo $i['ip'];?>"><img src="status/img/steam.png"></a><?}else{?>-<?}?> </td> <?}?> <script>podsum[<?echo $id?>]=[<?if(!($i['game']=='ventrilo' && !$licz['ventrilo']) && !($i['game']=='ts3' && !$licz['ts3'])) {echo $i['players'],',',$i['max'];} else { echo '0,0'; }?>];</script> </div> <?}?> </tr> <? $serwery++; if(!($i['game']=='ventrilo' && !$licz['ventrilo']) && !($i['game']=='ts3' && !$licz['ts3'])) { if($i['online']) { $gracze+=$i['players']; $sloty+=$i['max']; } } else $nie_licz++; }?> <?if($podsumowanie){?> <tr> <td class="srodek" align="center"> <img src="status/img/info.png" border="0"></td> <td colspan="8" class="srodek"> <span class="srvpodsum"> <script type="text/javascript"> function autoRefresh() { setTimeout('refPods()',3000); for(i=0;i<<?echo $serwery?>;i++) { refreshServer(i); if(document.getElementById('pretty0-'+i)) ref(inf[i],0,i); } } function refPods() { var sloty = document.getElementById('sloty'); var gracze = document.getElementById('gracze'); var graczee=0; var slotyy=0; for(var i=0;i<servers;i++) { graczee+=podsum[i][0]; slotyy+=podsum[i][1]-podsum[i][0]; } sloty.innerHTML = slotyy; gracze.innerHTML = graczee; } setInterval(function(){autoRefresh()},<?echo $automatyczne_odswiezanie?>*1000); setTimeout('autoRefresh()',1000); </script> Aktualnie na naszych <i><u><b><?echo $serwery-$nie_licz;?></b></u></i> serwerach gra <i><u><b><span id="gracze"><?php echo $gracze;?></div></b></u></i> graczy, i jest <i><u><b><span id="sloty"><?php echo $sloty-$gracze;?></div></b></i></u> wolnych slotów.</span> </td> </tr> <?}?> </table> </body> <?php ob_end_flush(); ?>
func.php
<? for($i=0;$i<count($serwers);$i++) { if($serwers[$i]['on']) { $serwer[$i]['ip']=$serwers[$i]['ip']; $serwer[$i]['on']=$serwers[$i]['on']; $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['game']=$serwers[$i]['game']; if($serwer[$i]['game']!="mc") $serwer[$i]['hltv']=$serwers[$i]['hltv']; else $serwer[$i]['hltv']=""; $serwer[$i]['new']=$serwers[$i]['new']; $serwer[$i]['offline']=$serwers[$i]['offline']; $ff = explode(":", $serwer[$i]['ip']); $ip=$ff[0]; $port=''; if(isset($ff[1])) $port=$ff[1]; switch($serwers[$i]['game']) { case 'cod2': case 'cod4': case 'tf2': case 'csgo': case 'cssource': case 'cs': if(!$serwers[$i]['offline']) { if(!$serwer[$i] = cache::factory() -> load('serwer'.$i.'i')) { $serwer[$i]['ip']=$serwers[$i]['ip']; $serwer[$i]['on']=$serwers[$i]['on']; $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['game']=$serwers[$i]['game']; $serwer[$i]['hltv']=$serwers[$i]['hltv']; $serwer[$i]['new']=$serwers[$i]['new']; $serwer[$i]['offline']=$serwers[$i]['offline']; $gq= new GameQ; $gq->addServer($i,array($serwer[$i]['game'],$ip,$port)); $gq->setOption('timeout',100); $gq->setFilter('normalise'); $gq->setFilter('sortplayers', 'gq_score',false); $info = $gq->requestData(); if($info[$i]['gq_online']!=1) { $serwer[$i]['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer[$i]['online']=false; $serwer[$i]['map']=''; $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; } else { $serwer[$i]['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['online']=true; $serwer[$i]['map']=$info[$i]['gq_mapname']; $serwer[$i]['players']=$info[$i]['gq_numplayers']; $serwer[$i]['max']=$info[$i]['gq_maxplayers']; $serwer[$i]['haslo']=$info[$i]['gq_password']; if($nazwa_serwera==1) $serwer[$i]['nazwa']=$info[$i]['hostname']; else $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; if(isset($info[$i]['amx_nextmap'])) $serwer[$i]['nextmap']=$info[$i]['amx_nextmap']; if(isset($info[$i]['amx_timeleft'])) $serwer[$i]['timeleft']=$info[$i]['amx_timeleft']; if(!isset($serwer[$i]['timeleft'])) $serwer[$i]['timeleft']="Brak czasu"; if(!isset($serwer[$i]['nextmap'])) $serwer[$i]['nextmap']="Jeszcze nie wybrano"; for($e=0;$e<count($cvars[0][$serwer[$i]['game']]);$e++) { if(isset($info[$i][$cvars[0][$serwer[$i]['game']][$e][0]])) $serwer[$i]['cvars'][$e]=$info[$i][$cvars[0][$serwer[$i]['game']][$e][0]]; else $serwer[$i]['cvars'][$e]="Brak"; if($serwer[$i]['cvars'][$e]==1 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Tak"; else if($serwer[$i]['cvars'][$e]==0 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Nie"; } if($serwer[$i]['players']>0) $serwer[$i]['player']=$info[$i]['players']; else $serwer[$i]['player']=array(); } cache::factory() -> save( 'serwer'.$i.'i', $serwer[$i], $main['cache_time']); } else { $serwer[$i]['on']=$serwers[$i]['on']; if(!isset($serwer[$i]['nazwa']) || $serwer[$i]['nazwa']=='') $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['ip']=$serwers[$i]['ip']; if(!isset($serwer[$i]['map']) || $serwer[$i]['map'] == '' || $serwer[$i]['online']!=true) { $serwer[$i]['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer[$i]['online']=false; $serwer[$i]['map']=''; } else { $serwer[$i]['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['online']=true; } } } else { $serwer[$i]['map']=''; $serwer[$i]['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer[$i]['online']=false; } break; break; break; break; break; break; case 'ventrilo': if(!$serwer[$i] = cache::factory() -> load('serwer'.$i.'i')) { $serwer[$i]['ip']=$serwers[$i]['ip']; $serwer[$i]['on']=$serwers[$i]['on']; $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['game']=$serwers[$i]['game']; $serwer[$i]['new']=$serwers[$i]['new']; $serwer[$i]['offline']=$serwers[$i]['offline']; $serwer[$i]['hltv']=$serwers[$i]['hltv']; $gq= new GameQ; $gq->addServer($i,array($serwer[$i]['game'],$ip,$port)); $gq->setOption('timeout',80); $info = $gq->requestData(); if (isset($info[$i])) { $serwer[$i]['online']=true; $serwer[$i]['status']= "<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['players']=0; $serwer[$i]['max']=0; if(isset($info[$i]['clientcount'])) $serwer[$i]['players']=$info[$i]['clientcount']; if(isset($info[$i]['maxclients'])) $serwer[$i]['max']=$info[$i]['maxclients']; if($serwer[$i]['players']>0) $serwer[$i]['player']=$info[$i]['players']; else $serwer[$i]['player']=array(); for($e=0;$e<count($cvars[0][$serwer[$i]['game']]);$e++) { if(isset($info[$i][$cvars[0][$serwer[$i]['game']][$e][0]])) $serwer[$i]['cvars'][$e]=$info[$i][$cvars[0][$serwer[$i]['game']][$e][0]]; else $serwer[$i]['cvars'][$e]="Brak"; if($serwer[$i]['cvars'][$e]==1 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Tak"; else if($serwer[$i]['cvars'][$e]==0 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Nie"; } } else { $serwer[$i]['online']=false; $serwer[$i]['status']= "<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; } cache::factory() -> save( 'serwer'.$i.'i', $serwer[$i], $main['cache_time']); } else { $serwer[$i]['on']=$serwers[$i]['on']; if(!isset($serwer[$i]['nazwa']) || $serwer[$i]['nazwa']=='') $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['ip']=$serwers[$i]['ip']; if($serwer[$i]['online']!=true) { $serwer[$i]['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer[$i]['online']=false; $serwer[$i]['map']=''; } else { $serwer[$i]['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['online']=true; } } break; case 'ts3': if(!$serwer[$i] = cache::factory() -> load('serwer'.$i.'i')) { $serwer[$i]['ip']=$serwers[$i]['ip']; $serwer[$i]['on']=$serwers[$i]['on']; $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['game']=$serwers[$i]['game']; $serwer[$i]['new']=$serwers[$i]['new']; $serwer[$i]['offline']=$serwers[$i]['offline']; $serwer[$i]['hltv']=$serwers[$i]['hltv']; $ts3 = new ts3admin($ip, 10011); if($ts3->getElement('success', $ts3->connect())) { $ts3->selectServer($port); $infots3=$ts3->serverInfo(); $clients=$ts3->clientList(); $serwer[$i]['online']=true; $serwer[$i]['status']= "<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['players']=$infots3['data']['virtualserver_clientsonline']-1; $serwer[$i]['max']=$infots3['data']['virtualserver_maxclients']; $serwer[$i]['haslo']=$infots3['data']['virtualserver_password']; $serwer[$i]['player']=$clients['data']; for($e=0;$e<count($cvars[0][$serwer[$i]['game']]);$e++) { if(isset($infots3['data'][$cvars[0][$serwer[$i]['game']][$e][0]])) $serwer[$i]['cvars'][$e]=$infots3['data'][$cvars[0][$serwer[$i]['game']][$e][0]]; else $serwer[$i]['cvars'][$e]="Brak"; if($serwer[$i]['cvars'][$e]==1 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Tak"; else if($serwer[$i]['cvars'][$e]==0 && strlen($serwer[$i]['cvars'][$e])<2) $serwer[$i]['cvars'][$e]="Nie"; } } else { $serwer[$i]['online']=false; $serwer[$i]['status']= "<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; } cache::factory() -> save( 'serwer'.$i.'i', $serwer[$i], $main['cache_time']); } else { $serwer[$i]['on']=$serwers[$i]['on']; if(!isset($serwer[$i]['nazwa']) || $serwer[$i]['nazwa']=='') $serwer[$i]['nazwa']=$serwers[$i]['nazwa']; $serwer[$i]['ip']=$serwers[$i]['ip']; if($serwer[$i]['online']!=true) { $serwer[$i]['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer[$i]['online']=false; $serwer[$i]['map']=''; } else { $serwer[$i]['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer[$i]['online']=true; } } break; } } } ?>
config.php
<?php require_once('inc/GameQ.php'); include_once("inc/ts3admin.class.php"); require 'inc/class.cache.php'; $serwer=array(); $main = array(); $main['cache_time']=30; $main['dateformat'] = "Y-M-d H:i:s"; $automatyczne_odswiezanie=30; // Co ile sekund tabela się odświeża. 0 - wyłącza odświeżanie. $licz['ts3']=1; // Czy ma liczyć sloty z serwerów TS3 w podsumowaniu na końcu tabeli 0-nie 1-tak $licz['ventrilo']=0; // Czy ma liczyć sloty z serwerów Ventrilo w podsumowaniu na końcu tabeli 0-nie 1-tak $podsumowanie=1; // Czy pokazywać podsumowanie: Aktualnie na naszych 3 serwerach gra... 0-nie 1-tak $nazwa_serwera=0; // Pobierać nazwę serwera przy połączeniu czy używać tej wpisanej niżej. (tylko w przypadku serwerów cs) // 0 - Stała nazwa serwera pobierana z tego pliku // 1 - Nazwa serwera pobierana przy połączeniu z serwerem. /*W pole game wpisujemy skrót od gry. Dostępne gry: ts3 - Team Speak 3 cs - Counter Strike 1.6 ventrilo - Ventrilo tf2 - Team Fortress 2 csgo - Counter Strike: Global Offensive cod2 - Call of Duty 2 cod4 - Call of Duty 4 cssource - Counter Strike: Source */ $cvars[]= array( 'cs'=>array(0=>array(0=>'amxmodx_version',1=>'Wersja amxx:'),1=>array(0=>'amxbans_version',1=>'Wersja amxbans:'),2=>array(0=>'mp_timelimit',1=>'Czas mapy:')), 'fun'=>array(0=>array(0=>'amxmodx_version',1=>'Wersja amxx:'),1=>array(0=>'amxbans_version',1=>'Wersja amxbans:'),2=>array(0=>'mp_timelimit',1=>'Czas mapy:')), 'csgo'=>array(0=>array(0=>'sourcemod_version',1=>'Wersja SourceMod:'),1=>array(0=>'mp_maxrounds',1=>'Liczba rund:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')), 'cssource'=>array(0=>array(0=>'sourcemod_version',1=>'Wersja SourceMod:'),1=>array(0=>'mp_maxrounds',1=>'Liczba rund:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')), 'tf2'=>array(0=>array(0=>'mp_allowNPCs',1=>'NPC Włączone:'),1=>array(0=>'mp_timelimit',1=>'Czas mapy:'),2=>array(0=>'deathmatch',1=>'DeathMatch:')), 'ventrilo'=>array(0=>array(0=>'version',1=>'Wersja:'),1=>array(0=>'channelcount',1=>'Liczba kanałów:'),2=>array(0=>'uptime',1=>'Czas online:')), 'ts3'=>array(0=>array(0=>'virtualserver_version',1=>'Wersja:'),1=>array(0=>'virtualserver_channelsonline',1=>'Liczba kanałów:'),2=>array(0=>'virtualserver_uptime',1=>'Czas online:')), 'cod2'=>array(0=>array(0=>'g_gametype',1=>'Typ gry:'),1=>array(0=>'shortversion',1=>'Wersja:'),2=>array(0=>'scr_friendlyfire',1=>'FriendlyFire:')), 'cod4'=>array(0=>array(0=>'g_gametype',1=>'Typ gry:'),1=>array(0=>'shortversion',1=>'Wersja:'),2=>array(0=>'_Mod',1=>'Mod:')), ); $games[]=array( 'cs'=>'Counter Strike 1.6', 'csgo'=>'Counter Strike: Global Offensive', 'cssource'=>'Counter Strike: Source', 'tf2'=>'Team Fortress 2', 'ventrilo'=>'Ventrilo', 'ts3'=>'Team Speak 3', 'cod2'=>'Call of Duty 2', 'cod4'=>'Call of Duty 4', ); $serwers[]=array( 'nazwa'=>'BF2 [ Cs-Botownia.PL ]', 'ip'=>'188.165.21.245:27065', 'game'=>'cs', 'hltv'=>'', 'on'=>1, 'new'=>0, 'offline'=>0); $serwers[]=array( 'nazwa'=>'4Fun [ Cs-Botownia.PL ]', 'ip'=>'54.36.186.21:27015', 'game'=>'cs', 'hltv'=>'', 'on'=>1, 'new'=>1, 'offline'=>0); function logErrors($title, $content) { if (!file_exists('log')) mkdir('log'); if(strstr($content,'(Connection timed out)')) return false; $plik = "log/".date('dmy').".log"; $open = fopen( $plik, "a"); flock( $open, 2); fputs( $open, "\n$title\n$content\n"); flock( $open, 1); fclose( $open ); } function error($errCode, $errString, $errFile, $errLine) { if(!defined('E_STRICT')) define('E_STRICT', 2048); $user = $_SERVER['REMOTE_ADDR']; $uri = $_SERVER['REQUEST_URI']; $content = "[".date("d.m.Y h:i:s")."]\n"; $content .= "Błąd skryptu '$errFile' w linii $errLine "; $content .= "wywołany żądaniem '$uri' przez użytkownika $user ( "; $content .= @gethostbyaddr($user); $content .= " )\n$errString"; switch($errCode) { case E_USER_ERROR: case E_ERROR: case E_COMPILE_ERROR: case E_CORE_ERROR: echo logErrors("Błąd krytyczny", $content); exit(1); break; case E_USER_WARNING: case E_CORE_WARNING: case E_COMPILE_WARNING: case E_WARNING: echo logErrors("Ostrzeżenie", $content); break; case E_STRICT: case E_NOTICE: case E_USER_NOTICE: case E_PARSE; echo logErrors("Uwaga", $content); break; default: echo logErrors("Nieznany błąd - $errCode", $content); break; } return true; } set_error_handler('error'); function ae_detect_ie() { if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)) return true; else return false; } function fetch_server_info($ip, $port) { $socket = @fsockopen($ip, $port, $errno, $errstr, 0.5); if ($socket === false) { return false; } fwrite($socket, "\xfe"); $data = fread($socket, 256); if (substr($data, 0, 1) != "\xff") { return false; } $data = explode('§', mb_convert_encoding(substr($data, 3), 'UTF-16', 'UCS-2')); return array( 'motd' => $data[0], 'players' => intval($data[1]), 'max_players' => intval($data[2]), ); var_dump($data); } ?>
odswiez.php
<? require 'config.php'; $id=$_GET['id']; if(!isset($serwers[$id])) { echo 'ERROR'; exit(0); } if($serwers[$id]['on']) { $serwer['ip']=$serwers[$id]['ip']; $serwer['on']=$serwers[$id]['on']; $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['game']=$serwers[$id]['game']; $serwer['hltv']=$serwers[$id]['hltv']; $serwer['new']=$serwers[$id]['new']; $serwer['offline']=$serwers[$id]['offline']; $serwer['nextmap']=0; $serwer['timeleft']=0; $ff = explode(":", $serwer['ip']); $ip=$ff[0]; $port=''; if(isset($ff[1])) $port=$ff[1]; switch($serwers[$id]['game']) { case 'cod2': case 'cod4': case 'tf2': case 'csgo': case 'cssource': case 'cs': if(!$serwers[$id]['offline']) { if(!$serwer = cache::factory() -> load('serwer'.$id.'i'.'i')) { $serwer['ip']=$serwers[$id]['ip']; $serwer['on']=$serwers[$id]['on']; $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['game']=$serwers[$id]['game']; $serwer['hltv']=$serwers[$id]['hltv']; $serwer['new']=$serwers[$id]['new']; $serwer['offline']=$serwers[$id]['offline']; $gq= new GameQ; $gq->addServer($id,array($serwer['game'],$ip,$port)); $gq->setOption('timeout',500); $gq->setFilter('normalise'); $gq->setFilter('sortplayers', 'gq_score',false); $info = $gq->requestData(); if($info[$id]['gq_online']!=1) { $serwer['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer['online']=false; $serwer['map']=''; $serwer['nazwa']=$serwers[$id]['nazwa']; } else { $serwer['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['online']=true; $serwer['map']=$info[$id]['gq_mapname']; $serwer['players']=$info[$id]['gq_numplayers']; $serwer['max']=$info[$id]['gq_maxplayers']; $serwer['haslo']=$info[$id]['gq_password']; if($nazwa_serwera==1) $serwer['nazwa']=$info[$id]['hostname']; else $serwer['nazwa']=$serwers[$id]['nazwa']; if(isset($info[$id]['amx_nextmap'])) $serwer['nextmap']=$info[$id]['amx_nextmap']; if(isset($info[$id]['amx_timeleft'])) $serwer['timeleft']=$info[$id]['amx_timeleft']; if(!isset($serwer['timeleft'])) $serwer['timeleft']="Brak czasu"; if(!isset($serwer['nextmap'])) $serwer['nextmap']="Jeszcze nie wybrano"; for($e=0;$e<count($cvars[0][$serwer['game']]);$e++) { if(isset($info[$id][$cvars[0][$serwer['game']][$e][0]])) $serwer['cvars'][$e]=$info[$id][$cvars[0][$serwer['game']][$e][0]]; else $serwer['cvars'][$e]="Brak"; if($serwer['cvars'][$e]==1 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Tak"; else if($serwer['cvars'][$e]==0 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Nie"; } if($serwer['players']>0) $serwer['player']=$info[$id]['players']; else $serwer['player']=array(); } cache::factory() -> save( 'serwer'.$id.'i', $serwer, $main['cache_time']); } else { $serwer['on']=$serwers[$id]['on']; if(!isset($serwer['nazwa']) || $serwer['nazwa']=='') $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['ip']=$serwers[$id]['ip']; if(!isset($serwer['map']) || $serwer['map'] == '' || $serwer['online']!=true) { $serwer['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer['online']=false; $serwer['map']=''; } else { $serwer['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['online']=true; } } } else { $serwer['map']=''; $serwer['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer['online']=false; } break; break; break; break; break; break; case 'ventrilo': if(!$serwer = cache::factory() -> load('serwer'.$id.'i')) { $serwer['ip']=$serwers[$id]['ip']; $serwer['on']=$serwers[$id]['on']; $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['game']=$serwers[$id]['game']; $serwer['new']=$serwers[$id]['new']; $serwer['offline']=$serwers[$id]['offline']; $serwer['hltv']=$serwers[$id]['hltv']; $gq= new GameQ; $gq->addServer($id,array($serwers[$id]['game'],$ip,$port)); $info = $gq->requestData(); if (isset($info[$id])) { $serwer['online']=true; $serwer['status']= "<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['players']=0; $serwer['max']=0; if(isset($info[$id]['clientcount'])) $serwer['players']=$info[$id]['clientcount']; if(isset($info[$id]['maxclients'])) $serwer['max']=$info[$id]['maxclients']; if($serwer['players']) $serwer['player']=$info[$id]['players']; else $serwer['player']=array(); for($e=0;$e<count($cvars[0][$serwer['game']]);$e++) { if(isset($info[$id][$cvars[0][$serwer['game']][$e][0]])) $serwer['cvars'][$e]=$info[$id][$cvars[0][$serwer['game']][$e][0]]; else $serwer['cvars'][$e]="Brak"; if($serwer['cvars'][$e]==1 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Tak"; else if($serwer['cvars'][$e]==0 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Nie"; } } else { $serwer['online']=false; $serwer['status']= "<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; } cache::factory() -> save( 'serwer'.$id.'i', $serwer, $main['cache_time']); } else { $serwer['on']=$serwers[$id]['on']; if(!isset($serwer['nazwa']) || $serwer['nazwa']=='') $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['ip']=$serwers[$id]['ip']; if($serwer['online']!=true) { $serwer['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer['online']=false; $serwer['map']=''; } else { $serwer['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['online']=true; } } break; case 'ts3': if(!$serwer = cache::factory() -> load('serwer'.$id.'i')) { $serwer['ip']=$serwers[$id]['ip']; $serwer['on']=$serwers[$id]['on']; $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['game']=$serwers[$id]['game']; $serwer['new']=$serwers[$id]['new']; $serwer['offline']=$serwers[$id]['offline']; $serwer['hltv']=$serwers[$id]['hltv']; $ts3 = new ts3admin($ip, 10011); if($ts3->getElement('success', $ts3->connect())) { $ts3->selectServer($port); $infots3=$ts3->serverInfo(); $clients=$ts3->clientList(); $serwer['online']=true; $serwer['status']= "<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['players']=$infots3['data']['virtualserver_clientsonline']-1; $serwer['max']=$infots3['data']['virtualserver_maxclients']; $serwer['haslo']=$infots3['data']['virtualserver_password']; $serwer['player']=$clients['data']; for($e=0;$e<count($cvars[0][$serwer['game']]);$e++) { if(isset($infots3['data'][$cvars[0][$serwer['game']][$e][0]])) $serwer['cvars'][$e]=$infots3['data'][$cvars[0][$serwer['game']][$e][0]]; else $serwer['cvars'][$e]="Brak"; if($serwer['cvars'][$e]==1 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Tak"; else if($serwer['cvars'][$e]==0 && strlen($serwer['cvars'][$e])<2) $serwer['cvars'][$e]="Nie"; } } else { $serwer['online']=false; $serwer['status']= "<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; } cache::factory() -> save( 'serwer'.$id.'i', $serwer, $main['cache_time']); } else { $serwer['on']=$serwers[$id]['on']; if(!isset($serwer['nazwa']) || $serwer['nazwa']=='') $serwer['nazwa']=$serwers[$id]['nazwa']; $serwer['ip']=$serwers[$id]['ip']; if($serwer['online']!=true) { $serwer['status']="<img src=\"status/img/offline.png\" border=\"0\" alt=\"OFFLINE\" />"; $serwer['online']=false; $serwer['map']=''; } else { $serwer['status']="<img src=\"status/img/status.png\" border=\"0\" alt=\"ONLINE\" />"; $serwer['online']=true; } } break; } } echo $serwers[$id]['on'].'#'; if($serwers[$id]['on']) { echo $serwer['online'].'#'; echo $serwer['status'].'#'; if($serwer['online']) { echo $serwer['players'].'#'; echo $serwer['max'].'#'; echo $serwer['game'].'#'; if($serwer['game']=="cs" || $serwer['game']=="csgo" || $serwer['game']=="tf2" || $serwer['game']=='mc') echo $serwer['map'].'#'; else echo '#'; if(!isset($serwer['nextmap'])) $serwer['nextmap']=0; if(!isset($serwer['timeleft'])) $serwer['timeleft']=0; echo $serwer['nextmap'].'#'; echo $serwer['timeleft'].'#'; if(!isset($serwer['haslo'])) $serwer['haslo']=0; echo $serwer['haslo'].'#'; echo $serwer['nazwa'].'#'; echo $serwer['ip'].'#'; if($serwer['players']>0) { foreach($serwer['player'] as $player) { if($serwer['game']=="cs" || $serwer['game']=="tf2" || $serwer['game']=="csgo" || $serwer['game']=="cssource") { $player['name']=preg_replace("[\x23]"," ",$player['name']); $player['name']=preg_replace("[\x40]","a",$player['name']); str_replace("-","−",$player['name']); if(!isset($player['score'])) $player['score']=0; echo strip_tags(htmlspecialchars($player['name'])).'@'.$player['score'].'%'; } else if($serwer['game']=="cod2" || $serwer['game']=="cod4") { $player['nick']=preg_replace("[\x23]"," ",$player['nick']); $player['nick']=preg_replace("[\x40]","a",$player['nick']); str_replace("-","−",$player['nick']); if(!isset($player['frags'])) $player['frags']=0; echo strip_tags(htmlspecialchars($player['nick'])).'@'.$player['frags'].'%'; } else if($serwer['game']=="ts3") { if(strstr($player['client_nickname'],"Unknown from")!==False) continue; $player['client_nickname']=preg_replace("[\x23]"," ",$player['client_nickname']); str_replace("-","−",$player['client_nickname']); echo strip_tags(htmlspecialchars($player['client_nickname'])).'%'; } else if($serwer['game']=="ventrilo") { $player['name']=preg_replace("[\x23]"," ",$player['name']); str_replace("-","−",$player['name']); $player['name']=strip_tags(htmlspecialchars($player['name'])); if($player['admin']) $player['name']='<b>'.$player['name'].'</b>'; echo $player['name'].'%'; } } } } } ?>[size=4] [/size]
Użytkownik mars edytował ten post 20.01.2019 15:15