1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

teamspeak auf hp einbinden

Discussion in 'Web-Know-how für die Homepage' started by supernova2008, Oct 24, 2008.

Thread Status:
Not open for further replies.
  1. Hallo,
    ich habe auf meiner hp ein javasrcipt, das mein teamspeak angezeigt wird... wer gerade online ist und so, aber obwohl ich auf dem server drauf bin, steht auf meiner homepage, das mein ts offline is,weil irgendwelche ports angeblich nicht stimmen, was nicht sein kann...
    Kann mir da jemand helfen?
    (gern auch per icq 373-322-302)
     
  2. VB-Coder

    VB-Coder Megabyte

    Link zur Homepage bitte, damit man sich das ansehen kann.
    Dann kann dir auch geholfen werden.
     
  3. w w w . d m e i n h a r d t . b p l a c e d . n e t
    Ohne Leerzeichen
     
  4. VB-Coder

    VB-Coder Megabyte

    EDIT: hab den Source für das Script jetzt - meld mich gleich nochmal

    EDIT2:

    öffne die Datei TSV_Config.php mit einem Texteditor

    suche nach folgenden Zeilen

    PHP:
    var $TS_autorefresh            0;   // Autorefresh erlauben oder nicht
    var $TS_autorefresh_zeit       10;  // Zeit in Sekunden angeben (Funktioniert nur, wenn autorefresh aktiviert wurde)
    ändere diese in

    PHP:
    var $TS_autorefresh            1;   // Autorefresh erlauben oder nicht
    var $TS_autorefresh_zeit       3;  // Zeit in Sekunden angeben (Funktioniert nur, wenn autorefresh aktiviert wurde)
    versuche ob es funktioniert. Falls nicht, prüfe die Serverdaten bei

    PHP:
    var $serverAddress   "192.168.7.1"// Hier die TeamSpeak IP Adresse eintragen !!wichtig!! (Beispiel: 192.168.7.1)
    var $serverQueryPort "51234"// TeamSpeak QueryPort.. Schau in die server.ini von TeamSpeak (Standard 51234)
    var $serverUDPPort   "8767"// UDP Port für Teamspeak der auch hinter der IP Adresse genutzt wird (Standard 8767)
    var $serverPasswort  ""// Serverpasswort das bei Serversettings eingestellt wird (wenn kein Passwort erteilt, dann leer lassen)
    // (Passwort wird meistens bei Clanservern gebraucht)

     
    Last edited: Oct 24, 2008
  5. Code:
    <?php
    /*
     * Name      = TeamSpeak Viewer
     * Version   = 2.0
     * Datum     = 01.02.2006
     * Datei     = TS_Viewer.php
     * 
     * Copyright = Dooki
     * Homepage  = http://www.php-gfx.net
     * E-Mail    = dooki@php-gfx.net
     * * * * * * * * * * * * * * * * * * */
    
    require("TSV_Config.php");
    $tss2info->getInfo();
    
    include("TSV_Functions.php");
    
    if($tss2info->include_phpkit == 1) {
      if(!@include($tss2info->phpkit_config)) $phpkiterror = "Die Konfigurationsdatei (".$tss2info->phpkit_config.") des PHPKIT 1.6.03 konnte nicht gefunden werden!<br>Ändern sie den Pfad \"\$phpkit_config\" oder deaktivieren sie \"\$include_phpkit\" in den Einstellungen!";
      else unset($phpkiterror);
      if(intval($USER['id']) > 0) {
        $tsv_username = htmlentities($USER['nick']);
      } else {
        $tsv_username = $tss2info->phpkit_gast_nick;
      }
    } else {
      $tsv_username = $tss2info->alternativer_nick;
    }
    
    
    $tsv_array_1 = array(" ","-","(",")","[","]","{","}","&"); // Das wird gesucht..
    $tsv_array_2 = array("_","_","","","","","","",""); // ..und ersetzt mit diesem
    $tsv_count = count($tsv_array_1);
    for($x=0;$x<$tsv_count;$x++){
      $tsv_username = trim(str_replace($tsv_array_1[$x],$tsv_array_2[$x],$tsv_username));
    }
    $tsv_username = trim($tsv_username);
    
    $counter = 0;
    $channelcounter = count($tss2info->channelList) - 1;
    
    //---> Channel Sortierung <---\\ Anfang
    unset($s1);
    unset($s2);
    unset($v);
    $s1 = array();
    $s2 = array();
    foreach($tss2info->channelList as $v) $s1[] = $v['channelorder'];    // Sortierung nach Order
    foreach($tss2info->channelList as $v) $s2[] = $v['channelname'];    // Wenn Order gleich Sortierung nach Name
    array_multisort($s1, SORT_ASC, $s2, SORT_ASC, $tss2info->channelList); // ASC = auf-, DESC = absteigend
    //---> Channel Sortierung <---\\ Ende
    
    //---> Subchannel nach Player durchsuchen <---\\ Anfang
    $tss2info_channellist = $tss2info->channelList;
    for($i=0;$i<count($tss2info_channellist);$i++) {
      if(intval($tss2info_channellist[$i]['channelparent']) > 0 AND intval($tss2info_channellist[$i]['channelcurrentplayers']) > 0) {
        $subchannels[$tss2info_channellist[$i]['channelparent']] = 1;
      }
    }
    //---> Subchannel nach Player durchsuchen <---\\ Ende
    
    //---> ChannelList <---\\ Anfang
    foreach($tss2info->channelList as $channelInfo) {
    
      if($channelInfo['channelid'] != "id" AND !in_array($channelInfo['channelid'],$tss2info->TS_hide_channels)) {
    
        if($channelInfo['channelparent'] < "0") {
    
          //---> Channelanzeigen <---\\ Anfang
          if($tss2info->TS_channel_anzeigen == 1 AND ($tss2info->TS_leerchannel_anzeigen == 1 OR ($tss2info->TS_leerchannel_anzeigen == 0 AND (trim($channelInfo['channelcurrentplayers']) > 0 OR (intval($subchannels[$channelInfo['channelid']]) == 1))))) {
    
            //---> Mouseover <---\\ Anfang
            $channel_mouseover1 = "Join als: ".$tsv_username." | Channelname: ".$channelInfo['channelname']." | Topic: ".$channelInfo['channeltopic']." | Maximale User: ".$channelInfo['channelmaxplayers']." | Derzeitige User: ".$channelInfo['channelcurrentplayers']." | Codec: ".$channelInfo['channelcodec']."";
            $channel_mouseover2 = "Kein Joinen möglich | Channelname: ".$channelInfo['channelname']." | Topic: ".$channelInfo['channeltopic']." | Maximale User: ".$channelInfo['channelmaxplayers']." | Derzeitige User: ".$channelInfo['channelcurrentplayers']." | Codec: ".$channelInfo['channelcodec']."";
            $channel_mouseover3 = "<b>Join als:</b> ".$tsv_username."<br><br><b>Channelname:</b><br>".$channelInfo['channelname']."<br><br><b>Topic:</b><br>".$channelInfo['channeltopic']."<br><br><b>Maximale User:</b> ".$channelInfo['channelmaxplayers']."<br><b>Derzeitige User:</b> ".$channelInfo['channelcurrentplayers']."<br><br><b>Codec:</b><br>".$channelInfo['channelcodec']."";
            $channel_mouseover4 = "<b>Kein Joinen möglich</b><br><br><b>Channelname:</b><br>".$channelInfo['channelname']."<br><br><b>Topic:</b><br>".$channelInfo['channeltopic']."<br><br><b>Maximale User:</b> ".$channelInfo['channelmaxplayers']."<br><b>Derzeitige User:</b> ".$channelInfo['channelcurrentplayers']."<br><br><b>Codec:</b><br>".$channelInfo['channelcodec']."";
            //---> Mouseover <---\\ Ende
      
            //---> Passwortabfrage <---\\ Anfang
            if($channelInfo['channelpasswort'] == "0") {
              if($tss2info->TS_overlib_mouseover == 1) $channel_mouseover3 = "onmouseover=\"return overlib('".str_replace("'","\'",$channel_mouseover3)."', WIDTH, 200);\"  onmouseout=\"return nd();\"";
              else $channel_mouseover3 = "title=\"".$channel_mouseover1."\"";
              $channellink = "<a class=\"channellink\" href=\"teamspeak://".$tss2info->serverAddress.":".$tss2info->serverUDPPort."/?channel=".rawurlencode($channelInfo['channelname'])."?password=".$tss2info->serverPasswort."?nickname=".rawurlencode($tsv_username)."\" ".$channel_mouseover3.">".$channelInfo['channelname']."</a>";
            } else {
              if($tss2info->TS_overlib_mouseover == 1) $channel_mouseover4 = "style=\"cursor: help;\" onmouseover=\"return overlib('".str_replace("'","\'",$channel_mouseover4)."', WIDTH, 200);\"  onmouseout=\"return nd();\"";
              else $channel_mouseover4 = "title=\"".$channel_mouseover2."\"";
              $channellink = "<span ".$channel_mouseover4.">".$channelInfo['channelname']."</span>";
            }
            //---> Passwortabfrage <---\\ Ende
      
            //---> Channelflags <---\\ Anfang
            if($tss2info->TS_channelflags_ausgabe == 1) $channellink .= ' ('.TS_channelflags($channelInfo['channelflags']).')';
            //---> Channelflags <---\\ Ende
    
            //---> Channel <---\\ Anfang
            $ts_viewer_ausgabe .= '
            <tr>
              <td valign="top">
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="channel" width="25" valign="top" nowrap><img width="5" height="13" src="images/blank.gif" border="0" alt=""><img src="images/channel.gif" width="20" height="13" border="0" alt=""></td>
                    <td class="channel" width="100%" valign="top" nowrap>&nbsp;'.$channellink.'</td>';
    
            //---> Debug Modus <---\\ Anfang
            if($tss2info->TS_debug_modus == 1) {
              $ts_viewer_ausgabe .= "\n                <td class=\"player\" width=\"1500\" valign=\"top\" nowrap>&nbsp;&nbsp;<b>channelid:</b> ".$channelInfo['channelid']."&nbsp;&nbsp;<b>channelcodec:</b> ".$channelInfo['channelcodec']."&nbsp;&nbsp;<b>channelparent:</b> ".$channelInfo['channelparent']."&nbsp;&nbsp;<b>channelorder:</b> ".$channelInfo['channelorder']."&nbsp;&nbsp;<b>channelmaxplayers:</b> ".$channelInfo['channelmaxplayers']."&nbsp;&nbsp;<b>channelname:</b> ".$channelInfo['channelname']."&nbsp;&nbsp;<b>channelflags:</b> ".$channelInfo['channelflags']."&nbsp;&nbsp;<b>channelpasswort:</b> ".$channelInfo['channelpasswort']."&nbsp;&nbsp;<b>channeltopic:</b> ".$channelInfo['channeltopic']."&nbsp;&nbsp;<b>channelcurrentplayers:</b> ".$channelInfo['channelcurrentplayers']."</td>";
            }
            //---> Debug Modus <---\\ Ende
    
            $ts_viewer_ausgabe .= '
                  </tr>
                </table>
              </td>
            </tr>';
            //---> Channel <---\\ Ende
          }
          //---> Channelanzeigen <---\\ Ende
    
          $counter_player = 0; // Playercounter beginnen
    
          //---> Player Sortierung <---\\ Anfang
          unset($s1);
          unset($s2);
          unset($v);
          $s1 = array();
          $s2 = array();
          foreach($tss2info->playerList as $v) $s1[] = $v['userstatus'];    // Sortierung nach Order
          foreach($tss2info->playerList as $v) $s2[] = $v['playername'];    // Wenn Order gleich Sortierung nach Name
          array_multisort($s1, SORT_DESC, $s2, SORT_ASC, $tss2info->playerList); // ASC = auf-, DESC = absteigend
          //---> Player Sortierung <---\\ Ende
    
          //---> PlayerList <---\\ Anfang
          foreach($tss2info->playerList as $playerInfo) {
            if($playerInfo['channelid'] == $channelInfo['channelid']) {
              $playercounter1 = $counter_player+1;
              $playercounter2 = $channelInfo['channelcurrentplayers'];
              $player_mouse_over1 = "".$playerInfo['playername']." | Online seit: ".TS_totaltime($playerInfo['totaltime'])." | Idle seit: ".TS_idletime($playerInfo['idletime'])." | Ping: ".$playerInfo['pingtime']." ms";
              $player_mouse_over2 = "<b>".$playerInfo['playername']."</b><br><br><b>Online seit:</b><br>".TS_totaltime($playerInfo['totaltime'])."<br><br><b>Idle seit:</b><br>".TS_idletime($playerInfo['idletime'])."<br><br><b>Ping:</b> ".$playerInfo['pingtime']." ms";
              if($tss2info->TS_overlib_mouseover == 1) $player_mouse_over = "style=\"cursor: help;\" onmouseover=\"return overlib('".str_replace("'","\'",$player_mouse_over2)."', WIDTH, 150);\" onmouseout=\"return nd();\"";
              else $player_mouse_over = "title=\"".$player_mouse_over1."\"";
    
              //---> Player <---\\ Anfang
              $ts_viewer_ausgabe .= '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>';
                  unset($userstatus);
                  if($tss2info->TS_userstatus_ausgabe == 1) $userstatus = ' ('.TS_userstatus($playerInfo['userstatus']).TS_privileg($playerInfo['privileg'],$playerInfo['attribute']).')';
                  if($tss2info->TS_channel_anzeigen == 1) {
                  $ts_viewer_ausgabe .= '
                    <td width="40" nowrap><img width="5" height="16" src="images/blank.gif" border="0" alt=""><img src="images/blank.gif" width="15" height="16" border="0" alt=""><img src="images/'.TS_attribute($playerInfo['attribute']).'" width="20" height="16" border="0" alt=""></td>';
                  } else {
                  $player_without_channel[] = $playerInfo;
                  $ts_viewer_ausgabe .= '
                    <td width="20" nowrap><img src="images/'.TS_attribute($playerInfo['attribute']).'" width="20" height="16" border="0" alt=""></td>';
                  }
                  $ts_viewer_ausgabe .= '
                    <td class="player" width="100%">&nbsp;<span '.$player_mouse_over.'>'.$playerInfo['playername'].$userstatus.'</span></td>
                  </tr>
                </table>
              </td>
            </tr>';
              //---> Player <---\\ Ende
    
              $counter_player++; // Playercounter hochzählen
    
            }
          }
          //---> PlayerList <---\\ Ende
    
          //---> Subchannel Sortierung <---\\ Anfang
          unset($s1);
          unset($s2);
          $s1 = array();
          $s2 = array();
          foreach($tss2info->channelList as $v) $s1[] = $v['channelorder'];    // Sortierung nach Order
          foreach($tss2info->channelList as $v) $s2[] = $v['channelname'];    // Wenn Order gleich Sortierung nach Name
          array_multisort($s1, SORT_ASC, $s2, SORT_ASC, $tss2info->channelList); // ASC = auf-, DESC = absteigend
          unset($v);
          //---> Subchannel Sortierung <---\\ Ende
    
          //---> SubchannelList <---\\ Anfang
          foreach($tss2info->channelList as $subchannelInfo) {
            if($subchannelInfo['channelparent'] == $channelInfo['channelid'] AND !in_array($subchannelInfo['channelid'],$tss2info->TS_hide_channels) AND ($tss2info->TS_leerchannel_anzeigen == 1 OR ($tss2info->TS_leerchannel_anzeigen == 0 AND trim($subchannelInfo['channelcurrentplayers']) > 0))) {
              if($tss2info->TS_channel_anzeigen == 1) {
                $subchannel_mouseover1 = "Join als: ".$tsv_username." | Channelname: ".$subchannelInfo['channelname']." | Subchannel von: ".$channelInfo['channelname']." | Topic: ".$subchannelInfo['channeltopic']." | Maximale User: ".$subchannelInfo['channelmaxplayers']." | Derzeitige User: ".$subchannelInfo['channelcurrentplayers']." | Codec: ".$subchannelInfo['channelcodec']."";
                $subchannel_mouseover2 = "Kein Joinen möglich | Channelname: ".$subchannelInfo['channelname']." | Subchannel von: ".$channelInfo['channelname']." | Topic: ".$subchannelInfo['channeltopic']." | Maximale User: ".$subchannelInfo['channelmaxplayers']." | Derzeitige User: ".$subchannelInfo['channelcurrentplayers']." | Codec: ".$subchannelInfo['channelcodec']."";
                $subchannel_mouseover3 = "<b>Join als:</b> ".$tsv_username."<br><br><b>Channelname:</b><br>".$subchannelInfo['channelname']."<br><b>Subchannel von:</b><br>".$channelInfo['channelname']."<br><br><b>Topic:</b><br>".$subchannelInfo['channeltopic']."<br><br><b>Maximale User:</b> ".$subchannelInfo['channelmaxplayers']."<br><b>Derzeitige User:</b> ".$subchannelInfo['channelcurrentplayers']."<br><br><b>Codec:</b><br>".$subchannelInfo['channelcodec']."";
                $subchannel_mouseover4 = "<b>Kein Joinen möglich</b><br><br><b>Channelname:</b><br>".$subchannelInfo['channelname']."<br><b>Subchannel von:</b><br>".$channelInfo['channelname']."<br><br><b>Topic:</b><br>".$subchannelInfo['channeltopic']."<br><br><b>Maximale User:</b> ".$subchannelInfo['channelmaxplayers']."<br><b>Derzeitige User:</b> ".$subchannelInfo['channelcurrentplayers']."<br><br><b>Codec:</b><br>".$subchannelInfo['channelcodec']."";
                if($channelInfo['channelpasswort'] == "0") {
                  if($tss2info->TS_overlib_mouseover == 1) $subchannel_mouseover3 = "onmouseover=\"return overlib('".str_replace("'","\'",$subchannel_mouseover3)."', WIDTH, 200);\"  onmouseout=\"return nd();\"";
                  else $subchannel_mouseover3 = "title=\"".$channel_mouseover1."\"";
                  $subchannellink = "<a class=\"channellink\" href=\"teamspeak://".$tss2info->serverAddress.":".$tss2info->serverUDPPort."/?channel=".rawurlencode($subchannelInfo['channelname'])."?password=".$tss2info->serverPasswort."?nickname=".rawurlencode($tsv_username)."\" ".$subchannel_mouseover3.">".$subchannelInfo['channelname']."</a>";
                } else {
                  if($tss2info->TS_overlib_mouseover == 1) $subchannel_mouseover4 = "style=\"cursor: help;\" onmouseover=\"return overlib('".str_replace("'","\'",$subchannel_mouseover4)."', WIDTH, 200);\"  onmouseout=\"return nd();\"";
                  else $subchannel_mouseover4 = "title=\"".$channel_mouseover2."\"";
                  $subchannellink = "<span ".$subchannel_mouseover4.">".$subchannelInfo['channelname']."</span>";
                }
                //---> Channel <---\\ Anfang
                $ts_viewer_ausgabe .= '
            <tr>
              <td valign="top">
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="channel" width="40" valign="top" nowrap><img width="5" height="13" src="images/blank.gif" border="0" alt=""><img width="15" height="13" src="images/blank.gif" border="0" alt=""><img src="images/channel.gif" width="20" height="13" border="0" alt=""></td>
                    <td class="channel" width="100%" valign="top" nowrap>&nbsp;'.$subchannellink.'</td>';
                //---> Debug Modus <---\\ Anfang
                if($tss2info->TS_debug_modus == 1) {
                  $ts_viewer_ausgabe .= "\n                <td class=\"player\" width=\"1500\" valign=\"top\" nowrap>&nbsp;&nbsp;<b>channelid:</b> ".$subchannelInfo['channelid']."&nbsp;&nbsp;<b>channelcodec:</b> ".$subchannelInfo['channelcodec']."&nbsp;&nbsp;<b>channelparent:</b> ".$subchannelInfo['channelparent']."&nbsp;&nbsp;<b>channelorder:</b> ".$subchannelInfo['channelorder']."&nbsp;&nbsp;<b>channelmaxplayers:</b> ".$subchannelInfo['channelmaxplayers']."&nbsp;&nbsp;<b>channelname:</b> ".$subchannelInfo['channelname']."&nbsp;&nbsp;<b>channelflags:</b> ".$subchannelInfo['channelflags']."&nbsp;&nbsp;<b>channelpasswort:</b> ".$subchannelInfo['channelpasswort']."&nbsp;&nbsp;<b>channeltopic:</b> ".$subchannelInfo['channeltopic']."&nbsp;&nbsp;<b>channelcurrentplayers:</b> ".$subchannelInfo['channelcurrentplayers']."</td>";
                }
                //---> Debug Modus <---\\ Ende
                $ts_viewer_ausgabe .= '
                  </tr>
                </table>
              </td>
            </tr>';
                //---> Channel <---\\ Ende
              }
              $counter_player = 0;
    
              //---> Sortierung <---\\ Anfang
              unset($s1);
              unset($s2);
              unset($v);
              $s1 = array();
              $s2 = array();
              foreach($tss2info->playerList as $v) $s1[] = $v['userstatus'];    // Sortierung nach Order
              foreach($tss2info->playerList as $v) $s2[] = $v['playername'];    // Wenn Order gleich Sortierung nach Name
              array_multisort($s1, SORT_DESC, $s2, SORT_ASC, $tss2info->playerList); // ASC = auf-, DESC = absteigend
              //---> Sortierung <---\\ Ende
    
              //---> SubPlayerList <---\\ Anfang
              foreach($tss2info->playerList as $playerInfo) {
                if($playerInfo['channelid'] == $subchannelInfo['channelid'] && $subchannelInfo['channelparent'] == $channelInfo['channelid']) {
                  $playercounter1 = $counter_player+1;
                  $playercounter2 = $subchannelInfo['channelcurrentplayers'];
                  $player_mouse_over1 = "".$playerInfo['playername']." | Online seit: ".TS_totaltime($playerInfo['totaltime'])." | Idle seit: ".TS_idletime($playerInfo['idletime'])." | Ping: ".$playerInfo['pingtime']." ms";
                  $player_mouse_over2 = "<b>".$playerInfo['playername']."</b><br><br><b>Online seit:</b><br>".TS_totaltime($playerInfo['totaltime'])."<br><br><b>Idle seit:</b><br>".TS_idletime($playerInfo['idletime'])."<br><br><b>Ping:</b> ".$playerInfo['pingtime']." ms";
                  if($tss2info->TS_overlib_mouseover == 1) $player_mouse_over = "style=\"cursor: help;\" onmouseover=\"return overlib('".str_replace("'","\'",$player_mouse_over2)."', WIDTH, 150);\" onmouseout=\"return nd();\"";
                  else $player_mouse_over = "title=\"".$player_mouse_over1."\"";
                  //---> SubPlayer <---\\ Anfang
                  $ts_viewer_ausgabe .= '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>';
                  unset($subuserstatus);
                  if($tss2info->TS_userstatus_ausgabe == 1) $subuserstatus = ' ('.TS_userstatus($playerInfo['userstatus']).TS_privileg($playerInfo['privileg'],$playerInfo['attribute']).')';
                  if($tss2info->TS_channel_anzeigen == 1) {
                  $ts_viewer_ausgabe .= '
                    <td class="player" width="55" nowrap><img width="5" height="16" src="images/blank.gif" border="0" alt=""><img src="images/blank.gif" width="15" height="16" border="0" alt=""><img src="images/blank.gif" width="15" height="16" border="0" alt=""><img src="images/'.TS_attribute($playerInfo['attribute']).'" width="20" height="16" border="0" alt=""></td>';
                  } else {
                  $player_without_channel[] = $playerInfo;
                  $ts_viewer_ausgabe .= '
                    <td class="player" width="20" nowrap><img src="images/'.TS_attribute($playerInfo['attribute']).'" width="20" height="16" border="0" alt=""></td>';
                  }
                  $ts_viewer_ausgabe .= '
                    <td class="player" width="100%">&nbsp;<span '.$player_mouse_over.'>'.$playerInfo['playername'].$subuserstatus.'</span></td>
                  </tr>
                </table>
              </td>
            </tr>';
                  //---> SubPlayer <---\\ Ende
                  $counter_player++; // Playercounter hochzählen
                }
              }
              //---> SubPlayerList <---\\ Ende
    
            }
          }
          //---> SubchannelList <---\\ Ende
    
          $counter++; // Channelcounter hochzählen
    
        }
      }
      $counter++; // Channelcounter hochzählen
    }
    //---> ChannelList <---\\ Ende
    
    //---> OFFLINE <---\\ Anfang
    if($counter == 0) {
      $ts_viewer_ausgabe .= '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="offline" width="110" align="center"><font class="heads"><b>Offline</b></font></td>
                  </tr>
                </table>
              </td>
            </tr>';
    }
    //---> OFFLINE <---\\ Ende
    
    if(is_array($player_without_channel)) {
      unset($ts_viewer_ausgabe);
    
      //---> Sortierung <---\\ Anfang
      unset($s1);
      unset($s2);
      unset($v);
      $s1 = array();
      $s2 = array();
      foreach($player_without_channel as $v) $s1[] = $v['userstatus'];    // Sortierung nach Order
      foreach($player_without_channel as $v) $s2[] = $v['playername'];    // Wenn Order gleich Sortierung nach Name
      array_multisort($s1, SORT_DESC, $s2, SORT_ASC, $player_without_channel); // ASC = auf-, DESC = absteigend
      //---> Sortierung <---\\ Ende
    
      //---> PlayerList <---\\ Anfang
      foreach($player_without_channel as $playerInfo) {
        $player_mouse_over1 = "".$playerInfo['playername']." | Online seit: ".TS_totaltime($playerInfo['totaltime'])." | Idle seit: ".TS_idletime($playerInfo['idletime'])." | Ping: ".$playerInfo['pingtime']." ms";
        $player_mouse_over2 = "<b>".$playerInfo['playername']."</b><br><br><b>Online seit:</b><br>".TS_totaltime($playerInfo['totaltime'])."<br><br><b>Idle seit:</b><br>".TS_idletime($playerInfo['idletime'])."<br><br><b>Ping:</b> ".$playerInfo['pingtime']." ms";
        if($tss2info->TS_overlib_mouseover == 1) $player_mouse_over = "style=\"cursor: help;\" onmouseover=\"return overlib('".str_replace("'","\'",$player_mouse_over2)."', WIDTH, 150);\" onmouseout=\"return nd();\"";
        else $player_mouse_over = "title=\"".$player_mouse_over1."\"";
        unset($userstatus);
        if($tss2info->TS_userstatus_ausgabe == 1) $userstatus = ' ('.TS_userstatus($playerInfo['userstatus']).TS_privileg($playerInfo['privileg'],$playerInfo['attribute']).')';
        $ts_viewer_ausgabe .= '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="player" width="20" nowrap><img src="images/'.TS_attribute($playerInfo['attribute']).'" width="20" height="16" border="0" alt=""></td>
                    <td class="player" width="100%">&nbsp;<span '.$player_mouse_over.'>'.$playerInfo['playername'].$userstatus.'</span></td>
                  </tr>
                </table>
              </td>
            </tr>';
      }
      //---> PlayerList <---\\ Anfang
    }
    
    //---> Start <---\\ Anfang
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>'.$tss2info->sitetitle.'</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="content-language" content="de">';
    if($tss2info->TS_blendtrans == "1") {
      echo '
    <meta http-equiv="Page-Exit" content="blendTrans(Duration=0.5)">
    <meta http-equiv="Page-Enter" content="blendTrans(Duration=0.5)">';
    }
    if($tss2info->TS_refresh == 1 AND $tss2info->TS_autorefresh == 1 AND strtolower($_GET['refresh']) == "auto") {
      echo '
    <meta http-equiv="refresh" content="'.$tss2info->TS_autorefresh_zeit.'; URL=TS_Viewer.php?refresh=auto">';
    }
    echo '
    <link rel="stylesheet" type="text/css" href="stylesheet.php">';
    if($tss2info->TS_overlib_mouseover == 1) {
      echo '
    <!-- overLIB (c) Erik Bosrup -->
    <script type="text/javascript" src="overlib.js"></script>
    <!-- overLIB (c) Erik Bosrup -->';
    }
    echo '
    </head>
    <body>
    '.$phpkiterror.'';
    if($tss2info->TS_overlib_mouseover == 1) {
      echo '
    <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>';
    }
    echo '
    <table border="0" width="100%" cellpadding="1" cellspacing="4">
      <tr>
        <td class="odd" align="left" valign="top" width="'.$tss2info->tabellenbreite.'" nowrap>
          <table border="0" width="100%" cellpadding="0" cellspacing="2">';
    if($tss2info->TS_refresh == 1) {
      echo '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>';
      if((strtolower($_GET['refresh']) != "auto") OR ($tss2info->TS_autorefresh != 1 AND strtolower($_GET['refresh']) == "auto")) {
        echo '
                    <td class="refresh" width="50%" nowrap><a class="refresh" href="TS_Viewer.php?refresh=">refresh</a></td>';
      }
      if($tss2info->TS_autorefresh == 1) {
        if(strtolower($_GET['refresh']) == "auto") {
          echo '
                    <td class="refresh" align="right" nowrap><a class="refresh" href="TS_Viewer.php?refresh=">autorefresh deaktivieren</a></td>';
        } else {
          echo '
                    <td class="refresh" align="right" width="50%" nowrap><a class="refresh" href="TS_Viewer.php?refresh=auto">autorefresh</a></td>';
        }
      }
      echo '
                  </tr>
                </table>
              </td>
            </tr>';
    }
    if($tss2info->TS_title_anzeigen == 1) {
      echo '
            <tr>
              <td>
                <table border="0" width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td class="teamspeak" width="33" nowrap><img src="images/teamspeak.gif" width="33"height="18" border="0" alt=""></td><td class="teamspeak" width="100%">'.$tss2info->sitetitle.'</td>
                  </tr>
                </table>
              </td>
            </tr>';
    }
    echo ''.$ts_viewer_ausgabe.'
          </table>
        </td>
      </tr>
      <tr>
        <td class="created"><br>TS-V '.$tss2info->TS_Version.' by <a class="created" href="http://www.php-gfx.net" target="_blank">php-gfx.net</a></td>
      </tr>
    </table>
    </body>
    </html>';
    //---> Stop <---\\ Ende
    ?>
    
    
    Hier noch Quelltext von TSV_Config.php

    Code:
    <?php
    /*
     * Name      = TeamSpeak Viewer
     * Version   = 2.0
     * Datum     = 01.02.2006
     * Datei     = TSV_Config.php
     * * * * * * * * * * * * * * * * * * */
    
    class tss2info {
    var $TS_Version = "2.0";
    //////////////////////////////////////////////////////////
    ////// TeamSpeak Einstellungen ///////////////////////////
    //
    var $sitetitle       = "Techno & Black Gamin' Server"; // SeitenTitle und Scriptversion
    var $serverAddress   = "hannibalhost.game-host.org"; // Hier die TeamSpeak IP Adresse eintragen !!wichtig!! (Beispiel: 192.168.7.1)
    var $serverQueryPort = "51234"; // TeamSpeak QueryPort.. Schau in die server.ini von TeamSpeak (Standard 51234)
    var $serverUDPPort   = "8767"; // UDP Port für Teamspeak der auch hinter der IP Adresse genutzt wird (Standard 8767)
    var $serverPasswort  = ""; // Serverpasswort das bei Serversettings eingestellt wird (wenn kein Passwort erteilt, dann leer lassen)
    // (Passwort wird meistens bei Clanservern gebraucht)
    //
    //
    //////////////////////////////////////////////////////////
    ////// Erweiterte Einstellungen //////////////////////////
    //
    var $tabellenbreite    = "150"; // Mindestbreite der Teamspeaktabelle (die einbindung mit einem IFRAME sollte 20px mehr betragen)
    var $alternativer_nick = "Guest"; // Alternativer Gastname
    //
    //
    ////// Aktivieren & Deaktivieren /////////////////////////
    //
    // 1 = aktiviert
    // 0 = deaktiviert
    //
    //var $TS_subchannel_ausgabe     = 0;   // Sollen die Subchannels angezeigt werden? FUNKTION NOCH NICHT INTEGRIERT!!!
    var $TS_channelflags_ausgabe   = 1;   // Sollen die Channelrechte angezeigt werden? (R,M,S,P etc.)
    var $TS_userstatus_ausgabe     = 1;   // Soll der Status des Players angezeigt werden? (U,R,SA etc.)
    var $TS_channel_anzeigen       = 1;   // Sollen die Channel angezeigt werden? (0 = nur Playerausgabe)
    var $TS_leerchannel_anzeigen   = 1;   // Sollen die leeren Channel angezeigt werden?
    var $TS_title_anzeigen         = 1;   // Soll der Title über den Channels sichtbar sein?
    var $TS_overlib_mouseover      = 1;   // Soll der Mouseover Effekt vorhanden sein?
    var $TS_refresh                = 1;   // Refreshen generell erlauben (inkl. Refreshlink)
    var $TS_autorefresh            = 1;   // Autorefresh erlauben oder nicht
    var $TS_autorefresh_zeit       = 10;  // Zeit in Sekunden angeben (Funktioniert nur, wenn autorefresh aktiviert wurde)
    var $TS_blendtrans             = 1;   // Überblendeffekt an oder aus?
    //
    // Debugmodus
    // (u.a. kann damit die Channelid angezeigt werden sollte sie gebraucht werden bei dem verstecken einzelner Channels)
    var $TS_debug_modus            = 0;   // Debugmodus zur Fehlersuche an oder aus? (es werden sämtliche Variablen ausgegeben)
    //
    var $TS_hide_channels          = array(); // Welche Channels sollen versteckt werden?
    //
    // Beispiel: array(CHANNELID,CHANNELID,CHANNELID,CHANNELID)
    //
    //
    //////////////////////////////////////////////////////////
    ////// PHPKIT Einstellungen //////////////////////////////
    //
    var $phpkit_config     = "TSV_Config.php"; // Ort ab dem TeamSpeak Viewer Ordner wo die config.php des PHPKIT's liegt.
    var $phpkit_gast_nick  = "Guest"; // Name des Gastes der durch das PHPKIT connectet
    var $include_phpkit    = 0; // 1 = aktiv ; 0 = inaktiv
    //
    //////////////////////////////////////////////////////////
    
    
    
    
    
    
    
    
    
    /*******************************************************/
    /* Ab hier darf >>> KEIN <<< Text mehr geändert werden */
    /*******************************************************/
    
    //internal
    var $socket;
    
    // external
    var $serverStatus = "offline";
    var $playerList = array();
    var $channelList = array();
    
    // opens a connection to the teamspeak server
    function getSocket($host, $port, $errno, $errstr, $timeout) {
      unset($socket);
      $attempts = 1;
      while($attempts <= 1 and !$socket) {
    	$attempts++;
        $socket = @fsockopen($host, $port, $errno, $errstr, $timeout);
        $this->errno = $errno;
        $this->errstr = $errstr;
        if($socket and fread($socket, 4) == "[TS]") {
          fgets($socket, 128);
          return $socket;
    	}
      }// end while
      return false;
    }// end function getSocket(...)
    
    // sends a query to the teamspeak server
    function sendQuery($socket, $query) {
      fputs($socket, $query."\n");
    }// end function sendQuery(...)
    
    // answer OK?
    function getOK($socket) {
      $result = fread($socket, 2);
      fgets($socket, 128);
      return($result == "OK");
    }// end function getOK(...)
    
    // closes the connection to the teamspeak server
    function closeSocket($socket) {
      fputs($socket, "quit");
      fclose($socket);
    }// end function closeSocket(...)
    
    // retrieves the next argument in a tabulator-separated string (PHP scanf function bug workaround)
    function getNext($evalString) {
      $pos = strpos($evalString, "\t");
      if(is_integer($pos)) {
        return substr($evalString, 0, $pos);
      } else {
        return $evalString;
      }// end if
    }// end function getNext($evalString);
    
    // removes the first argument in a tabulator-separated string (PHP scanf function bug workaround)
    function chopNext($evalString) {
      $pos = strpos($evalString, "\t");
      if(is_integer($pos)) {
        return substr($evalString, $pos + 1);
      } else {
        return "";
      }// end if
    }// end function chopNext($evalString)
    
    // strips the quotes around a string
    function stripQuotes($evalString) {
      if(strpos($evalString, '"') == 0) $evalString = substr($evalString, 1, strlen($evalString) - 1);
      if(strrpos($evalString, '"') == strlen($evalString) - 1) $evalString = substr($evalString, 0, strlen($evalString) - 1);
    
      return htmlentities($evalString);
    }// end function stripQuotes($evalString)
    
    // returns the codec name
    function getVerboseCodec($codec) {
      if($codec == 0) {
        $codec = "CELP 5.1 Kbit";
      } elseif($codec == 1) {
        $codec = "CELP 6.3 Kbit";
      } elseif($codec == 2) {
        $codec = "GSM 14.8 Kbit";
      } elseif($codec == 3) {
        $codec = "GSM 16.4 Kbit";
      } elseif($codec == 4) {
        $codec = "CELP Windows 5.2 Kbit";
      } elseif($codec == 5) {
        $codec = "Speex 3.4 Kbit";
      } elseif($codec == 6) {
        $codec = "Speex 5.2 Kbit";
      } elseif($codec == 7) {
        $codec = "Speex 7.2 Kbit";
      } elseif($codec == 8) {
        $codec = "Speex 9.3 Kbit";
      } elseif($codec == 9) {
        $codec = "Speex 12.3 Kbit";
      } elseif($codec == 10) {
        $codec = "Speex 16.3 Kbit";
      } elseif($codec == 11) {
        $codec = "Speex 19.5 Kbit";
      } elseif($codec == 12) {
        $codec = "Speex 25.9 Kbit";
      } else {
        $codec = "unknown (".$codec.")";
      }// end if
      return $codec;
    }// end function getVerboseCodec($codec);
    
    function getInfo() {
    // ---=== main program ===---
    
    // establish connection to teamspeak server
    $this->socket = $this->getSocket($this->serverAddress, $this->serverQueryPort, $errno, $errstr, 0.3);
    if($this->socket == false) {
      if($this->TS_debug_modus == 1) {
        echo "Es wird kein Server gefunden.<br><b>Scriptabbruch:</b> Der folgende Query Port ist falsch oder gesperrt: ".$this->serverQueryPort.""; // No Server
        DIE;
      } else {
        return;
      }
    } else {
      $this->serverStatus = "online";
    
      // select the one and only running server on port 8767
      $this->sendQuery($this->socket, "sel ".$this->serverUDPPort);
    
      // retrieve answer "OK"
      if(!$this->getOK($this->socket)) {
        if($this->TS_debug_modus == 1) {
          echo "Der Server antwortete nach der letzten Anfrage nicht mit OK.<br><b>Scriptabbruch:</b> Der folgende UPD Port ist falsch oder gesperrt: ".$this->serverUDPPort.""; // Server didn't answer \"OK\" after last command. Aborting.
          DIE;
        } else {
          return;
        }
      }// end if
    ############################################################################################
    
      // retrieve player list
      $this->sendQuery($this->socket,"pl");
    
      // read player info
      $this->playerList = array();
      do {
        $playerinfo = fscanf($this->socket, "%s %d %d %d %d %d %d %d %d %d %d %d %d %s %[^\t]");
        list($playerid, $channelid, $receivedpackets, $receivedbytes, $sentpackets, $sentbytes, $paketlost, $pingtime, $totaltime, $idletime, $privileg, $userstatus, $attribute, $s, $playername) = $playerinfo;
        if($playerid != "OK") {
          $this->playerList[$playerid] = array(
          "playerid" => $playerid,
          "channelid" => $channelid,
          "receivedpackets" => $receivedpackets,
          "receivedbytes" => $receivedbytes,
          "sentpackets" => $sentpackets,
          "sentbytes" => $sentbytes,
          "paketlost" => $paketlost / 100,
          "pingtime" => $pingtime,
          "totaltime" => $totaltime,
          "idletime" => $idletime,
          "privileg" => $privileg,
          "userstatus" => $userstatus,
          "attribute" => $attribute,
          "s" => $this->stripQuotes($s),
          "playername" => $this->stripQuotes($playername));
        }// end if
      } while($playerid != "OK");
    
    
      // retrieve channel list
      $this->sendQuery($this->socket,"cl");
    
      // read channel info
      $this->channelList = array();
      do {
        $channelinfo = "";
        do {
          $input = fread($this->socket, 1);
          if($input != "\n" && $input != "\r") $channelinfo .= $input;
        } while($input != "\n");
        $channelid         = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelcodec      = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelparent     = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelorder      = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelmaxplayers = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelname       = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelflags      = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channelpasswort   = $this->getNext($channelinfo); $channelinfo = $this->chopNext($channelinfo);
        $channeltopic      = $this->getNext($channelinfo);
    
        if($channelid != "OK") {
          
    	  // determine number of players in channel
          $playercount = 0;
          foreach($this->playerList as $playerInfo) {
            if($playerInfo['channelid'] == $channelid) $playercount++;
          }// end foreach
    
          $this->channelList[$channelid] = array(
          "channelid"             => $channelid,
          "channelcodec"          => $this->getVerboseCodec($channelcodec),
          "channelparent"         => $channelparent,
          "channelorder"          => $channelorder,
          "channelmaxplayers"     => $channelmaxplayers,
          "channelname"           => $this->stripQuotes($channelname),
          "channelflags"          => $channelflags,
          "channelpasswort"       => $channelpasswort,
          "channeltopic"          => $this->stripQuotes($channeltopic),
          "channelcurrentplayers" => $playercount);
        }// end if
      } while($channelid != "OK");
    
      // close connection to teamspeak server
      $this->closeSocket($this->socket);
    
      }// end getInfo()
    }// class tss2info
    }
    $tss2info = new tss2info;
    ?>
    
    steht eine 1 für erlaubt
    wenn man oben rechts auf "autorefresh" klickt,dann aktualiesiert sie sich auch alle 10 sekunden


    wenn du mit meinen Coeds nichts anfanngen kannst, kannst du mir ja , wenn du weißt wie das geht, eine andere möglichkeit oder eine andere art von dem ganzen geben.
     
  6. VB-Coder

    VB-Coder Megabyte

    siehe den Edit in meinem obigen Beitrag
     
  7. hab ich gemacht... und trotzdem "offline"
    hab dir mal den debug angemacht
    Code:
    var $TS_debug_modus            = 1;   // Debugmodus zur Fehlersuche an oder aus? (es werden sämtliche Variablen ausgegeben)
    und jetz kommt
    IP stimmt 100% bin ja drauf, hier nochmal h a n n i b a l h o s t . g a m e - h o s t . o r g (ohne Leerzeichen) kein passwort
     
  8. muss man villeicht was im Webinterface von Teamspeak ändern? oder hat daswas mit MySQL zutun? oO
     
Thread Status:
Not open for further replies.

Share This Page