Forum

Page 2 of 10 FirstFirst 1234 ... LastLast
Results 16 to 30 of 136
  1. #16
    Join Date
    December 2009
    Location
    Germany
    Posts
    118

    New Version 0.27.19.0

    Due to the recent beta27 release I've created a new release of the library. You can download it here:

    http://ts3querylib.codeplex.com/releases/view/50542

    Changes:
    - Added methods "CopyChannelGroup" and "OverwriteChannelGroup" to class "QueryRunner" (beta 26 change)
    - Added methods "CopyServerGroup" and "OverwriteServerGroup" to class "QueryRunner" (beta 26 change)
    - Added property "ClientCountry" to class "ClientInfoResponse" (beta 26 change)
    - Added property "ClientIP" to class "ClientInfoResponse" (beta 26 change)
    - Added property "IsChannelCommand" to class "ClientListEntry" (beta 26 change)
    - Added parameter "onlyOfflineServers" to method "GetServerList" of class "QueryRunner" (beta 26 change)
    - Fixed wrong references in silverlight project. Referencing the silverlight library in a silverlight project does work now.

    Please report bugs and feel free to criticize me
    SCO

  2. #17
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    Hi! I'm very sorry if this is the wrong thread to ask, but I have troubles even with the basic function of the TS3Query library, connection to TS server. Even the simplest code as:

    Code:
    SyncTcpDispatcher std = new SyncTcpDispatcher("85.236.109.28", 10877);
    std.Connect();
    ends with thrown "host actively refused connection" error in the Connect method:

    Code:
    in TS3QueryLib.Core.SyncTcpDispatcher.Connect() in C:\Projects\CodePlex\tfs02\TS3QueryLib\Main\TS3QueryLib.Core.Silverlight\SyncTcpDispatcher.cs:line 86
    Ten times I checked the IP and port and I am very sure they exist, TS3 client connects without problems. Please, can you tell me what I'm doing wrong? I tried even the example code, where the first method called to establish connection is Login(name, pass), but the error is still the same. Thanks for any response.

  3. #18
    Join Date
    January 2010
    Location
    Germany
    Posts
    29
    Did you try this example? -> http://ts3querylib.codeplex.com/wikipage?title=ConnectToServer&referringTitle=Docu mentation


    edit:

    Oh wait... is it possible that you used the library within a Silverlight project? Or maybe it's just a firewall issue? Are you sure it's the right port? You need to use the queryport not the port of a virtualserver.

    Could be anything, but the exception says that you can't establish a socket connection to the server.
    Last edited by Insel; August 15th, 2010 at 09:17 PM.

  4. #19
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    Well, all right, please forgive me my previous question. Naturally the port needs to be query port and not client port. Uhm, my bad.

    PS: But maybe, if you have a few minutes, I need for now just 1 thing, to see who is talking. can you pls push me in the right direction, items to search for in the quite huge library? Thanks a lot, also for previous answer!!!

  5. #20
    Join Date
    January 2010
    Location
    Germany
    Posts
    29
    Quote Originally Posted by EQ Worry View Post
    Well, all right, please forgive me my previous question. Naturally the port needs to be query port and not client port. Uhm, my bad.

    PS: But maybe, if you have a few minutes, I need for now just 1 thing, to see who is talking. can you pls push me in the right direction, items to search for in the quite huge library? Thanks a lot, also for previous answer!!!
    Well, you can get information about a client like this

    Code:
    ClientInfoResponse clientInfo = queryRunner.GetClientInfo(1);
    clientInfo provides now a bunch of properties. But afaik there is no property which shows a speaking state.

  6. #21
    Join Date
    December 2009
    Location
    Germany
    Posts
    118
    ListResponse<ClientListEntry> clientListResponse = queryRunner.GetClientList(true);

    if (clientListResponse.IsErroneous)
    throw new InvalidOperationException(string.Format("Could not get the list of clients. Reason: {0}", clientListResponse.ErrorMessage));

    List<ClientListEntry> talkingClients = clientListResponse.Values.FindAll(c => c.IsClientTalking == true);

    Console.WriteLine("Talking clients:");
    foreach (ClientListEntry clientListEntry in talkingClients)
    {
    Console.WriteLine("- {0}", clientListEntry.Nickname);
    }

  7. #22
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    Thanks a lot! A little explanation: I was asked to extend somehow a little application I made to support TS3, to show on screen who is currently talking. There was something similar for TS2, but that is almost 3 years old now and unuseable. So I guessed this TS3Query library may have an "event" that could notify me when someone starts talking.

    Looking a bit closer to the available things, it seems now certain things can be reported as events (e.g. sending text), but this speaking state must be sort of "polled", checked, probably in regular intervals. But if there are in the end 20 query connections to TS3 and each is asking for clients state every second... Uhm, that would be quite a lot of traffic.

  8. #23
    Join Date
    December 2009
    Location
    Germany
    Posts
    118
    As far as I know there is no event (notification) that tells you that someone started/stopped talking. So your only chance is regularly polling.

    SCO

  9. #24
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    OK, big thanks for all the suggestions! I'll see if the polling idea is workable. Currently I'm struggling a bit with receiving any notifications (text, leave), but it is just probably a matter of what I'm listening to and where... Thanks again!

  10. #25
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    So I tried the polling, it works good in essence. The real big problem is that isClientTalking is, it seems, never set to true. When watching response text, I see for example this:

    Code:
    clid=3 cid=4700 client_database_id=10653 client_nickname=Framaris client_
    type=0 client_away=0 client_away_message client_input_muted=0 client_output_mute
    d=0 client_input_hardware=1 client_output_hardware=1 client_input_deactivated=0
    client_talk_power=75 client_is_talker=0 client_is_priority_speaker=0 client_is_r
    ecording=0 client_is_channel_commander=0 client_unique_identifier=8\/kPBl\/6Wt4g
    Xua7lEGS9yhlKn8= client_servergroups=897 client_channel_group_id=1089 client_ver
    sion=3.0.0-beta26\s[Build:\s12040] client_platform=Windows client_idle_time=823
    client_icon_id=0
    There's nothing about actual talking taking place, I can't find any appropriate item in the TS3 Query manual. Am I again doing something wrong? It seems the property is bound to client_flag_talking, but there is no such item mentioned in documentation?

    Well, if in fact it is not possible to recognize via query interface that someone is talking, is there an other way to make the info available? Or could we possibly ask TS3 developers to include the flag and maybe also add notifications about someone started and stopped to talk? I do not know anything about TS3 community/development relations, but maybe...

  11. #26
    Join Date
    December 2009
    Location
    Germany
    Posts
    118
    Strange, will have a look at it..

  12. #27
    Join Date
    December 2009
    Location
    Germany
    Posts
    118
    Mhh I've checked the code and whats sent to the query port is:
    clientlist -uid -away -voice -groups -info -times -icon

    The option "-voice" is the important part

    But the response no longer includes the flag "client_flag_talking"
    Maybe it got accidentally lost in a new release of TS3 Server?!?!

    I would suggest you to ask the TS3 Devs if it was an accident or planned.

    SCO

  13. #28
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    Actually, when used just with the -voice part the clientlist command returns a client_flag_talking value. But test show it is always zero... Uhm...

  14. #29
    Join Date
    August 2010
    Location
    Prague, CZ
    Posts
    13
    Hi again. It seems that currently we can't do much concerning detection of talking clients through server query port. There's no notification available and regular polling also does not seem to work, because the appropriate flag is always 0/false.

    But please allow me to ask about one other thing. I'm somehow not able to listen to simple events, such as clients joining a TS3 server. Below is the simplified form of code I'm using, but in fact the event (printing newly connected name) is never raised. Please, what did I miss this time?

    Code:
    static void TeamSpeak3Start()
    {
        std = new SyncTcpDispatcher("91.121.67.XXX", 10011); // get dispatcher
        qrn = new QueryRunner(std); // get runner
        qrn.SelectVirtualServerByPort(YYYY); //connect and use a server
    
        qrn.RegisterForNotifications(ServerNotifyRegisterEvent.Server); // register for server events
        qrn.Notifications.ClientJoined += new EventHandler<ClientJoinedEventArgs>(queryRunner_ClientJoined); // listen to clients joining
    }
    
    static void queryRunner_ClientJoined(object sender, ClientJoinedEventArgs e)
    {
        System.Console.WriteLine(e.Nickname); // simply print joiner name
    }

  15. #30
    Join Date
    December 2009
    Location
    Germany
    Posts
    118
    The SyncTcpDispatcher does not support those events. As the name suggest it's the synchronous version of the dispatcher.

    To use those events you have to use the AsyncTcpDispatcher. An example of how to use it can be found here:

    http://ts3querylib.codeplex.com/Sour.../59138#1119306

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. [WIP] JTS3ServerQuery - Java Server Query Library
    By Stefan1200 in forum Tools / Web Based
    Replies: 78
    Last Post: November 20th, 2016, 12:29 PM
  2. Replies: 6
    Last Post: May 21st, 2013, 02:10 PM
  3. Replies: 9
    Last Post: January 3rd, 2010, 02:26 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
  •