Forum

Results 1 to 15 of 15
  1. #1
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35

    [OBSOLETE] Server: Client revision check - inform and inform/kick the client - v0.3

    THIS SCRIPT IS FOR SERVERS ONLY

    THIS SOLUTION IS OBSOLETE FROM BETA13 ON, more.

    Hi,

    I just "finished" the development of my own client revision check. Major features are inform the client if it has an obsolete revision and inform as well as kick the client from the server if client revision is under a defined no-go revision.

    I plan to make it more "comfortable" for non-perl-adepted "administrators" with language variables and extend the script with a live request or external info file (I do not know it yet) for the latest client revision.

    Requirements
    • Unix/Linux and derivate. Not so hard to port the script to Mac or Windows, just replace the first line Perl path.
    • Perl module Net::Telnet, more (Thanks to /dev/null/)


    Setup
    1. Line 20: replace "serveradmin" with your serveradmin-username (possibly the same)
    2. Line 20: replace "password" with your serveradmin-user password
    3. Line 21: replace "127.0.0.1" with your ServerQuery Hostname/IP (possibly the same)
    4. Line 21: replace "10011" with your ServerQuery port (possibly the same)
    5. Line 22: replace "1" with your virtual server database-id (possibly the same)
    6. Line 23: replace "9592" with the oldest client revision you allowed to access to the virtual server you selected in line 22.
    7. Line 24: replace "9592" with the latest client revision. clients unter this revision will be informed that a new revision is available
    8. Line 202: replace the third parameter with your inform-before-kick message
    9. Line 203: replace the third parameter with your kick message
    10. Line 209: replace the third parameter with your new revision message
    11. Line 215: replace the third parameter with the message send to client if its revision could not determine
    12. Create a new cronjob which execute this script every minute like "* * * * * /srv/teamspeak/teamspeak3/ts3server_client_revision_check"


    Download


    Try it
    On my TeamSpeak 3 server:
    • Address: ts.soeren-kornetzki.de
    • Port: 9988
    • Nickname: <your nickname>
    • Password: <no password>
    • connect now


    Changelog
    • 2009-01-05 18:07 (24 hrs): fixed sending client as server message, more (Tanks to Raptor2K4)
    • 2009-01-05 00:22 (24 hrs): fixed warning with occurs if client has no running application from its app scanner
    Last edited by burnersk; January 8th, 2010 at 11:33 AM. Reason: Requirements added, prefix added, title edited, Try it added, Requirements updated, Changelog added, title edited, Changelog edited, obsolete added

  2. #2
    Join Date
    August 2008
    Location
    Whois
    Posts
    586
    Nice idea and nice script!
    Thanks dude!

    PS:
    You must perl addet a module:
    perl -MCPAN -e 'install Net::Telnet'

  3. #3
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by /dev/null/ View Post
    You must perl addet a module:
    perl -MCPAN -e 'install Net::Telnet'
    Thank you /dev/null/! I just changed the requirements.

    Is it possible, that any operator can change the thread-listed-topic to the first post topic. There is no "Server: " And maybe some client users think this is for clients.

  4. #4
    Join Date
    January 2010
    Location
    Poland
    Posts
    8
    Code:
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    all vars set-up (serveradmin pass etc.) but script work

    btw. how can i easy set up cron job?

  5. #5
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by antihrist View Post
    Code:
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    hmm, curious. Does not occur on my system.

    Quote Originally Posted by antihrist View Post
    btw. how can i easy set up cron job?
    Linux
    Please read http://en.wikipedia.org/wiki/Crontab
    • execute: crontab -e
    • append at the ending the a new line followed by * * * * * /srv/teamspeak/teamspeak3/ts3server_client_revision_check
    • save changes (if vim stated type "[Esc] :wq", on other editors check manual to save and quit)

    Windows
    • open Windows task scheduler
    • create new task
    • enter name and description of task
    • select daily (or hourly if available)
    • select "execute program"
    • select the executable (you have downloaded it )
    • edit the task (only if you have selected "daily")
    • remove daily scheduler (only if you have selected "daily")
    • add hourly scheduler (only if you have selected "daily")

    Mac
    I do not know, ask an Mac user, sorry
    Last edited by burnersk; January 5th, 2010 at 12:16 AM.

  6. #6
    Join Date
    August 2005
    Location
    Nederland
    Posts
    56
    Same error here, script works great though!

    Code:
    ./ts3server_client_revision_check
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.
    Use of uninitialized value in split at ./ts3server_client_revision_check line 188.

  7. #7
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by Hollanda View Post
    Same error here, script works great though!
    ahh, I get it! This warning (not an error) occurs if a client has no "applications" from the app scanner.
    I fixed this, please update my script.

  8. #8
    Join Date
    August 2005
    Location
    Nederland
    Posts
    56
    What lines have changed?

  9. #9
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by Hollanda View Post
    What lines have changed?
    Lines 200 until 208.
    Last edited by burnersk; January 5th, 2010 at 12:41 AM.

  10. #10
    Join Date
    January 2004
    Location
    Germany
    Posts
    14
    Code:
    sub sendmsg( $$$ )
    {
    	my ( $t, $clid, $msg ) = ( shift, shift, shift );
    	$msg = convertstring2( $msg );
    	$t->cmd( "sendtextmessage targetmode=3 target=${clid} msg=${msg}" );
    	geterrorline( $t, "error while sending text message to clid=${clid}: " );
    }
    You have to change the targetmode to 1, cuz otherwise you send the Message to the Server and not to the client.

    Code:
    enum TextMessageTargetMode {
    TextMessageTarget_CLIENT = 1, // 1: target is a client
    TextMessageTarget_CHANNEL, // 2: target is a channel
    TextMessageTarget_SERVER // 3: target is a virtual server
    };

  11. #11
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by Raptor2K4 View Post
    You have to change the targetmode to 1, cuz otherwise you send the Message to the Server and not to the client.
    I am sorry, you are right! Just changed.

  12. #12
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    I am glad to announce that the new TeamSpeak 3 server software will have build-in client version checks.

    For further information, please refer to Upcoming Changes... client beta10, server beta13.

  13. #13
    Join Date
    June 2002
    Location
    Krün / Germany
    Posts
    1,638
    sorry for making your work obsolete ;(

  14. #14
    Join Date
    December 2009
    Location
    Hannover, Germany
    Posts
    35
    Quote Originally Posted by R. Ludwig View Post
    sorry for making your work obsolete ;(
    No problem! Build-in solutions are better than external query tools

  15. #15
    Join Date
    December 2009
    Posts
    44
    just wanted to say thank you works perfect, even its obsolete soon

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. [Not possible] Check if client is whispering?
    By pompex in forum Client Support
    Replies: 1
    Last Post: August 15th, 2014, 02:01 PM
  2. [Resolved] Using a restricted network: need to inform the admins of the correct fix
    By Virus. in forum General Questions
    Replies: 4
    Last Post: March 20th, 2012, 06:21 AM
  3. [Resolved] Check client names, kick if not correct ?
    By kekke in forum Client Plugins / Lua Scripts
    Replies: 2
    Last Post: June 7th, 2011, 08:45 PM
  4. Can the logic for check if a new client is availible be fixed?
    By Screech in forum Suggestions and Feedback
    Replies: 2
    Last Post: February 23rd, 2011, 06:21 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
  •