Dynamic Effect Whitelist
Dynamic Effect Whitelist
This is a simple whitelist mod using MySQL/HTTP/File. To add users ingame to the whitelist permissionsBukkit is required (included in bukkit), you also need to use the File or MySQL mode. The plugin can run without any changes to the config, if you want it simple or you can edit the config to personalize the disconnect message etc.
The whitelist uses PluginMetrics which means it will send server info (plugin version, number of players on the server, server version, server location (country)), to PluginMetrics server (http://mcstats.org/plugin/DynamicEffectWhitelist) so I can get plugin usage. It can be turned off in PluginMetrics config (plugins/PluginMetrics/config.yml), but it's recommended to let it be on, so I can see the usage.
If a new minecraft version has recently been released then try the plugin instead of asking if it works. Before reporting a bug, check so you have the latest version and check the changelog
Features
- Whitelist using MySQL/HTTP/File
- Updates the whitelist at an interval and not just at server start
- Add users to the whitelist ingame or integrate with your forum/website
- The file data source uses the same format as Minecraft´s built-in whitelist system.
- Custom disconnect message (if not on whitelist)
- Notification for OP' s and players with the right permission, when someone joins and is not on the whitelist (Needs to be enabled in the config (General.PrintConnectFails))
- Support for custom SQL queries & custom database structure
- Built-in importer/exporter allows importing/exporting from/to file, sql & url to file, world & sql. (1)
- Reload plugin on the run (without restarting the server)
- Refresh the whitelist on the run (without waiting for the automated refresh or restarting the server)
- Whitelist can be turned on/off while the server is running
- (Allowed sources: sql, file, url, world Allowed destinations: sql, file)
Todo
- Nothing
Dependencies
- MySQL JDBC (If you are going to use sql as data source) - Download the mysql connector and place mysql-connector-java-5.1.15-bin.jar in C:\Program Files\Java\jre6\lib\ext or /java/packages/lib/ext on linux (http://docs.oracle.com/javase/tutorial/ext/basics/install.html)
Pages
Permissions
Permission | Description |
---|---|
dewhitelist.add | permission to add users to the whitelist |
dewhitelist.remove | permission to remove users from the whitelist |
dewhitelist.displayfails | permission to see all failed joins (shown in the chat if activated in config) |
dewhitelist.reload | permission to reload the plugin |
dewhitelist.refresh | permission to refresh the whitelist (check for new players in the whitelist) |
dewhitelist.import | permission to import from a source to another (Can be used to backup the whitelist) |
dewhitelist.mode | permission to turn on/off the whitelist |
Chat commands
Command | Description |
---|---|
/whitelist add [player] | adds the entered player to the whitelist. |
/whitelist remove [player] | removes the entered player to the whitelist. |
/whitelist reload | Reloads the plugin |
/whitelist import [source] [destination] | imports whitelist from source to destination (1) (2) |
/whitelist refresh | Refreshes the whitelist (checks for new players in the whitelist) |
/whitelist <on/off> | Turns on/off the whitelist |
- (Allowed sources: sql, file, url, world Allowed destinations: sql, file)
- (Uses a third argument when using world as source, the last world is the name of the world's name. Example "/whitelist import world file world")
Source
The source is hosted on Github: https://github.com/BlackVoid/DynamicEffectWhitelist
Download
- JAR Only (Version 1.5.2)
- Full package (Version 1.5.2) - Includes JAR, SQL-file (database), php-file (if you use url as data source)
Changelog
Version 1.5.2
- All debug messages are now shown with the prefix [DEWhitelist-debug]
- No longer prints entire whitelist in debug mode, instead it prints the number of players in the whitelist.
- Checks if other plugin has already disallowed the player and if so it lets the other plugin handle the event.
- In debug mode it now prints if another plugin has handled the join event.
Version 1.5.1
- Quick fix for the refresh timer which didn't work.
Version 1.5.0
- /whitelist <on/off> added - Can turn on/off the whitelist on the run
- Print connection fails should be fixed and should no longer print in console nor to players multiple times.
- debug option moved from General.debug to Other.debug
- Option in the config to set which mode the whitelist should be at startup (on or off)
- PluginMetrics added, sends anonymous stats (player count, bukkit version, plugin version), can be turned off in the pluginMetrics config (plugins/PluginMetrics/config.yml)
If you use my plugin on your server(s) please consider donating :)
Heh, I know you had some problems with the scheduler or what not. I need to request a feature.
I don't mind the full database update every x seconds. But can you make it so that when someone connects who is not in the database, it auto refreshes. Or some way to that new entry not refreshed in the plugin yet will refresh and check again.
The problem I am trying to solve is Users try to join the server, see the register messages, User register, then alt tab back into minecraft. Trys connecting 20 times over next 30 seconds and think its all broke. Leaves and never comes back.
I do have messages of course on my registration page that says wait 60 seconds but no one reads.
@rustymetal
I've uploaded the fix and its waiting for approval. You download via the links under "Download". Sorry about this, my fault for not testing this function (changed to bukkit's task scheduler).
1.5.0 and the other version posted in comments fix the multiple display issue for me.
But I have a new, large problem. The list does not appear to update. I have it on the default 60 seconds and well over 5mins after adding a name it still cannot connect. This is a new problem for me.
Tested on a new server install, not refreshing on 1.5.0 and the 1.4.0 in you're comment.
Using SQL.
I need people to try if the bugs that should be fixed and the new function, so I know they work before the version get released. Download link: http://blackvoid.eu/downloads/minecraft/DynamicEffectWhitelist-1_4_0.jar
Changes:
@rustymetal
Did this exist in 1.3.1? Also are you sure the player isn't just connecting 4 times?
Edit:
I think I've fixed it, so If you want to try it before I make a release download it from the comment above ^^
No errors so far with 1.4 & MC-1.2.5
A bug though, when someone fails to connect, it prints the DENY message 4 times extra in the server log and 4 times for people with print-fails permissions.
@BlackVoidRules
Dude. Thanks; you're awesome :)
@rustymetal
Ok, I found the reason why it occured. It will be fixed in the next version. Untill then set PrintConnectFails to false, so you dont have to see the error every time someone connects.
@BlackVoidRules
I tested on my home computer with a recent backup of my server. It worked with no error on deny player. On my dedicated box it still gives error.
Possibly due to Java VM different versions?
Works on 1.6.0_29_B11 on Win7x64
Error on 1.7.0_03-b04 on CentOS 5.7
Can someone confirm this issue? http://pastebin.com/vdzHLpsw Because I dont get the error as I fixed it in 1.3.1 , but rustymetal still gets it.
@anonymous000
Oh, now I understand. Ill add a function to the importer that imports players from the "world/players" folder.
@BlackVoidRules
My server is going to be whitelisted soon - And we've had in excess of a thousand players join. Without forcing them all to do something to be whitelisted, or making myself sit down before i whitelist the server, and whitelist everyone who plays, I'd like something to look at all the player files (contained in our world/players/) folders, and simply whitelist every name listed there.
Once that's done we'll be using this plugin as intended - to whitelist people while the server's running, etc, etc.
Would it be possible for you to add this? :)
@anonymous000
Why would you want to auto-whitelist players?
@rustymetal
Forgot to change the version in plugin.yml. I tested this locally and on my server and it works (before I uploaded the latest version). So are you sure you deleted the old version and put the new one in the plugin folder?
I used the 1.3.1 JAR and still got the same error. I used the zip file and same thing. Same error though it seems to spam 2 or 4 times for each connect. http://pastebin.com/vdzHLpsw
Both when /whitelist reload still show 1.3.0 for me.
Would you be able to make the importer automatically add all players who have joined? http://dev.bukkit.org/server-mods/whitelister/ - This plugin used to do it, but is now broken, if you could add this to your plugin, I'd be really grateful :)
@rustymetal
Thought I had checked so everything works apparently I forgot checking the print failed join attempts function. Sorry about that. Download the latest version (Version 1.3.1) and it should be fixed.
Updated to 1.3.0 and getting this error when someone is not white listed. http://pastebin.com/NMBn9nEJ
@zona13pita
Great :)
@BlackVoidRules
AWESOME THX THX Woking Perfct.........SELECT {name} FROM {table} WHERE block='0' , table should be: joomla2_users
1.2.4-R1.0 - Recommended Build
@mastergalen
You should download the latest version (Version 1.2.0)