Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
TSxView: simple live viewer for Teamspeak 2 & 3 Details »»
TSxView: simple live viewer for Teamspeak 2 & 3
Version: 1.1, by Disasterpiece Disasterpiece is offline
Developer Last Online: Oct 2019 Show Printable Version Email this Page

Category: Forum Home Enhancements - Version: 4.0.0 Rating:
Released: 01-01-2010 Last Update: 01-11-2010 Installs: 83
Uses Plugins Auto-Templates
Re-useable Code Additional Files Translations Is in Beta Stage  
No support by the author.

++++ ATTENTION! ++++++++++++++++++++++

This mod is outdated and has been replaced with an advanced version, covering more features: https://vborg.vbsupport.ru/showthread.php?t=264573

Because the mod has been completely rewritten, this isn't considered a simple "update".
Please install the new mod as I won't offer any more support for this one.

+++++++++++++++++++++++++++++++++++





[Old version:]

Welcome everyone!

You can find here a simple Teamspeak online-viewer for your forum.
You don't have to edit core files, just a small plugin file with a php libary and everything should work fine.

If you want to have an overview about how it's looking in the end, check out the screenshots included with this post.

The vBulletin 3.8.x Version of this mod is located here.



INFO
====

Current Version: (please report bugs, issues and any other feedback)
Author: Andreas Rudolph <radon@ggmj.de> (aka Radon)

This is a vB 3 / 4 Plugin with a simple who-is-in-teamspeak box.
Tested with:
- TS2
- TS3 Beta 9
- vBulletin 4.0.0
- vBulletin 3.8.2


ADDITIONAL FILES
================


There are two libaries included with this script which are necessary for php-sided teamspeak query.
You don't need both files, if you're using one teamspeak version only.

ts2status.php by Guido van Biemen (aka MrGuide@NL)
ts3status.php by Sebastien Gerard <sebeuu@gmail.com>


INSTALLATION
============


Extract the archive and upload the libary files into "/forum/includes/" directory.
Install the correct plugin xml file in your vBulletin ACP.
If you are updating, make sure to allow overriding of previous plugin versions.


UPGRADING
=========


To upgrade the plugin, proceed as you'd install a new product by navigating to the
"Plugins & Products -> Manage Products" group and klick "[Add/Import Product]"
Choose the pluginfile for your vBulletin version and make sure to check "Allow Overwrite" before
you import the updated plugin.

If you have problems after upgrading the plugin, write down your plugin's settings, un-install the
addon and install it again.

If you made any changes to the templates, the template records will not be deleted!
After the installation you'll have to re-enter your configurations, because these won't be saved!


CONFIGURATION
=============


By default the plugin is disabled in its options to prevent error warnings.
You can access the configuration by "Settings -> Teamspeakx Viewer".
After you entered the correct information, you can enable the viewer with the first option.

The most important settings:

- Enable / Disable TSxViewer:
This should be enabled for the actual plugin to work. Make sure to enable it *after* you
configured your plugin.

- Teamspeak Version:
If you want to query a TS2 server, switch this to "NO", otherwise leave it to "YES".

- Server IP:
Simply enter the IP, you're using to connect to your teamspeak server.

- Teamspeak 2 Port:
If you're using Teamspeak 2, you have to specify the connection port. This is important,
because if more virtual servers are running on the same machine, this port is used to
identify the correct server and it's used to display a Join link so user can connect through
your forum.
This is the port number you use in your Teamspeak 2 application behind the IP.
If you're using this ip in your TS2 Connection window: "123.123.123.123:8767", your TS2 port
is "8767".
If you're using Teamspeak 3, this setting is obsolete, because the port is transfered
through the query anyway.

- Queryport:
The teamspeak server uses a certain port where it listens for incoming queries.
For TS2 servers, you find this port in the server.ini file, which is located in the same
directory as the server binary is.
In the server.ini, look for a like called "TCPQueryPort". The port number is the value
after the "=".
For TS3 servers, you find this port in the ts3server.ini file, which is located in the same
directory as the server binary is.
In the ts3server.ini, look for a like called "query_port". The port number is the value
after the "=".

If you don't have access to these ini files, ask your server administrator or server
provider for these informations.

- VServer ID:
Teamspeak 3 servers aren't identified by their port number anymore.
Each virtual server gets an unique ID to differ it from the others.
In order to query the correct Teamspeak server, you have to specify its id. This is
important, if the machine TS3 is running on, provides more virtual servers than one.
In this case, you may ask your server provider for the correct ID of your server or ask your
server admin.
You usually find this ID in the server's log files too.


TROUBLESHOOTING / F.A.Q
=======================


- I get the error message "Socket error" or "Connection refused"
-> This is mostly the case, if you entered the wrong IP or port information.
Regardless if the port and ip is correct, the script sends a query to ask if the server
is "there" and answers. If no answer comes back, the script gives back these error messages.
Also check if you use the correct connection method. If your server is Teamspeak 2, it makes
no sense to query it with Teamspeak 3 methods and vice-versa.

- The who-is-online list prints out players who aren't on my server
-> You probably entered the wrong server port (for TS2) or the wrong vServerID (for TS3) and
the script is querying the wrong server.
Make sure you're using your server's data.

- I'm getting a blank site with PHP errors of classes that could not be found
-> You forgot to upload the query libaries or you put it in the wrong place.
Make sure you uploaded the necessary php files into the ./forum/includes directory and set
the correct permissions so the webserver can access it.
Also check if you're using the correct version.
If you update the plugin file, always update the libary file(s) too!


CUSTOMIZATION
=============


To customize the template, you'll find it in the forumhome Templategroup as "forumhome_tsviewer"
If you want advanced customization of the output code, you have to edit the plugin code.

To display the viewer in a different position, you can edit the output template hook.
In the plugin's code, find
"$hookpos = 'forumhome_wgo_pos'.$vbulletin->options['tsx_displayposition'];"
And change the 'forumhome_wgo_pos' to any other hook you want the output to appear.
Since the forumhome template has 5 positions (forumhome_wgo_pos1, forumhome_wgo_pos2, ...,
forumhome_wgo_pos5), you have to remove
"$vbulletin->options['tsx_displayposition'];"
if your preferred hook has no number at its end.
If there is no output at all, you probably used an invalid hookname.

For usage with teamspeak2, you can also put an icon file "teamspeak.gif" into the misc dir of your
image folder. This icon will be displayed on the left side of the output row.
If you want to use an other icon file or rebuild the output row, you have to edit the forumhome_tsview
template to fit your needs.


CHANGELOG
=========


12/01/09
- First non-beta Release starting at v1.1
- Fixed a formatting error in ts3status.php libary file
- Fixed tabs and whitespaces in xml files causing plugin installation to fail in rare cases.

04/01/09
- General code-cleanup
- Some additions for the settings descriptions
- Added setting for password-protected servers
- Added joinlink support for passworded servers
- Minor changes in ts3status.php

01/01/09
- Initial release

Download Now

File Type: zip tsxviewer_vB4_v11.zip (14.5 KB, 603 views)

Screenshots

File Type: jpg tsxviewdemo.jpg (51.9 KB, 0 views)
File Type: jpg tsxadmindemo.jpg (104.3 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
RichieBoy67

Comments
  #92  
Old 09-22-2010, 04:40 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi

Sure, can help you with that.
I assume, that the actual Teamspeak Viewer and the Joinlink should be displayed at two different positions? Then what you need is the name of the second templatehook where you want the joinlink to be displayed. If you use the default vB4 template, this should be easy. I could tell you the hookname if you tell me where you want the link to be displayed.

The only change you've to do with the plugin is this:
In your AdminCP, go to plugin management, edit the "TSxViewer: Main" plugin.
There you can see some php code in the big textarea.
The best would be to simply copy the whole content into a texteditor where you can see and access the line numbers. This would be easier to work with.

- In line 40, change:
PHP Code:
$op .= '<span style="padding-left:20px" class="tssjoinlink">' 
to:
PHP Code:
$jlink '<span style="padding-left:20px" class="tssjoinlink">' 

- In line 88, change:
PHP Code:
$op .= '<span style="padding-left:20px" class="tssjoinlink">' 
To:
PHP Code:
$jlink '<span style="padding-left:20px" class="tssjoinlink">' 

- In line 104, add:
PHP Code:
$template_hook['yourhookname'] .= $jlink
Where "yourhookname" should be replaced with the template hook you want the joinlink to be displayed.

This basically splits the join link from the teamspeak viewer output and lets you place it somewhere else.
I didn't test this myself, due to lack of a vbulletin installation at the moment :P
Tell me if you get any problems with this.
Reply With Quote
  #93  
Old 09-22-2010, 06:04 PM
Scan Cape Cod's Avatar
Scan Cape Cod Scan Cape Cod is offline
 
Join Date: Aug 2005
Location: Cape Cod Massachusetts
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the quick reply. I want to add your code to the top of the following page, if possible.

http://www.scannewengland.net/forums...plate=tsviewer

Ideally I'd like to put it right where the "Enter Server" link is showing. The server viewer that is showing is inside of an iframe. I plan on shutting off the login box within once I have this working.

I'm not sure what the hookname for this would be, unless it's custom_tsviewer, which is what the template is called. Pardon my ignorance; trial by fire here!

Again, my thanks.
Reply With Quote
  #94  
Old 09-22-2010, 11:45 PM
Scan Cape Cod's Avatar
Scan Cape Cod Scan Cape Cod is offline
 
Join Date: Aug 2005
Location: Cape Cod Massachusetts
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually it might just be easier for me to figure out what I need to do to make this link automatically take the currently logged on user's username:

ts3viewer://snechat.no-ip.org?port=9987?nickname=HERE'S WHERE THINGS GO DOWN THE TUBES FOR ME...

I am trying to find the answer by searching up vBulletin Template Variables, HTML code, etc, but I'm just not quite there...actually I don't think I'm even close!
Reply With Quote
  #95  
Old 09-23-2010, 02:22 AM
Scan Cape Cod's Avatar
Scan Cape Cod Scan Cape Cod is offline
 
Join Date: Aug 2005
Location: Cape Cod Massachusetts
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I've learned a lot. I learned how to create a custom hook by editing the hooks_vbulletin.xml file and also how to place them in the proper location on a php page. The code you sent me kills the link in the original position of the plug-in, and then doesn't display it in the new location.

If you still have time to give me a handhold, would you prefer to take this to PM? I don't want to jam up this thread with something not entirely relevant to it. I'll be more specific and provide examples there if you're agreeable.

Thanks.
Reply With Quote
  #96  
Old 09-23-2010, 07:30 AM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi

sure, send it via PM.
Reply With Quote
  #97  
Old 09-28-2010, 05:04 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

UPDATE!

----

To everyone who is following this mod, the next major version (1.2) is nearly in beta stage, which means I need some people to test it for me, if there are any issues or suggestions which should go into the release version.

Here some key features what's new in 1.2:

- Support of multiple server viewer at once!
You have a variety of voicetool server you want to display? Then this is right for you!
- Support of more Voicetools!
Actually it was planned to support Mumble as well, but only Ventrilo made it as addition to TS2/TS3 into this version. Why? Read below...
- Query caching!
Probably the most interesting new feature: Query per cronjob, display from cache! Weee!
- Status logging!
Now you can monitor your server's status via cron logfiles and see when a server times out and when he's back on!
- Better backend Structuring
Since more features require more space and own scripts to work, the viewer tool now has its own AdminCP section. Also, nearly the whole code has been re-written to be better and faster.


Read on for explanations on why and how these changes affect the plugin:


----

- Support of multiple server viewer at once!

This is accomplished by a list of servers who can be created via admin interface. There you can activate/deactivate the server, see their online/offline status and the details you've entered. If you have only 1 server, then you're fine too. If you're managing more servers at once, you'll find this pretty handy.
Attachment 122400


- Support of more Voicetools!

I actually wanted to support TS2, TS3, Ventrilo and Mumble, but mumble has such an awful API for developers, that it simply was not possible to create a working status query without additional php extensions. Too complicated for now, the next minor version might include an API for those who are skilled enough to install the required extensions by themselves.
Anyhow, Ventrilo is supported now!!! Since I got many pms asking if Ventrilo can be supported too, well, here ya go. Hope it helps many people!


- Query caching!

The standard method of getting a userlist out of the server is to query the server every time you build up your forum page.
Which means, if 200 people view your forumhome page, then the teamspeak server gets 200 queries per minute. Which is unnecessary.
Now, all active servers get queried by an automated scheduled job, which runs every 10 minutes by default, with the option to reduce the delay to 1 minute. (sadly, vBulletin does not offer a delay between 1 and 10 minutes. duh)
So if you receive 200 pageviews per minute, or 2000 pageviews in 10 minutes, your servers only get queried once in this time. Sounds cool, eh?


- Status logging!

As additional feature to vB cronJobs, the script will now create a logfile entry everytime a server which was online times out or an offline server gives a positive response.
Can be a nice feature to monitor your server's uptime.
Attachment 122401


- Better backend Structuring

Now there's too much for a single setting page, so the whole content has been split up and now looks better and tidy.
Not much of a feature here, the fact that most of the plugin's code has been re-written might sound better to you.
So it's much easier for me to implement further features and the template is easier for you to customize.
Skilled php programmer can even modify the plugin's code to fit their special needs, in the releaseversion will most of the code be commented so it should be easy to understand.


Beta testers needed!

I have finished most of my work on the plugin, so it's ready to be thrown out into the wild.
If you're interested to help me out with some review and beta-testing, the plugin can be released even faster.
I need a functionality and a usability check, perhaps you find some errors I didn't see or have a few suggestions to make life more easier for you.
Drop me a line via PM with the info which vB version you're using and how skilled you are with vBulletin administration and programming/php.
Reply With Quote
  #98  
Old 10-09-2010, 09:13 PM
red-dna red-dna is offline
 
Join Date: Mar 2006
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello there. I have a different port for my ts3 server,than the default one. And as the Port setting is ignored in Ts3 Servers, i cant have my server appear right.

My port is: 4261 - Any way to set it right?

Thnx
Reply With Quote
  #99  
Old 10-09-2010, 09:51 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi

If you entered the correct serverID and IP, the port should be automatically retrieved from the teamspeakserver's response.
Does it display the wrong port?
Reply With Quote
  #100  
Old 10-09-2010, 10:38 PM
red-dna red-dna is offline
 
Join Date: Mar 2006
Posts: 39
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I entered the right id and ip, but it doesnt work. I try to click on the join Teamspeak and it loads my ts and inside it displays that it trying to connect to the default port, so i assumed for this it doesnt work.
Reply With Quote
  #101  
Old 10-09-2010, 10:52 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you check the url? It should contain the port. If it's the wrong one, this could be a bug with the plugin. In this case I could give you a workaround to use your custom port in any case, the next version will fix this issue then.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:02 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07304 seconds
  • Memory Usage 2,371KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (3)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete