I've created one but the complexity of it is nearly overkill for just synchronizing users.
A simple option (passed my basic proof of concept test) would be using MySQL's new view functionality instead. Absolutely backup first.
For every shared table (user, usergroup, userfield, access, etc.) you would need to drop the original table, and then recreate it as a view:
Code:
CREATE VIEW user as
SELECT * FROM source_db.user;
MySQL properly optimizes away the view since it's a simple view.
So, automatically, when vBulletin performs queries on any of these "view" tables, MySQL will simply replace the database/table names so it directly touches the other database.
Pros- Easy to maintain
- Should be very fast
Cons- Limited to same physical server
- More risk (6 sites dependent on one)
- Not stress tested -- Possible complications... ?