• Hey Guest, we're evolving the future of TeaSpeak.
    You're invited to join the discussion here!

Pending serverquery problem

liveuser

New member
Hi!
Testing version TeaSpeak-Server v1.4.22-beta [Build: 1601816990] (same on TeaSpeak-Server v1.4.20 [Build: 1600112326]), problems:
1. While connecting as serverquery client with global serveradmin, with login first and use after:
a) command servernotifyregister event=textchannel has no effect. Events textprivate and channel are working as expected.
b) query clients do not shows in yatga or ts3 client.

** With those commands changing places , i.e. use first and only then login - everything ok. It is still a problem for me, preventing upgrade (currently using 1.4.12).

2. Using servernotifyregister drops "Client uses the lagacy notify system, which is deprecated!" in serverlog. Why is that deprecated and what should I use instead?

EDIT: forget to add, query connect with global serveradmin user.
 
Last edited:

liveuser

New member
Version:TeaSpeak 1.4.22 (13.12.2020 15:28:52)
using https://github.com/TeaSpeak/TeaSpeak/blob/master/documentation/ServerQueryNotify.md
Real problem is in scenario 2, visibility doesnt really matter.
scenario 1:
connect
use - #at this point query client is visible like that https://gyazo.com/318dc9f2ddb53c28e519b6e728bd5f21 i_client_serverquery_view_power doesnt respected
login as serveradmin
subscribe to chat
receiving text to channel and server tabs - no problem.
before second whoami I shut down virtual server and bring it back again.
notice client_channel_id=0 in the second output.
after that we receiving events only for server messages

scenario 2:
connect
login as serveradmin
use - #at this point query client is invisible
subscribe to all
move my voice client and query to the same channel - notice how client_channel_id=0 on query clent before and after move attempt
trying to receive server and channel message - only server msg register
NB: this scenario also exact with servernotifyregister event=textchannel , aka "lagacy notify system"

scenario tea*speak-1
login
use - query client visible for clients with sufficient i_client_serverquery_view_power
after server shutdown and up - whoami: virtualserver_status=unknown, thats how I know where is no connection to server an just reconnect

scenario tea*speak-2
use - query client shown as 'unknown'
login as serveradmin - query client dissappears from view, but still shows in yatga. Log shows https://gyazo.com/8205c5c4e630040806e0a6bf28a340d1
rest is the same
 

WolverinDEV

TeaSpeak Team
Staff member
Administrator
Hey,
It's already really late for me so I'm just gonna check this out tomorrow.
But firstly it seems to be pretty well documented ;)

As you've noticed correctly i_client_serverquery_view_power is not take into account.
This may should be changed tbh ;)
 

WolverinDEV

TeaSpeak Team
Staff member
Administrator
Well if I understand this correctly your main issue is that you're not receiving channel messages, right?
Else even though the the server responses are different I don't see anything critical.
 

liveuser

New member
Critical part is - some poor fellow will be scratching head wondering why channel text messages are lost. And most of the fellas use libraries for query, where default behavior to login before use.
Tea*Speak dont reconnect query clients to virtual server on stop-start, but TeaSpeak does, and after this reconnect query client dont get channel messages, even thou it was getting them after initial connect (by using use before login). This also could cause some serious *** pain.
Also it would be nice to receive some indication on server shutdown (voice client do, dont they?), because for now there is no way to tell if there is no messages or connection is bad other way but just constantly check client_channel_id.
 

WolverinDEV

TeaSpeak Team
Staff member
Administrator
Well in theory you should get a notifyserverleave if you're joined into any channel.
I'll test that later on.
 

WolverinDEV

TeaSpeak Team
Staff member
Administrator
PS: When using use before login you probably have the god mode permission enabled which allows you to join a server without beeing registered in the channel tree.
 

liveuser

New member
PS: When using use before login you probably have the god mode permission enabled which allows you to join a server without beeing registered in the channel tree.
You probably meant other way around, login before use.
I didnt know that clients with b_virtualserver_select_godmode are not registered in the channel tree. Yes, I was testing it with serveradmin account, who is a member of Admin Server Query where b_virtualserver_select_godmode is on. Without this permission method login -> use works fine in regards to receiving channel text messages.
BUT! After virtual server stop-start query client not receiving channel text messages, not registered in channel tree and has client_channel_id=0, so there is that.

Well in theory you should get a notifyserverleave if you're joined into any channel.
I'll test that later on.
Nope, no event is fired on virtualserver stop. But server dont forget to reconnect all query clients when server starts again. And all query clients at this point have client_channel_id=0 (cant receive channel text messages).

In regard of query client visibility - I was not able to understand pattern. Some clients do see query client, some clients (with exact same privileges) are not. And it vary in time, sometimes same client do, sometimes dont.