Forum

Results 1 to 10 of 10
  1. #1
    Join Date
    April 2014
    Location
    Seattle, WA, USA
    Posts
    141

    TS3 Server - Complete list of actionable signals sent to clients

    Hello,

    I'm working with the TS3 SDK and ScP's TS3 PHP Framework.

    In particular, I'm working on a "console" application that simply prints anything the Server Query client is in view of. Basically, I'm trying to imitate the same output that the official TS3 Client shows in the "Server" message window.

    So far, my client sends the servernotifyregister for all: server, channel, textserver, textchannel, textprivate.

    And I've created callback functions for many of notification events, such as: onTextMessageEvent, onClientMoved, etc

    My question is:

    Where is the list of all possible signals the TeamSpeak server sends or emits to clients?

    Some of the obvious ones are: notifycliententerview, notifyclientleftview, etc, but what are the rest?

    I know there are events logged exclusively in the "Server Log" such as token key usage:
    Code:
    5/14/2014 10:23 PM	VirtualServer	Info	client 'Iaijutsu'(id:6578) used privilege key 'pOVuReBm5l84qAw4Wx4istrlA9rQKlWNCR8jRv9x' and was added to servergroup 'Guardian'(id:274)
    There are also events like clients switching channels that are not logged to the server log, but are sent to the TS3 Client's "server message window":
    Code:
    <16:12:16> "Morz" switched from channel "Main Room 1" to "Adventure Time Channel"
    I've read through the SDK documentation for working with both client and server. I found information on events, and the various callbacks, however I didn't see any mention of an event involving a user being added to a server group.

    I did find a callback function: onUserLoggingMessageEvent, maybe this is how "server group" events are handled when regarding adding users or removing them?
    Last edited by Ronin Design; May 15th, 2014 at 04:37 AM.

  2. #2
    Join Date
    April 2014
    Location
    Seattle, WA, USA
    Posts
    141
    Follow-Up:

    On further investigation, it looks like there is no event that is sent regarding assigning of users to server group?

    Is there any way took into another event that triggers at the same time a user is assigned to a server group?

    Worst case scenerio, I guess I could scrape and parse the log file, but I an event or trigger for this would be helpful, rather than just say, every 30 seconds checking the log file for new entries....

    Thanks for any assistance on this!

  3. #3
    Join Date
    September 2012
    Posts
    6,080
    The SDK server knows nothing of permissions, as such there are no server groups people could be assigned to, thus no event.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  4. #4
    Join Date
    June 2011
    Location
    Germany
    Posts
    4,368
    Quote Originally Posted by Ronin Design View Post
    Where is the list of all possible signals the TeamSpeak server sends or emits to clients?
    There is none. Notifications aren't documented at all.

    Quote Originally Posted by Ronin Design View Post
    Some of the obvious ones are: notifycliententerview, notifyclientleftview, etc, but what are the rest?
    I wrote an article on that, but it's in German, because I primarily made it as a reference for myself. Maybe Google translate helps.

    Quote Originally Posted by Ronin Design View Post
    I know there are events logged exclusively in the "Server Log" such as token key usage:
    Code:
    5/14/2014 10:23 PM    VirtualServer    Info    client 'Iaijutsu'(id:6578) used privilege key 'pOVuReBm5l84qAw4Wx4istrlA9rQKlWNCR8jRv9x' and was added to servergroup 'Guardian'(id:274)
    This is incorrect. There is actually an event for that. However, query documentation is very inaccurate and has a lot of errors. A list of the most important errors is on my website, but again, it's in German.
    There is, however, no event for changing server groups by other means. Not even for yourself.

  5. #5
    Join Date
    April 2014
    Location
    Seattle, WA, USA
    Posts
    141
    Quote Originally Posted by Chris View Post
    The SDK server knows nothing of permissions, as such there are no server groups people could be assigned to, thus no event.
    Thank you for the response!

    Could you possibly give me some insight into what or where changes in server groups are handled?

    Since there is no event, how is the change in server group reported to each client connected to the server?

    Is the communication handled entirely client-side, such as:

    1) TS3-Client: add user to group
    2) TS3-Client: add log entry about this change
    3) TS3-Client: message every other client connected to the TS?
    4) *Other TS3-Clients: See message, add to "server" dialog window.

    Is this the way server group messages are handled? Or do clients simply write to the log file and then clients are always watching the logfile?

    Or maybe I'm confusing the SDK server with the normal TS3 server works? (ServerLib + server application)?

    Is this interaction not handled by ServerLib, but instead by a separate "server application" developed by the TS3 dev team?

    If so, I'm guessing it's closed-source and there is no way to find out more info about it?

    I which there was more documentation for client-side development went interfacing / communicating to a regular TS3 server...

  6. #6
    Join Date
    September 2012
    Posts
    6,080
    You're confusing or mixing SDK server and regular server.
    The regular TS3 Server has a permission system, while the SDK server doesn't.
    The regular TS3 server also does have an event for group changes (both channel and server) and regular clients receive these events and act upon it. These events are also available in the plugin SDK when coding plugins for the regular clients.
    In any case since the SDK server has no permission system at all there is no such event as there is nothing that could trigger such an event.

    The regular server will also not accept SDK clients and the SDK server will not accept regular Clients, both are not compatible with each other. So in other words, SDK clients will only connect to SDK servers and regular clients will only connect to regular servers.

    There is no need to have documentation for something that is not possible, you cannot communicate with a regular server from an SDK client.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  7. #7
    Join Date
    April 2014
    Location
    Seattle, WA, USA
    Posts
    141
    Ah, perfect! I thought I might have been confused, thank you very much for clarifying!

    Quote Originally Posted by Chris View Post
    The regular TS3 server also does have an event for group changes (both channel and server) and regular clients receive these events and act upon it. These events are also available in the plugin SDK when coding plugins for the regular clients.
    Is there any way to access these events from a different type of client?

    For example, when connecting with telnet and do: servernotifyregister event=server
    I see the standard notifyclientmoved, notifycliententerview,notifyclientleftview, etc

    However, I do not see any event or message from the server when I edit a server group (permissions flag, rename, etc) or when I add a user to the server group.

    Is this something that is proprietary and only available to the TS3 regular clients and it's plugins?

    If so, is there documentation on what events can be handled by the plugin and regular TS3 client?

    The only "client" documentation is called client.pdf and was included with the example plugin when I downloaded the TS3 client, but it says it is for the "clientlib".
    I've searched this PDF and I did not see either events OR callback functions involving 'server groups'.

    Just trying to figure out where else to look for this reference.

    Thanks again very much, I appreciate your time and assistance!

    I just connected to a raw udp server with the regular TS3 server and saw that all the TS3 client messages are encrypted.

    Obviously this makes sense and kind of confirms that stuff is proprietary / closed-source.

    However, is there any way for my 3rd-party code (connecting on Server Query port) to get access to or register for notification of these 'server group' events?
    Last edited by Chris; May 21st, 2014 at 02:38 PM.

  8. #8
    Join Date
    June 2011
    Location
    Germany
    Posts
    4,368
    Read my post above. It answered all your questions.

  9. #9
    Join Date
    April 2014
    Location
    Seattle, WA, USA
    Posts
    141
    Quote Originally Posted by numma_cway View Post
    Read my post above. It answered all your questions.
    Thanks for the response numma, but I've already reviewed your site. It's very helpful and has lots of information.

    I saw lots of information on "getting" server group info, but I did not see anything about a "server group event" that is sent to clients.

    This is my main need. Thanks!

  10. #10
    Join Date
    June 2011
    Location
    Germany
    Posts
    4,368
    I used Process Explorer's string list to see which events exist (and there are many, many more). I then tried to reproduce them (with a special focus on server and channel group changes!) with query, but with no luck. Therefore, the list is meant to be complete in the context of query clients. As I said:
    Quote Originally Posted by numma_cway View Post
    There is, however, no event for changing server groups by other means. Not even for yourself.
    If you want to find server group changes, permanent polling is required.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. I can not see the Clients list for any of my server groups
    By Whimpykids in forum Permission System
    Replies: 0
    Last Post: July 7th, 2015, 07:43 PM
  2. "Rent a Server" list: complete?
    By numma_cway in forum General Questions
    Replies: 0
    Last Post: July 11th, 2014, 11:09 PM
  3. [Resolved] list All Clients delete gameserver serverquery from list
    By thywitness in forum Server Support
    Replies: 9
    Last Post: May 22nd, 2012, 08:12 AM
  4. Improved Server Log / Client Log / List All Clients
    By TCG-Smith in forum Suggestions and Feedback
    Replies: 0
    Last Post: January 25th, 2011, 01:18 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •