Log in

View Full Version : Integration with vBulletin - TS3 Group Manager


WhatPulse
09-21-2010, 10:00 PM
TS3 Group Manager is a lightweight plugin that allows TeamSpeak 3 server groups to integrate with vBulletin usergroups. You can configure the plugin to correlate any number of vBulletin usergroup IDs to TS3 server group IDs.

Mark as Installed to receive support.

Quick note! This is my first ever plugin for vBulletin so if something's wrong just yell at me angrily in all caps and I'll try my best to fix it :) Everything seems to be working perfectly in my tests though.

This should work with older versions of vBulletin, though I'm not exactly sure how to test it. If anyone knows how I can find out what the minimum version of vBulletin required to run this is, please post.

I do plan to add integration with vbExperience soon that would change a user's group in TS3 based on their vbExperience points.

Instructions

Upload the items in the "upload" folder to your forum directory
Add a custom user profile field (this will contain the user's TS3 unique ID)

This should be a single-line textbox
I also recommend to set this field to Required: Yes, Always, to avoid possible complications
Field length of 50 should suffice

Install the product (product-ts3groupmgr.xml)
Configure the TS3 server info through the plugin menu
Configure group settings through the plugin menu

TS3 Unique ID Field Name setting can be viewed in the User Profile Field Manager. Field would most likely be named field1, field2, etc
For example, if you want vBulletin usergroup id 9 to correspond to TS3 server group id 333, and vB usergroup 8 to correspond to TS3 server group 334 - in TS3 Group IDs you would type "333,334" and in vBulletin Group IDs you type "9,8".



REMEMBER! You must set a custom user profile field containing each user's TS3 Unique ID!

Hook Information
This plugin activates 2 hooks by default. 1 hook (useradmin_update_save) will update the user's TS3 groups when editing their account with the User Manager in the vBulletin admin panel.

The 2nd hook (profile_updateprofile) will edit their TS3 groups when the user updates their profile.

For security reasons (if you do not want a user to be able to change their TS3 unique ID field to someone else's unique ID) you must de-activate the profile_updateprofile hook.

Suggestions for other areas to hook will be taken into consideration for future updates.

Credits
Par0noid for his outstanding TS3 administration php class
optimatez for the idea

Suggestions
Please make suggestions for new features! This plugin is still in its infancy and there are many more possibilities.

Changes
1.01 -> 1.02 - Fixed bug that deleted all TS3 groups when removing all additional vB usergroups
1.00 -> 1.01 - Fixed bug that didn't read primary usergroup from admin panel hook

If you find this plugin useful, please donate a nice meal to a starving college student :)
https://vborg.vbsupport.ru/external/2010/09/1.gif (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=M86NCWR6FD5P8)

Devil_Dog
09-22-2010, 12:53 PM
Any chance of getting something like this for Ventrilo?

optimatez
09-22-2010, 12:55 PM
Confirmed working on vBulletin 3.8 :-D fantastic work.

WhatPulse
09-22-2010, 01:40 PM
Any chance of getting something like this for Ventrilo?
It might be possible, I'm almost positive RCon can be accessed in a similar way as the TS3 serverquery but I'm not interested in making that at the moment. Ventrilo groups and permissions are much more basic than TS3 and I don't feel it would benefit greatly from a plugin.

ImmortalForums
09-22-2010, 04:54 PM
Fantastic to see this mod!

What happens if a user gets promoted via the automatic promotion system in vb?

WhatPulse
09-23-2010, 01:06 AM
Fantastic to see this mod!

What happens if a user gets promoted via the automatic promotion system in vb?

Unfortunately promotions are done via cronjob script which does not contain any hooks.
Might be possible to hack in there though, I'll look into this for future versions.

ImmortalForums
09-23-2010, 03:28 AM
Unfortunately promotions are done via cronjob script which does not contain any hooks.
Might be possible to hack in there though, I'll look into this for future versions.

What about putting another cron that follows through on that? Not sure if that's even possible.

WhatPulse
09-23-2010, 05:01 AM
Generally the less cronjobs running the better, it would probably just be easier to add a custom hook into the promotions cron script and distribute that along with a plugin. I'm currently working on getting plugins working to integrate with vBExperience, so I'll see about those promotions when I'm done.

ImmortalForums
09-23-2010, 05:05 AM
I found a bug, if the user is in a secondary usergroup and a primary usergroup then you remove all their secondary usergroups but leave their primary usergroup the user is removed from all groups in teamspeak.

WhatPulse
09-23-2010, 05:28 AM
Good catch. I've submitted an update and the issue should now be fixed.

ImmortalForums
09-23-2010, 06:50 AM
Also what about handling banned users?

WhatPulse
09-23-2010, 03:04 PM
I do see a "Ban User" function in the admincp with a length of time to select. It is definitely possible to ban a user in TS3 for a certain amount of time that would be equivalent to their ban length on the forum. Problem is, again, there are no hooks in the ban user script for vBulletin. :(
I like the idea though and I'll definitely work on seeing if there's another way.

ssslippy
09-24-2010, 01:38 AM
I do see a "Ban User" function in the admincp with a length of time to select. It is definitely possible to ban a user in TS3 for a certain amount of time that would be equivalent to their ban length on the forum. Problem is, again, there are no hooks in the ban user script for vBulletin. :(
I like the idea though and I'll definitely work on seeing if there's another way.

Hmm what about if banned via the warning system?

ImmortalForums
09-24-2010, 10:12 PM
Also when a user changes usergroup via the user cp with permission groups.

Devil_Dog
09-24-2010, 11:30 PM
Does someone have this running live. I'd like to check it out.

ImmortalForums
09-25-2010, 01:04 AM
Does someone have this running live. I'd like to check it out.

We are running it but its for guild mates only. I can say this it works great it just needs a couple more features so its more automated. The admin interface could be better but it works. Run run our own teamspeak server off our dedicated server and it has no trouble interfacing with our server.

optimatez
09-25-2010, 03:09 PM
we are running it on our server, as the developer is in our team :-p

you are welcome to come see it in action if you want. Rush is the one who made it (whatpulse here). ts3: voice.teampulverize.com:9987
website: teampulverize.com

i wont be around until sunday night though.

WhatPulse
09-28-2010, 10:01 PM
Post any other loose ends you can think of, I'm going to put out a big update next with everything and vbExperience support when the vbExperience dev fixes something.

ImmortalForums
09-29-2010, 03:10 PM
Instead of disabling the hook could you check for duplicate unique id's in the DB when submitting?

6FRGaming
09-30-2010, 10:44 PM
Edit: NM. I guess my server provider doesn't allow a permission that this script requires.

Raeven
10-17-2010, 03:25 AM
Very nice Addon.
Waht would be nice, if it would also add (Forum) Moderators as (TS3) Chanel Admins

nhdriver4
11-29-2010, 08:38 PM
Nice addon. Thanks for your work on this.

I'm having an issue where both hooks appear to be attempting to update the TS3 server, but are timing out right away. I've confirmed that the connecting address is in my "query_ip_whitelist.txt" file. I'm not sure where to begin troubleshooting. I know that the query login and pass are correct because I can use them on other scripts I've installed.

Here's the log entry that shows up in my ts3 logs:

11/29/2010 5:30:30 PM VirtualServer Info query client disconnected 'serveradmin from 69.164.199.178:43922'(id:1) reason 'reasonmsg=connection lost'

Update: Tried this from another web server with the same result.

Update again: After some debug, it seems that the line it's getting stuck on is
$ts3_cid = $ts3->ClientDbFind($ts3_uid, "-uid");
I think it's got something to do with the executeCommand function in the class file (line 1966) thinks there's an error.
Class Debug Output:
Error while fetching: 'Welcome to the TeamSpeak 3 ServerQuery interface, type "help" for a list of commands and "help " for information on a specific command.'
Error while fetching: 'cldbid=5'

ImmortalForums
12-01-2010, 04:09 AM
May of been a code change in the latest revision of teamspeak as I had to update my web based admin panel. The script needs to be updated.

nhdriver4
12-29-2010, 12:22 AM
I gave up with Par0noid's php class. It's broked ;)

I've got everything working with Planet TeamSpeak's TeamSpeak 3 PHP Framework. It's sort of a hack of this mod into a new framework. I'll stay installed on this mod for some time, but will probably leave soon.

Thanks for your work.

Olli2k
02-03-2011, 12:19 PM
I can confirm nhdriver4's problem. Connection timed out. Mod is not working.

TSĀ³ Server: 3.0.0-beta30 [Build: 12998] Linux

Niak_Judge
02-27-2011, 11:34 AM
Hello,
I want to know if this mod is "fixed" now ? Is it working ?
Is there any way to get it working ?

initzero
11-13-2011, 08:34 PM
Hi,

so still no updated on this Mod?

Haziel
05-19-2012, 10:43 AM
How do I use this mod? I installed and set everything up, but can't really find the way to make it work (assign groups to people on the forum and allow them to login etc.)