Not logged in

Pages: 1 2 [3] 4

### AuthorTopic: Teamspeak 3  (Read 19143 times)

#### Gwynzer

• Staff
• Mammoth Tank driver
• Offline
• Posts: 2184
• BloodyNoob Handler and Mating Expert
##### Re: Teamspeak 3
« Reply #30 on: January 29, 2010, 03:30:13 pm »

The TS3 surround-sound is very similar to the Vent surround-surroud (Regarding all you can do is have a certain user transmitting from a certain location, except it's easier to choose *where* that person is in TS), however TS3 is a lot easier to modify (or so I'm told) than vent, so it could be possible that this feature will eventually be integrated into TS.
Logged
Quote from: TK2 Ban Policy
ur gut feelings are good enough.

Quote from: Ren BI1
Gwynzer@IRC: PENIS
shippo: sigh
lavakill: he always ruins everything

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #31 on: February 01, 2010, 11:15:18 am »

I started writing a TS3 reg to team renegade players into proper channels, while I was at it I looked at the server and client SDK. I only looked briefly because I was only interested in the ServerQuery Manual and had no real business looking at the SDK, but it seemed to me that it wouldn't be possible to make a server plugin for the TS3 server & FDS to create the 3D sound effect for players, but rather it would rely on a client TS3 plug-in, and client scripts.dll/shaders.dll.
Logged

#### EvilWhiteDragon

• Founder
• Staff
• Mammoth Tank driver
• Offline
• Posts: 1806
##### Re: Teamspeak 3
« Reply #32 on: February 01, 2010, 02:17:59 pm »

AFAIK that is the way it worked for our mumble surround as well. At least you had to use a dll file clientside so... Also, StealthEye already has a TS3reg so
Logged
"It is important to find a balance. It is easier for parents if they set ground rules from the start about how long their child is allowed to spend on these types of games." - Only one line of cocaine a day, dear son!

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #33 on: February 01, 2010, 02:34:04 pm »

AFAIK that is the way it worked for our mumble surround as well. At least you had to use a dll file clientside so... Also, StealthEye already has a TS3reg so

I see, I was hoping it might be possible on the server only. :-(

I spoke to Goztoe yesterday, he said that Seye already made a TS3reg for thekoss2. Very cool! I only downloaded the client/server yesterday, but managed to get my foot in the door so-to-speak with the TCP query port and new command syntax, will hopefully get there soon too. POC:

Logged

#### Gwynzer

• Staff
• Mammoth Tank driver
• Offline
• Posts: 2184
• BloodyNoob Handler and Mating Expert
##### Re: Teamspeak 3
« Reply #34 on: February 01, 2010, 03:05:44 pm »

Do it for First Strike too!  I'll send you a copy of BF2142 if you don't have it
Logged
Quote from: TK2 Ban Policy
ur gut feelings are good enough.

Quote from: Ren BI1
Gwynzer@IRC: PENIS
shippo: sigh
lavakill: he always ruins everything

#### StealthEye

• Founder
• Staff
• Medium Tank driver
• Offline
• Posts: 939
##### Re: Teamspeak 3
« Reply #35 on: February 01, 2010, 03:15:06 pm »

Let me give you some hints on pitfalls I ran into with TS3 query:
- TS3 query closes the connection after being idle for 10 minutes. There is no proper way to prevent this afaik, so what I do currently is send a newline to the server to make it realize the connection didn't die.
- TS3 bans you for 10 minutes or so if you send too many messages. The only way around this I found so far is to make sure you connect to localhost/127.0.0.1 and not to the network/external ip. It seems the anti flood measures are bypassed then.

If you want I can send you the source code, but I assume you will want to do it yourself.

Also: EWD was correct on mumble, it was clientside only (which actually made it rather convenient to implement). I haven't looked at the TS3 implementation of it yet.
Logged

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #36 on: February 01, 2010, 03:44:03 pm »

Do it for First Strike too!  I'll send you a copy of BF2142 if you don't have it

I apperciate the offer, but I have never played the game and am not familiar with it. Also, I am not sure there is a direct API/SDK for the server files of BF2142, if not, it would be harder to as I am assuming it has log files and you would have to make some clumsy resource hog that did lots of disk I/O to work "properly".
If there is some sort of direct programming interface it would make it easier...

Let me give you some hints on pitfalls I ran into with TS3 query:
- TS3 query closes the connection after being idle for 10 minutes. There is no proper way to prevent this afaik, so what I do currently is send a newline to the server to make it realize the connection didn't die.
- TS3 bans you for 10 minutes or so if you send too many messages. The only way around this I found so far is to make sure you connect to localhost/127.0.0.1 and not to the network/external ip. It seems the anti flood measures are bypassed then.

If you want I can send you the source code, but I assume you will want to do it yourself.

Also: EWD was correct on mumble, it was clientside only (which actually made it rather convenient to implement). I haven't looked at the TS3 implementation of it yet.

I appreciate the heads up, little things like that can drive a guy crazy... I already found out about the spam thing banning you, while I was waiting for the ban to time out, I googled a bit and found adding myself to the whitelist.txt file seemed to work (although could be because I waited out the ban too, but I think whitelist.txt is just a list for allowed IP's, would make sense and tie in with what you was saying, because the loop-back addy is already there...).
I think I will also be using that sneaking \n send to keep the connection alive.

I found typing a sentence weird with the sendtextmessage function and the fact the string format uses invalid C++ escape sequences...
Hello\\sWorld!\\sI\\sLike\\sweird\\sstrings\n

If I get stuck I might ask kindly for the source code, but normally you write very differently to me anyway (better, lol). I would prefer to do it myself. :-)

That mumble thing sounds cool, can't believe I never heard about BI's/your mod for it before.
Logged

#### goztow

• Havoc
• Offline
• Posts: 370
##### Re: Teamspeak 3
« Reply #37 on: February 01, 2010, 07:03:51 pm »

Eh? Didn't I mention the whitelist.txt to you Seye? :$Sorry :$. I added our webspace to it to enable our TS3 querier :\$.
Logged

#### StealthEye

• Founder
• Staff
• Medium Tank driver
• Offline
• Posts: 939
##### Re: Teamspeak 3
« Reply #38 on: February 01, 2010, 07:46:27 pm »

Argh! That whitelist was added the 19th, that's just about when I solved the issues by changing to localhost :lol:. So either it wasn't there yet around that time or it wasn't commonly known and therefore I couldn't find it. Meh.

The \\s and stuff aren't supposed to be C-style escape sequences. Things such as space == \s, etc. See the serverquery documentation for a complete list. Note that in C++ you'll have to write an additional slash because otherwise your compiler will convert \n into a newline instead of the TS3 escape sequence \n (2 characters).
Logged

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #39 on: February 01, 2010, 08:10:25 pm »

Argh! That whitelist was added the 19th, that's just about when I solved the issues by changing to localhost :lol:. So either it wasn't there yet around that time or it wasn't commonly known and therefore I couldn't find it. Meh.

The \\s and stuff aren't supposed to be C-style escape sequences. Things such as space == \s, etc. See the serverquery documentation for a complete list. Note that in C++ you'll have to write an additional slash because otherwise your compiler will convert \n into a newline instead of the TS3 escape sequence \n (2 characters).

Yeah I know, that's was I was saying. When you was creating a sentence, didn't it seem kinda funny?

sprintf(message,"sendtextmessage targetmode=2 target=%i msg=The\\steamspeak3\\schannel\\sregulator\\splug-in\\sfor\\sthe\\sFDS\\sis\\snow\\slogged\\sin!\n",tsrSettings->tsserverid);
Logged

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #40 on: February 01, 2010, 09:11:57 pm »

Also, I'm just getting to the findplayer part, but noticed on the example given in the server query manual that it doesn't return the player's IP.
I am hoping a TCP query somewhere does infact give this information, otherwise it will just team them on the players name. Oh well, will find out soon.
Logged

#### StealthEye

• Founder
• Staff
• Medium Tank driver
• Offline
• Posts: 939
##### Re: Teamspeak 3
« Reply #41 on: February 01, 2010, 09:38:49 pm »

I'm not using any strings directly, so I never typed any \\s's, I'm only interpreting them. (I don't send messages to TS to notify that the regulator started etc).

Not sure about the IPs, BI's regulator has always used names to match players. With TS3 it is possibly best to match by UID, you'll just need some way to set that up based on names or whatever anyway. But our current method works well enough so I'm not going to bother.

Adding positional audio is somewhat more difficult for TS than it was for mumble. Not sure whether I'm going to do it (I had hoped it would only involve renaming some functions names etc from mumble, but it seems it will need to be rewritten entirely.)
Logged

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #42 on: February 02, 2010, 08:14:01 am »

I'm not using any strings directly, so I never typed any \\s's, I'm only interpreting them. (I don't send messages to TS to notify that the regulator started etc).

Ah, I see. I found it strange myself. Not that it's any real hassle, just kinda weird.

Not sure about the IPs, BI's regulator has always used names to match players. With TS3 it is possibly best to match by UID, you'll just need some way to set that up based on names or whatever anyway. But our current method works well enough so I'm not going to bother.

Yeah, I don't think there is a way using the TCP query system to get the player's IP, but is possible in the server SDK. I'm not convinced it's worth the effort.
What I meant was confirming that the player in teamspeak was infact the player in-game. Not that it is that likely, but some clever so-and-so could potentially join TeamSpeak3 with the nickname of someone in-game on the opposite team, just so they are moved to the enemy channel (not there are enough TeamSpeak3 player to worry about it too much, or renegade players come to think of it).
Previously I would get the in-game players IP address, and made sure it matched the IP address given from TeamSpeak2. I think that functionality is going to be lost...

It's also annoying in TS3 that the player name is returned without being wrapped in ""'s. It was a nice feature in TS2 that allowed me to make sure when I was finding a player in TS by there name that it was not just a substring of someone else's name. Although not such a big deal, easily enough overcome, just inconvieniant.

Adding positional audio is somewhat more difficult for TS than it was for mumble. Not sure whether I'm going to do it (I had hoped it would only involve renaming some functions names etc from mumble, but it seems it will need to be rewritten entirely.)

That's a shame, I was pretty excited about that.
Logged

#### StealthEye

• Founder
• Staff
• Medium Tank driver
• Offline
• Posts: 939
##### Re: Teamspeak 3
« Reply #43 on: February 02, 2010, 10:06:14 am »

It's also annoying in TS3 that the player name is returned without being wrapped in ""'s. It was a nice feature in TS2 that allowed me to make sure when I was finding a player in TS by there name that it was not just a substring of someone else's name. Although not such a big deal, easily enough overcome, just inconvieniant.
Sounds to me like you're not properly reading the data then... player names always end with whitespace (as every piece of data) and whitespace is replaced with \s, \t, etc. That should always allow you to find the entire name, so you need not worry about substrings of the name?

It's weird that it doesn't provide the ip...
Logged

#### reborn

• Engineer
• Offline
• Posts: 51
##### Re: Teamspeak 3
« Reply #44 on: February 02, 2010, 12:46:53 pm »

Sounds to me like you're not properly reading the data then... player names always end with whitespace (as every piece of data) and whitespace is replaced with \s, \t, etc. That should always allow you to find the entire name, so you need not worry about substrings of the name?

Yeah, after tokenising the string I can compare the tokenised strings vs the in-game player name, then if it matches exactly, I know that the CLID will be x positions away in my vector.
It was just a little more convieniant when they was wrapped in ""'s in TS2, but it is not a game-breaker, just a little nuisance for me.

It's weird that it doesn't provide the ip...

Yeah, I'm not sure why. You're logged in as server admin so I guess it's just a lack of thought rather than a deliberate reason not to include it. Perhaps in the future it will be added.

Quote
CLIENTINFO
Displays detailed configuration information about a client including unique ID, nickname, client version, etc.
Permissions:
b_client_info_view
Syntax:
clientinfo clid={clientID}
Example:
clientinfo cid=6
client_unique_identifier=P5H2hrN6+gpQI4n\/dXp3p17vtY0= client_nickname=Rabe85 client_version=3.0.0-alpha24\s[Build:\s8785]\s(UI:\s8785) …
error id=0 msg=ok

CLIENTFIND
Displays a list of clients matching a given name pattern.
Permissions:
b_virtualserver_client_search
Syntax:
clientfind pattern={clientName}
Example:
clientfind pattern=sven
clid=7 client_nickname=
Logged
Pages: 1 2 [3] 4

November 29, 2022, 12:24:26 am