[INACTIVE][SEC] vBulletinWhitelist v1.0 - Automatic Whitelist Based on Registered Forum Users [1240]

Discussion in 'Inactive/Unsupported Plugins' started by mitchelltrout, Mar 11, 2011.

  1. Offline

    mitchelltrout

    vBulletinWhitelist - Automatic Whitelist Based on Registered Forum Users:
    Version: v1.0 - Download Plugin (mirror)

    This plugin uses a vBulletin User Profile Field to manage your whitelist. When a player connects it will load a custom PHP file (provided in the rar) that will check if their minecraft username matches a user registered on your vBulletin Forum.

    Setup:
    1. Download the RAR
    2. Create a Single-Line Text Box User Profile Field on your vBulletin forum from the AdminCP.
    3. Open the mcwhitelist.php file, found in the vBulletin folder of the RAR, in a text editor and change the $profileField variable to the name of the new profile field you created. This isn't the title of the field. The name is typically in the format: field## and can be found on the User Profile Field Manager page. Save the file.
    4. Upload mcwhitelist.php to the root of your forum.
    5. Put vBulletinWhitelist.jar in your Minecraft Server plugins folder.
    6. Start your server. It will create a properties file in plugins/vBulletinWhitelist.
    7. Stop the server.
    8. Edit the vBulletinWhitelist.properties file that was just created. Change http://www.yourwebsite.com/path/to/forum/ to your forums url. You must include a trailing slash (/).
    9. Now you just get your users to enter their minecraft name in their profile to be granted access to your minecraft server.
    Features:
    • Whitelists vBulletin users when they provide a minecraft username in their forum profile.
    Download Plugin (mirror)
    Source

    Thanks to @jjkoletar you can now use this plugin with MyBB and phpBB.
    Get his PHP scripts in his post.

    Coming Soon:
    • Support for more forum systems!
    • Strict Mode off. If the plugin can't connect to the forum website it will still let people connect. (strictmode is on by default)
    • Reads Minecraft Whitelist file and allows those players to connect even if they are not on the forum.

    Changelog:
    Version 1.0
    • Release
     
  2. Offline

    gnftoxic

    Ew.
    vBulletin.

    Lawl. I may dislike vBulletin / Internet Brands for the BS they're dishing out to their customers, but good job. Could use this if it were for xenforo... but Kier has yet to make profile fields! D:

    Good job :)
     
  3. Offline

    mitchelltrout

    thanks! :)

    i havn't thought much about making it for other forum systems. but if i did it would require installing(or buying) those products in order to see how they work. not sure i want to do that. i created it for my gaming community because i was tired of having to add people to the whitelist all the time. all it needed was a way to configure the forums url and it was ready for anyone to use.
     
  4. Offline

    gnftoxic

    Just a quick note - you may not want to ever come near IP.Board, haha. I can't figure that thing out for my life. MyBB, phpBB, SMF, IP.Board, XenForo, and vBulletin are the six most popular forum softwares (from the communities I've seen) - you could possibly look into those others, or find someone who knows something about custom fields on those boards and integrate them with this plugin.
    XenForo is not possible (for the moment), IP.Board is insane but possible, not sure about the other three that aren't in this plugin.
     
  5. Offline

    Phantom Index

    Sadly Xenforo is impossible, but it was created by the same guy who created vBulletin. Hopefully a plugin like this will come along with the Gold version of Xenforo.
     
  6. Offline

    Nima304

    I'd love to use this if it was for MyBB. Honestly, I doubt many servers have vBulletin forums anyway, since it costs money and piration isn't always a good idea.
     
  7. Offline

    jjkoletar

    Maybe, if Mitchell is OK with it, I could write some of the PHP for other forum systems.
     
  8. Offline

    mitchelltrout

    i doubt it as well. but if i wanted it bad enough to code it myself (im pretty lazy) chances are there is at least 1 other out there wanting something similar.

    that would be awesome! all other forum systems would need is a php file that outputs true or false. its pretty simple. my only problem is i dont know how other forums store their userfields, or how to connect to their databases.
     
  9. Offline

    jjkoletar

    I have experience with MyBB and can probably figure out phpBB. So... I'll get to work on that.
    EDIT: Alright, MyBB is done. Download the MyBB version of the PHP file here:
    Download PHP end for MyBB

    Just place the PHP file into your MyBB root folder and edit it to specify the profile field ID. Ta-done!

    Getting to work on the phpBB version...

    Finished phpBB version.
    Download PHP end for phpBB

    Again place in your phpBB root directory and make obvious edit at top of file.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 11, 2016
  10. Offline

    dark navi

    Xenforo is possible, I use it for my site.
     
  11. Offline

    mitchelltrout

    @jjkoletar
    nice job! but just 1 suggestion. use mysql_real_escape_string() on the GET vars. its unlikely that someones minecraft name would cause a database drop but better safe then sorry!

    also your profilefield vars are not set to what im assuming you wanted to use as the defaults. they will never cause those errors you check for.

    with your OK id like to include your code in a single PHP file that will know which forum system is being used. ive been working on the plugin a bit and have added a few more config options to the plugin itself.

    Code:
    # The path to your forums directory. Please include the trailing slash.
    forumpath=http://www.yourwebsite.com/path/to/forum/
    # Forum System. vBulletin=1, MyBB=2, phpBB=3
    forumsys=0
    # Database profile field name.
    profilefield=minecraftUsernameFieldID
    # If strictmode is false plugin will allow connections when it can not connect to forum.
    strictmode=true
    as you can see the plugin will pass the profilefield name to the PHP script instead of having the user edit both files. it will also pass the forumsys variable to the PHP script so it can determine what forum system is being used and act accordingly.
     
  12. Offline

    jjkoletar

    Bobby tables comes back. In Minecraft. lol
    Anyway, go ahead with the changes.
    Actually... there. Combined. Also, I escape strings passed in too.
     
  13. Offline

    SpeedKeks

    Hi Supper plugin but would also be possible by WoltLab? would be very good because I have WoltLab forum and yes that would be nice
     
  14. Offline

    RoflWaffle

    Amazing idea. Could we get SMF support? Would be really useful.
     
  15. Offline

    Nathan C

    Any plans to update this?
     
  16. Offline

    compuwiz

    I just made an IP.Board port of this.
    You need to create 2 custom fields for this.
    1: Username: (Field Key = "minecraft_user") - Text Input
    2: Blacklist User: (Field Key = "minecraft_whitelist") - Check Box
    Option Content:​
    Code:
    true=Deny access to Minecraft Server
    Note: I wrote this code planning on making the checkbox for allowing access, then decided it would be better to have it for blocking access. If you want to change this, change the text for the profile field to what you want (NOT the key) and...​
    Find:​
    PHP:
    die(($allowed[1] != 'true')?'true':'false');
    Change To:​
    PHP:
    die(($allowed[1] == 'true')?'true':'false');

    PHP:
    if(!isset($_GET['user'])){
        
    header("Minecraft-Msg: User not set");
             die(
    "false");
    }

    $UserProfileField "";
    $WhitelistProfileField "";
    $allowed = array();

    //IP.Board port by compuwiz - redshift-gaming.net
    require($_SERVER['DOCUMENT_ROOT'].'/forums/conf_global.php');

    $link mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']);
    if (!
    $link) {
        die(
    'Could not connect: ' mysql_error());
    }
    mysql_select_db($INFO['sql_database'], $link);


    $mcname mysql_real_escape_string($_GET['user'], $link); //get username trying to join

    $sql "SELECT `pf_key`, `pf_id` FROM pfields_data WHERE `pf_key` LIKE 'minecraft_%'";
    $result mysql_query($sql$link);
    if(
    mysql_num_rows($result) > 0){
         while(
    $row mysql_fetch_array($resultMYSQL_ASSOC)){
              if(
    $row['pf_key'] == 'minecraft_user'){
                   
    $UserProfileField $row['pf_id'];
              }else if(
    $row['pf_key'] == 'minecraft_whitelist'){
                   
    $WhitelistProfileField $row['pf_id'];
              }
         }

         
    mysql_free_result($result);
         
    $sql "SELECT `field_".$WhitelistProfileField."` FROM pfields_content WHERE `field_".$UserProfileField."` = '".$mcname."' LIMIT 1";
         
    $result mysql_query($sql$link);
         if(
    mysql_num_rows($result) > 0){
              while(
    $row mysql_fetch_array($resultMYSQL_ASSOC)){
            
    $allowed explode('|'$row['field_'.$WhitelistProfileField]);
              }
              
    mysql_free_result($result);
          
    mysql_close($link);
              die((
    $allowed[1] != 'true')?'true':'false');  //set to != so checkbox means not allowed
         
    }else{
             
    mysql_free_result($result);
        
    mysql_close($link);
             
    header("Minecraft-Msg: User not found");
             die(
    "false");
         }

    }else{
         echo(
    "could not get custom fields");
    }
    mysql_free_result($result);
    mysql_close($link);
     
  17. Offline

    Procrastination

    Make a mybb version!
     
  18. Offline

    Flenix

    any chance of adding a config file where we can add required answers for our whitelist forms? For example, make it so if their age is below 14, it denies them and stops that user name from applying (Maybe even done by checking the forum account)
    We don't promote the age limit for our server because then people underage will lie, but this would be a great bonus feature!
     
  19. Offline

    Chewy954

    Anyway to make it only a certain usergroup will be allowed?
     
  20. Offline

    Josh Sagnella

    This is a fantastic idea.
    I would love a version that instead of adding to whitelist, it would move the user to a different group in Permissions that has build permisisons instead.
    So guests can join the server, but can't build until they register.
     
  21. Offline

    BioRage

    .SMF Support please!
     
  22. Offline

    leon7070

    can anyone make a version for wbb pls?
     
  23. Offline

    Jmac

    I'm loving the phpBB support! I already have it implemented.

    One comment regarding the db field. For novice website admins, do not include the pf_ prefix when your filling out the mcwhitelist.php , only include the name that comes after it.

    Example: If your field name is pf_mcuser, only include mcuser when you fill out the edit.
     
  24. Offline

    Benjamin_Price

    :)pls a WBB Plugin :)
     
  25. Offline

    Plague

    Considered inactive, update to 733
     
  26. Offline

    mitchelltrout

    tested against build 1060. sorry for the long delay.

    i dont plan to add anymore to this mod. however it would be fairly easy for a website admin with a little knowledge of PHP to edit this for an unsupported forum system. all you have to do is edit the mcwhitelist.php file to output true or false based on whatever membership conditions you test for.

    any other devs please feel free to expand on this and make it better. just because im not interested in it doesnt mean it shouldnt continue!

    you know i was just thinking of that. wouldnt be too difficult to do. especially now if you use the bukkit permissions system thats been added. i want to have something for my clans server. clan leaders who join automatically get op, clan officers get admin, clan members get basic tp, home, etc and non registered users dont get anything :) all based on their vbulletin usergroup id.

    ill have to play around with the permissions system more before i could comfortably do it but the PHP backend would be pretty simple(just as simple on the current mcwhitelist.php).

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 11, 2016
  27. Offline

    nokcihc

    Does this work with bukkit version 1185?
     
  28. Offline

    McEvan

    Yes. It works just fine.
     
  29. Offline

    Sergio_Cz

    PLEASE AUTOR, UPDATE TO 1.2
     

Share This Page