diff --git a/plugins/other/vbulletin_users b/plugins/other/vbulletin_users
new file mode 100755
index 00000000..6a501482
--- /dev/null
+++ b/plugins/other/vbulletin_users
@@ -0,0 +1,94 @@
+#!/usr/bin/perl
+#
+# Plugin to monitor the number of guests/users on a vbulletin forum
+# Since we are using a regexp, this will work for EN forum only... adapt the regexp if your forum is not using that language.
+# visual-regexp is a great help for tuning the regexp (package exists on Debian and Ubuntu repositories)
+#
+#
+# Parameters supported:
+#
+# config
+# autoconf
+#
+# Configurable variables
+#
+# url to online.php, this page is part of vbulletin distribution, pp=1 so the page is fast to load and doesn't give us too many unwanted info
+#
+# $Log$
+#
+#
+# Not sure about those lines...
+#
+# Magic markers:
+#%# family=auto
+#%# capabilities=autoconf
+
+my $ret = undef;
+
+if (! eval "require LWP::UserAgent;")
+{
+ $ret = "LWP::UserAgent not found";
+}
+
+# CHANGE ME
+my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://www.url.to/forums/online.php?pp=1";
+
+
+# We will use this variable, not on this release ;-)
+my $forum_type = exists $ENV{'type'} ? $ENV{'type'} : "vbulletin";
+
+# same here
+my %regexp = ("vbulletin"=> "(\d+)[^\d]+(\d+)\sguests\",
+ "punbb" => "",
+ "phpbb" => "");
+
+my $type = undef;
+my $timoeout = 30;
+
+if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" )
+{
+ if ($ret)
+ {
+ print "no ($ret)\n";
+ exit 1;
+ }
+
+}
+
+if ( defined $ARGV[0] and $ARGV[0] eq "config" )
+{
+ print "graph_title Forum Users\n";
+ print "graph_args -l 0\n";
+ print "graph_vlabel current users\n";
+ print "graph_category Forum\n";
+ print "graph_total Total\n";
+
+ print "members.label Members\n";
+ print "members.draw AREA\n";
+ print "guests.draw STACK\n";
+ print "guests.label Guests\n";
+
+
+
+ exit 0;
+}
+
+
+my $ua = LWP::UserAgent->new(timeout => $timeout);
+my $url = sprintf $URL;
+my $response = $ua->request(HTTP::Request->new('GET',$url));
+
+# part of the output we want to catch : 42 members and 420 guests --> 42 - 420
+if ($response->content =~ /(\d+)\smembers[^\d]+(\d+)\sguests<\/strong>/im)
+ {
+
+ print "members.value $1\n";
+ print "guests.value $2\n";
+
+ } else {
+ print "members.value U\n";
+ print "guests.value U\n";
+ }
+
+
+# vim:syntax=perl