Antworten: 248
|
|
chappert Wannabe poster Beiträge: 38 |
# Antwort: 50 - 26.12.2009 um 11:30 Uhr
ne kleine anleitung zum einbinden wäre klasse... |
Inaktiv |
|
TeQu!La Specialist Herkunft: Grevenbroich Beiträge: 2142 |
# Antwort: 51 - 26.12.2009 um 14:11 Uhr
ts_config.php << musst du mit dem EDITOR öffnen und anpassen (die IP von deinem TS3 Server einfügen) Dann kannste das ganze zb per IFRAME über eine Statische Seite einbinden. http://www.DEINEURL.de/ts3/ts3view.php << die adresse gibste im IFRAME an. Dadurch wird der VIEWER angezeigt Zum Thema IFRAME: - Selfhtml - Wikipedia ------------------ |
Inaktiv |
|
chappert Wannabe poster Beiträge: 38 |
# Antwort: 52 - 26.12.2009 um 17:44 Uhr
hab das alles so gemacht aber ich bekomme nur fehler... Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 55 Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 55 Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 60 Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 60 Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 107 Warning: Call-time pass-by-reference has been deprecated in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 107 85.214.140.242:9987 Warning: Invalid argument supplied for foreach() in /mnt/web7/43/45/51594245/htdocs/TFS/mods/ts3/ts_operation.php on line 19 hier der Link dazu: http://www.too-fresh.de/index.php?mod=static&action=view&id=12 |
Inaktiv |
|
Fr33z3m4n Medal of Honor Herkunft: Hamm Beiträge: 11094 |
# Antwort: 53 - 26.12.2009 um 18:37 Uhr
das macht nix, du benutzt sicherlich php5.3 Es wird nur darauf hingewiesen, dass in der neuen version diese methode nicht mehr genutzt werden sollte. ------------------ mfg Patrick "Fr33z3m4n" Jaskulski Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer. |
Inaktiv |
|
ColdAeon Rock the board Beiträge: 43 |
# Antwort: 54 - 26.12.2009 um 18:59 Uhr
Ansonsten ausm Stehgreif immer wieder gern von mir benutzt, die Error-Lines auskommentieren und sehen was dann angezeigt wird. ^^ ------------------ Revolving eSports Eigene Module Points Modul: Preview Was willst Du mir eigentlich erzählen? Du weißt was es heißt für ne' Frau zu kämpfen? Du weißt Scheiße man! Ich erzähl' Dir mal ne Geschichte... ...da war dieser Typ, Klempner, kannst Du dir das vorstellen? Der Typ war glücklich, verstehste? Der hatte nen' Job, ne' Alte und ne ordentliche Wampe, einfach kein Stress. Aber dann ist da noch dieses Arschloch von Affe. Fett, faul, ständig am saufen, vollkommen durch. Der wollte die Frau des Klempner's für sich, einfach so. Hat sie sich geschnappt mit seinen fetten Pranken, weg! Als wenn er irgendwie King Kong wär' oder was?! Jeder anderer Kerl hätte da schon drauf' geschissen! Verdammt, ich hätte sowas von drauf' geschissen! Das war ein fetter Gorilla man, aber dieser Typ hat nicht eine Sekunde gezögert. Ist sofort los gerannt! Alle anderen? Keine Ahnung! Aber das... ...das war Sie, verstehste? Die eine... ...und der Affe, der konnte es erst gar nicht glauben das der Typ tatsächlich hinter ihm her ist! Was der Affe auch immer gemacht hat, es war total für'n Arsch... ...und am Ende, da hat er den Sack tatsächlich erwischt! Manchmal, da gibt es diese eine Frau für die Du einfach alles machst... ...sogar mit fetten Gorilla's kämpfen! Das ist Liebe verstehste? Wahre Liebe ist das man! |
Inaktiv |
|
Sworn Beginner Beiträge: 10 |
# Antwort: 55 - 27.12.2009 um 11:35 Uhr
Macht wirklich noch keine Sinn ein Modul zu basteln. Es wird serverseitig noch zu viel geändert. Nutze im Moment auch den schlichten Viewer von Laire aus'm TS-Forum. Habs bei uns in'ner Box gepackt - Beispiel. Erfüllt erstmal seinen Zweck. @ chappert Stelle mal die ganzen Zustatzinfos im Script auf 0(disabled). Hatte diese Fehler auch. Zuletzt editiert von Sworn am 27.12.2009 um 11:37 Uhr (1x Editiert) |
Inaktiv |
|
wasgeht Poststar Beiträge: 648 |
# Antwort: 56 - 27.12.2009 um 23:25 Uhr
evtl. ist dass ja was für die coder hier unter euch quasi als anregung :=) http://forum.teamspeak.com/showthread.php?t=48344 wäre doch toll sowas in die server einbauen zu können ------------------ ..............................................Club-HP unter www.zocker-gemeinde.com................................. |
Inaktiv |
|
Bruchpilot Rock the board Beiträge: 58 |
# Antwort: 57 - 28.12.2009 um 16:49 Uhr
hey ihr, ich denke auch, dass es noch zu früh ist ein ts3 modul für clansphere zu basteln. ich habe erstmal den tsviewer von http://www.tsviewer.com/ als statische seite eingebunden. völlig ausreichend. Preview gruß volker ------------------ |
Inaktiv |
|
BigBoss85 Thread-Ersteller King for a day Beiträge: 389 |
# Antwort: 58 - 28.12.2009 um 19:04 Uhr
26.12.2009 um 11:11 Uhr - TeQu!La: Das ist kein Problem, hier ein 0815 Viewer welchen ihr über ne Statische Seite einbauen könnt Preview: KLICK hab mal solang es kein modul gibt den viewer hier probieren wollen aber bekomme immer folgenden fehler: Warning: Invalid argument supplied for foreach() in /home/www/kunden/bigboss85.de/ts3/ts_operation.php on line 19 was mach ich falsch? |
Inaktiv |
|
beastmaster Wannabe poster Beiträge: 29 |
# Antwort: 59 - 30.12.2009 um 03:18 Uhr
den selben fehler hab ich auch mit der line 19 foreach() wird wohl nicht unterstützt vom hoster... was kann mann tuen do while ..!!?? Zuletzt editiert von beastmaster am 30.12.2009 um 03:19 Uhr (1x Editiert) |
Inaktiv |
|
Fr33z3m4n Medal of Honor Herkunft: Hamm Beiträge: 11094 |
# Antwort: 60 - 30.12.2009 um 08:53 Uhr
öhm, hat nix mit dem Hoster zu tun, foreach ist eine Methode von PHP. Foreach bekommt nur falsche Werte und kann damit nichts anfangen, ich kenn den Code nicht ,daher kann ich atm dazu nix sagen. ------------------ mfg Patrick "Fr33z3m4n" Jaskulski Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer. |
Inaktiv |
|
BigBoss85 Thread-Ersteller King for a day Beiträge: 389 |
# Antwort: 61 - 30.12.2009 um 11:29 Uhr
@Fr33z3m4n lad dir doch die paar Zeilen mal runter^^ oder ich poste Sie einfach hier XD mehr... <?php
include 'ts_config.php'; function rep($var){ $search[] = chr(194); $replace[] = ''; $search[] = '\/'; $replace[] = '/'; $search[] = '\s'; $replace[] = ' '; $search[] = '\p'; $replace[] = '|'; return str_replace($search, $replace, $var); } function tree($id,$platzhalter,$info){ foreach ($info['channel'] as $key => $var) { if($var['pid'] == $id){ echo '<table><tr>'.$platzhalter.'<td><img src="tsimages/channel.png" alt="channel" /></td><td>'.rep($var['name']).'</td>< /tr></table>'; if(isset($info['user'])){ foreach($info['user'] as $u_key => $u_var){ if($u_var['channel'] == $var['id']){ $p_img = 'player.png'; if($u_var['mic'] == '1'){ $p_img = 'mic.png'; } if($u_var['head'] == '1'){ $p_img = 'head.png'; } if($u_var['away'] == '1'){ $p_img = 'away.png'; } $g_img = ''; foreach($u_var['sg'] as $sg_key => $sg_var){ if(isset($info['sgroup'][$sg_var]['n'])){ $g_img .= '<td><img src="tsimages/'.$info['sgroup'][$sg_var]['p'].' " alt="'.$info['sgroup'][$sg_var]['n'].'" /></td>'; } } if(isset($info['cgroup'][$u_var['cg']]['n'])){ $g_img .= '<td><img src="tsimages/'.$info['cgroup'][$u_var['cg']][' p'].'" alt="'.$info['cgroup'][$u_var['cg']]['n' ].'" /></td>'; } echo '<table><tr>'.$platzhalter.'<td width="16px"></td><td><img src="tsimages/'.$p_img.'" alt="Player" /></td><td>'.rep($u_var['name']).'</td> '.$g_img.'</tr></table>'; } } } tree($var['id'],$platzhalter.'<td width="16px"></td>',$info); } } } @$connection = fsockopen ($ip, $t_port, &$errno, &$errstr, 1); if(!$connection){ $serverinfo = 'Server offline'; }else{ $connection = fsockopen ($ip, $t_port, &$errno, &$errstr, 1); $temp = ''; $cmd = "use sid=".$sid." \nserverinfo \nchannellist \nclientlist \nquit\n"; $execute = fputs($connection,$cmd, strlen($cmd)); while($channeldata = fgets($connection, 4096)){ $temp .= $channeldata; } fclose($connection); $temp = explode('error id=0 msg=ok', $temp); $temp1 = explode(' ', $temp[1]); $info['server']['name'] = str_replace('virtualserver_name=', '', $temp1[1]); $info['server']['maxclients'] = str_replace('virtualserver_maxclients=', '', $temp1[5]); $info['server']['clientsonline'] = (str_replace('virtualserver_clientsonline=', '', $temp1[7]))-(str_replace('virtualserver_queryclientsonline=', '', $temp1[38])); $info['server']['channels'] = (str_replace('virtualserver_channelsonline=', '', $temp1[8])); if(strpos($temp1[20], '=') !== FALSE){ $info['server']['banner'] = (str_replace('virtualserver_hostbanner_gfx_url=', '', $temp1[21])); }else{ $info['server']['banner'] = ''; } $temp2 = explode('cid=', $temp[2]); $i = 0; foreach ($temp2 as $var) { $buffer = explode(' ', $var); if(isset($buffer[5])){ $info['channel'][$i]['id'] = $buffer[0]; $info['channel'][$i]['pid'] = str_replace('pid=', '', $buffer[1]); $info['channel'][$i]['name'] = str_replace('channel_name=', '', $buffer[3]); $i++; } } $temp3 = explode('clid=', $temp[3]); foreach ($temp3 as $var) { $buffer = explode(' ', $var); if(isset($buffer[4])){ $buffer[4] = str_replace('|', '', $buffer[4]); if(strpos($buffer[4], 'client_type=0') !== FALSE){ $info['user'][$buffer[0]]['name'] = str_replace('client_nickname=', '', $buffer[3]); $info['user'][$buffer[0]]['channel'] = str_replace('cid=', '', $buffer[1]); } } } $u_cmd = ''; if(isset($info['user'])){ foreach ($info['user'] as $u_key => $u_var) { $u_cmd .= "clientinfo clid=".$u_key." \n"; } $connection = fsockopen ($ip, $t_port, &$errno, &$errstr, 1); $cmd = "use sid=".$sid." \n".$u_cmd."quit \n"; $execute = fputs($connection,$cmd, strlen($cmd)); $temp_a = ''; while($channeldata = fgets($connection, 4096)){ $temp_a .= $channeldata; } fclose($connection); $temp_b = explode('msg=ok', $temp_a); $i=1; foreach ($info['user'] as $u_key => $u_var) { $temp_a = explode(' ', $temp_b[$i]); foreach ($temp_a as $tu_key => $tu_var) { if(strpos($tu_var, 'client_channel_group_id') !== FALSE){ $info['user'][$u_key]['cg'] = str_replace('client_channel_group_id=', '', $tu_var); } if(strpos($tu_var, 'client_away') !== FALSE){ $info['user'][$u_key]['away'] = str_replace('client_away=', '', $tu_var); } if(strpos($tu_var, 'client_input_muted') !== FALSE){ $info['user'][$u_key]['mic'] = str_replace('client_input_muted=', '', $tu_var); } if(strpos($tu_var, 'client_output_muted') !== FALSE){ $info['user'][$u_key]['head'] = str_replace('client_output_muted=', '', $tu_var); } if(strpos($tu_var, 'client_servergroups') !== FALSE){ $temp_g = str_replace('client_servergroups=', '', $tu_var); if(strpos($temp_g, ',')!== FALSE){ $info['user'][$u_key]['sg'] = explode(',', $temp_g); }else{ $info['user'][$u_key]['sg'][0] = $temp_g; } } } $i++; } } } ?> |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 62 - 30.12.2009 um 16:43 Uhr
Es dauert noch ein wenig bis es fertig ist: Status: 80% fertig Todo: anzeige channel/users flags beim view, client kick Extra Funktionen (in vergleich zu alten TS2Panel): - Support fuer TS3 server - Option: Connection Timeout (in sekunden) - Einheitlicher anruf von TS2/TS3 durch ein gemeinsamen "tss" class - Bei jeder zugefuegten server kann man einzeln list/view zugriff rechte verleihen - Bei jeder zugefuegten server kann man einzeln registrierungs zugriff rechte verleihen - Netzwerkverkehr (Ein-/Aus-gehend) im manage uebersicht Derzeitige Beschraenkungen (demnaechst vielleicht aber moeglich): - Nur fuer TS2 server ist es derzeit moeglich ein benutzer zu registrieren/loesschen Moeglich in zukunft/demnaechst: - Die "tss" class kompatibel machen mit die server classes von servers modul. |
Inaktiv |
|
beastmaster Wannabe poster Beiträge: 29 |
# Antwort: 63 - 01.01.2010 um 18:57 Uhr
jo gut hab aber auch nen php script gefunden mit dem alle server versionen funktionieren ohne fehler "sollen" xD naja wer es haben will kann sich ja melden... www.pro-team.de.vu Zuletzt editiert von beastmaster am 01.01.2010 um 18:59 Uhr (1x Editiert) |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 64 - 07.01.2010 um 14:57 Uhr
Status: 95% fertig Extra Funktionen (in vergleich zu alten TS2Panel): - Support fuer TS3 server - Option: Connection Timeout (in sekunden) - Einheitlicher anruf von TS2/TS3 durch ein gemeinsamen "tss" class - Bei jeder zugefuegten server kann man einzeln list/view zugriff rechte verleihen - Bei jeder zugefuegten server kann man einzeln registrierungs zugriff rechte verleihen - Netzwerkverkehr (Ein-/Aus-gehend) im manage uebersicht Probleme zur zeit wegen TS3: Man kann ein token bekommen, den man benutzen kann in TS3 um benutzer rechte zu kriegen. Da TS3 derzeit aber keine benutzer identifizierung hat, kann ich zwar benutzer accounts loesschen (ich kann suchen auf TS3 client_nickname das der gleich ist wie CS users_nick, aber das kann misbraucht werden, weil TS3 client_nickname geaendert werden kann), aber ich kann keine benutzer (wie TS2 client_login_name) login name vergeben und die benutzer zurueck finden wenn ich seine CS users_nick habe. Es gibt in die TS3 foren schon threads ueber diese probleme (wo ich mich auch beteilige), aber die entwickler sehen irgendwie im moment noch nicht ein, das sie ein grossen design fehler haben gemacht... Thread dazu: How to use TS3 auth system in a preexisting user base Es ist immo also ungewiss, wie es enden wird... |
Inaktiv |
|
Dobi Rock the board Herkunft: Erde Beiträge: 59 |
# Antwort: 65 - 07.01.2010 um 15:49 Uhr
War das nicht so (bei TS2), dass ein User mit bestimmten Rechten in CS sich selbst einen Benutzeraccount machen konnte auf dem TS-Server? Wenn ja vielleich ne Idee meinerseits für TS3: Der CS-Admin kann bestimmen, ab welchem Zugriff man sich selbst "Benutzerrechte" auf dem TS3-Server geben kann. Im Panel kann der User dann diese Rechte anfordern. Um diesem User den Token zu generieren wird er aufgefordert, auf dem TS-Server einzuloggen und seinen TS-Nickname auf einen vom Script zufällig vergebeben Nickname zu ändern. Wenn er das gemacht hat klickt er OK und erhält seinen Token. Folgendes passiert im Hintergrund: Du kannst die UID nutzen um die Benutzer auf dem TS-Server zu finden. Wenn du über den serverquery "clientdblist" schickst, erhältst du pro bekanntem Client auch einen "client_unique_identifier". Diese ID ist eindeutig einer Idendität eines Clients zugeordnet. Du suchst also in der Serverdatenbank nach dem Nickname, den du dem User vorher vorgegeben hast (die DB speichert immer den aktuellen Namen ab) und holst dir den entsprechenden "client_unique_identifier". Diesen speicherst du zur CS-UID ab und generierst dem User den Token. Sollen später für einen CS-User die Rechte gelöscht werden, kann man entweder in der TS-DB den Client anhand des unique_identifier finden und löschen, oder ihm per clientdbedit einfach die Benutzergruppe entziehen. |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 66 - 07.01.2010 um 16:02 Uhr
Ja, das war so bei TS2 und das geht noch immer... Und deine loesung ist nicht eindeutig und sicher genug, ich will ein feld das NUR server admins aendern koennen (sowie in TS2 der login name), weil nickname ist zu einfach zu aendern und zu faken... Das ist ja das problem wieso sich jeder bei die TS3 leute beschwert... Es GIBT einfach keine gute loesung zur zeit... Zuletzt editiert von Mindcrime am 07.01.2010 um 16:02 Uhr (1x Editiert) |
Inaktiv |
|
Dobi Rock the board Herkunft: Erde Beiträge: 59 |
# Antwort: 67 - 07.01.2010 um 16:08 Uhr
Sie ist denke ich sicher genug. DU gibst im Script den Nickname (random) vor (z.B. erste 2 stellen des CS-Nicks und Zahlen "Do12345") Der User muss bei der Erstellung des Tokens auf dem TS-Server sein mit genau diesem Nicknamen um den Token zu bekommen. Und ein Nickname kann zur gleichen Zeit nur 1 mal auf dem Server sein. Später kann er seinen Nick dann wieder ändern. Ein anderer User kennt diesen Namen nicht, weil nur der User, der gerade Rechte anfordert diesen Namen angezeigt bekommt. Als Goodie erhälst du seine UniqueID, mit der Du später die Rechte wieder wegnehmen kannst. Zuletzt editiert von Dobi am 07.01.2010 um 16:09 Uhr (2x Editiert) |
Inaktiv |
|
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 68 - 07.01.2010 um 16:14 Uhr
Das ist zu kompliziert fuer den benutzer (benutzer sind dumm) und es heisst das ich fuer jeden benutzer ein UniqueID in datenbank speichern muss, was man eigentlich nicht machen sollte... Abgesehen davon... Wann soll ich dan den TS3 server query machen? Ich muss auch noch beibehalten welche von diese zeitliche nicks ich rausgegeben habe... Und der benutzer kann nicht sein nickname aendern solange ich noch nicht den server gequeried hab... Das heisst alles, das der benutzer viel zu viele schritte machen muss und das TeamSpeak modul muss viel zu viele daten speichern und beibehalten und wann man genau eine verbinding finden kann zwisschen den user in CS und der uniqueID in TS3 ist auch ungewiss... Es sollte moeglich sein um einfach auf zeitpunkt X ein account zu erstellen und viel spaeter an irgendein zeitpunkt Y das erste mal zu connecten zu TS3... Zuletzt editiert von Mindcrime am 07.01.2010 um 16:19 Uhr (3x Editiert) |
Inaktiv |
|
Dobi Rock the board Herkunft: Erde Beiträge: 59 |
# Antwort: 69 - 07.01.2010 um 17:23 Uhr
Zu deinen Fragen: (Wenns nervt einfach was sagen ) User ruft Modul auf und klickt auf "Benutzerrechte erteilen" oder wie auch immer man den Link nennen mag. Modul generiert temp. Nickname und zeigt diesen dem User an mit der Bitte, unter diesem Nickname auf dem TS-Server zu sein. User soll das dann mit OK bestätigen. Der Nickname ist nur so lange gültig, wie die Homepage aufgerufen bleibt (Formularübergabe). User geht auf den TS Server und ändert seinen Nickname auf den temporären. Anschliessend klickt er auf der Homepage OK. Modul führt Serverquery aus: "clientdblist" Modul sucht im Ergebnis nach dem temp. Nickname und merkt sich dann die passende Unique_ID oder eben die Client-Database-ID "cldbid" des Users. Die ID kann in der DB gespeichert werden in Verbindung mit der CS-UID. Modul erstellt per Serverquery den TOKEN und zeigt diesen dem User an mit Anleitung, was er damit machen muss (ist ja nicht wirklich schwer...) User benutzt den Token auf dem Server und ändert seinen Nickname wieder auf seinen eigenen. Fertig. Wo du definitiv Recht hast, man kann auf diese Weise nicht einfach so die Rechte generieren und diese später (2-3 Tage) nutzen. Mir fällt aber noch was anderes ein: Man könnte auch folgendermaßen vorgehen: Vorgabe: Clanmember sollen auf dem TS-Server in Servergruppe 7 sein. Diese Information sollte Clansphere per Option wissen. CS-Admin kann in der Verwaltung auf "Rechtetoken erstellen" gehen und wählt z.B. Anzahl = 5. Das Modul generiert über den Serverquery nun 5x einen Token: 'tokenadd tokentype=0 tokenid1=7 tokenid2=0' Der TS-Server führt automatisch eine Liste dieser Tokens! (Wobei geklärt werden muss, ob diese zeitlich ablaufen können.) Brauchst sie also nicht in CS zu speichern... Berechtigte User können nun wie beim ersten Beispiel Rechte anfordern. Das Modul führt einen Serverquery 'tokenlist' aus und zeigt dem User einen der Token an. Sollte allerdings auch nach Tokenid1 und 2 gesucht werden... sicherheitshalber. Damit hättest Du die Möglichkeit, Tokens zu erstellen und diese später auf Anforderung zu verteilen. ABER du kommst auf diese Weise nicht an die Client-ID um später die Rechte wieder zu entziehen. Das müsste der Admin dann über den TS-Client direkt machen... |
Inaktiv |
|
Antworten: 248
|
Sie müssen sich registrieren, um zu antworten. |