Die Ports sollten auch richtig freigeschaltet sein dann klappt es auch local ![]()
Aber dennoch gut das es Funktioniert, denn das war mir bisher das wichtigste
Die Ports sollten auch richtig freigeschaltet sein dann klappt es auch local ![]()
Aber dennoch gut das es Funktioniert, denn das war mir bisher das wichtigste
Dann gib mal die Daten
Am besten ist eh wenn ihr es an einen TS macht der nicht unbedingt auf euren rechner liegt ![]()
bei mir geht es
ts_connect("77.**.44.***", "serveradmin", "m4eMYQgU", 9987, 10011, true);
ts_kick("Beavis","Test%20bestanden");
einmal den: 10011
und den: 9987
schalte Ports frei der zugriff wird von deinem Modem geblockt..
127.0.0.1 is die IP zu meinem TS (Rechner) und ich bin darüber auch mit Teamspeak verbunden
klar aber die php datei ist extern und wenn du deine localhost ip da einträgst, dann denkt die php datei das der TS auf mein Webspace ist
Da es nicht so ist sendet er den Fehler
Schau mal hier im Theard rein
127.0.0.1 ist immernoch mein Webspace du musst die IP angeben die du hast (http://www.wieistmeineip.de)
Ist es ein TS der irgendwo gehostet ist, dann kommt die ip rein die der TS hat
wie führst du den Kick aus?
bzw stimmen die zugangsdaten?
Ich werde morgen (heute) oder Sonntag ein Update machen wo dann auch der Fehler bei leerzeichen behoben wird
Dazu werden noch kleinere Funktionen hinzukommen
für den Anfang geht es
Wenn alles später richtig Funktioniert und auch bugfrei ist werde ich die php datei mit veröffentlichen sofern der Mitcoder damit keine Probleme hat
kann man vielleicht eine User Liste machen?
Können wir machen ja
Sollte kein Problem darstellen ![]()
//edit
Da ich mal hier fragen wollte zu der Userliste
Das ist machbar, aber ich kam auf die idee ein Panel mit einzubauen wo man die User gleich verwalten kann von Kick bis hin zu rechten
Was haltet ihr davon?
so
ts_addservergroup("BREAD.","Server%20Admin");
Die Include kann noch kein Leerzeichen unterstützen daher das %20
Jetzt ist es möglich wenn du es noch suchst
[ INCLUDE ] Teamspeak3 Connect - Verbinde server mit deinem Teamspeak (Beta 1)
Das ist eig das was |-|auke vorhatte ![]()
Das ist die localhost von meinen Webspace
daher kann er sich nicht verbinden^^
Du musst schon eine Andere ip eingeben da du bedenken musst das es php ist und da kannst du nicht dein localhost eingeben, da dann das php script denkt das der TS bei sich auf den server lieget
man sollte auch anstaat den namen die teamspeak uid nutzen können.
Das hatte ich erst vorgehabt, aber da das nicht wirklich geklappt hat (mit der id)
habe ich es per Name gemacht um es mir einfacher zu machen ![]()
Das mit den infos kommt noch in anderen Versionen dazu ich wollte nicht so viel zum anfang reinmachen um später mehr bei Updates zu Zeigen ![]()
Bread.:
127.0.0.1 ist mein Webspace ![]()
Du musst deine IP eingeben (ggf ports freischalten)
soweit ich verstanden habe ist dies nur die Beta Phase oder?
In der Beta ist sie ja
dennoch kann man sie schon nutzen da die Funktionen beibehalten werden
Die Beta ist nur um zu sehen ob es doch zu fehlern kommt oder nicht
Was ist wenn man dies nicht mehr hat?
Man kann den in der user tabelle nachschauen
Dazu musst du die sqlite datenbank bei navicat einfügen
schöne Sache, aber sind es nicht SubChannel und nicht Supchannel ?
"ts_createsupchannel"
Ja ich war erst am überlegen aber so schlimm ist es jetzt nicht
es kommt aber auf die merkliste
Bedenkt aber bitte, das xGreekz7x auch einen Großteil mit dazu beigtragen hat daher teile ich das Lob mal auf ![]()
Aber ich freue mich das es so gut ankommt
Wie ihr es wisst, arbeite ich und xGreekz7x an einer Include die es möglich macht euren Server mit einen Teamspeak zu verbinden.
Das was ihr nur braucht ist:
Der Serveradmin Account mit passwort (bekommt man bei der Installation angezeigt)
Die IP und den Port von den TS (Standart 9987)
Und den Queryport des TS (Standart 10011)
Die Ganzen Funktionen im Überblick:
native ts_connect(tsip[],tsuser[],tspass[],tsbotname[],tsport=9987,tsqueryport=10011,phphost[]="beavis.cc/ts/ts3.php");
native ts_kick(playerid, uID[], const reason[]=" ");
native ts_ban(playerid, uID[], const reason[]= " ", time=0);
native ts_move(playerid, uID[], const ts_channel[], ts_channelkey[]=" ");
native ts_createchannel(playerid, const cannelname[], const channeltopic[]=" ");
native ts_createsubchannel(playerid, const cannelname[], const channeltopic[], const whatchannel[]);
native ts_removechannel(playerid, const channelname[]);
native ts_addservergroup(playerid, uID[], const servergroup[]);
native ts_removeservergroup(playerid, uID[], const servergroup[]);
native ts_addchannelgroup(playerid, uID[], const channel[], const channelgroup[]);
native ts_removechannelgroup(playerid, uID[], const channel[]);
native ts_givetalkpower(playerid, uID[]);
native ts_taketalkpower(playerid, uID[]);
native ts_createservertoken(playerid, const servergroup[]);
native ts_createchanneltoken(playerid, const channel[], const channelgroup[]);
native ts_tokendelete(playerid, const token[]);
native ts_chanelmove(playerid, const channel[], const tochannel[]);
native ts_poke(playerid, uID[], const message[]);
native ts_clientcheck();
Wir haben uns dazu entschieden, die einzelnen Funktionen auch zu beschreiben
(Spart das durcheinander hier im Post)
Was wichtig ist in der Beta Phase:
Die Funktion
ts_connect(tsip[],tsuser[],tspass[],tsbotname[],tsport=9987,tsqueryport=10011,phphost[]="beavis.cc/ts/ts3.php")
Der letzte Wert darf nicht geändert werden!
Sobald das php Script freigegeben ist, könnt ihr da den pfad angeben aber das kommt alles noch ![]()
Desweiteren ist die Funktion in der Doku nicht erwähnt:
native ts_clientcheck();
Die Funktion ist relativ umfangreich, da man einiges mit machen kann.
Ich habe sie aus den Grund erstellt, um user mit den Accounts zu vergleichen.
Wenn ihr sie anwenden wollt, benötigt ihr ein neuen public im Gamemode
der nennt sich
public ts_checkuser(uID[],tsname[])
So hier werden die uid und der Name übergeben.
Da ich etwa auf Ordnung im TS stehe, habe ich das mal so gemacht (soll als muster da sein!)
public ts_checkuser(uID[],tsname[])
{
new query[128],LoadName[MAX_PLAYER_NAME];
format(query, 128, "SELECT `Name` FROM `DTuser` WHERE `TSIdent` = '%s' LIMIT 1;", uID);
mysql_query(query, (-1), (0), SQL);
mysql_store_result(SQL);
if(mysql_num_rows(SQL))
{
mysql_fetch_row_data(SQL);
mysql_fetch_field("Name",LoadName,SQL);
if(strcmp(tsname,LoadName,true))
{
format(query, 128, "Bitte ändere deinen Namen zu %s!",LoadName);
ts_kick(-1, uID, query);
}
}
else
{
ts_move(-1, uID, "Unregistriert");
}
mysql_free_result(SQL);
return 1;
}
So wie ihr seht hab ich hier eine Abfrage reingemacht.
Ich frage erst ab ob es die uID in der Datenbank gibt.
Gibt es sie nicht wird der user gemovt in den channel "Unregistriert"
Gibt es die uID aber der Name stimmt nicht, wird der User gekickt und bekommt mitgesendet wie er sich nennen soll.
Ist alles richtig passiert nichts ![]()
Das ist nur eine kleine spielerei die mir heut nacht eingefallen ist ![]()
Viel spaß mit den system
Hinweis! Alle Versionen unter der Beta IV sind nicht mehr Kompatibel
//edit
Support eingestellt da 2.0 in folge ist
kann man das nicht rigendwie direkt machen bzw prüfen in der Funktion direkt?
Das ist sie z.B.
stock ts_addchannelgroup(ts_name[], const channel[], const channelgroup[])
{
/*
ts_name = Der Name des User´s im TS
channel = Der Name des Channels
channelgroup = Der Gruppenname (z.B. Voice für Voice rechte)
*/
if(!TS_Data[TsVerbunden])
{
if(TS_Data[TsLog])
{
print("Es wurden keine Zugangsdaten eingegeben!");
}
return 1;
}
/* Ab hier nichts ändern! */
new ts_string[256];
format(ts_string,sizeof(ts_string),""PHP_HOST_URL"?IP=%s&Queryport=%d&user=%s&key=%s&Port=%d&what=addChanelGroup&channel=%s&channel_group=%s&name=%s",TS_Data[TsIP],TS_Data[TsQuery],TS_Data[TsUser],TS_Data[TsPass],TS_Data[TsPort],channel,channelgroup,ts_name);
HTTP(0, HTTP_GET, ts_string, "", "TS_Funk");
return 1;
}
das cannel_group ist es ja