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 :)
Hi, I have a question... Anyone have a WhiteList Quiz? Players must write his minecraft.net username ande when it is complete, he must complete the quiz to write his username to mysql database and DEW will take his name from db... I need it so much... Can anyone help me?
BTW: Sorry for my bad english.
@BlackVoidRules
I post a message on the Slotgroups's bukkit page
@juloo65
It's not a bug as it has to do with the SlotGroups plugin. It uses the wrong priority for the listener as it adds players to a group before all other plugins has disallowed/allowed a player to join. The plugin should use monitor as priority, which means it just checks to see if the player joined or wasn't allowed to join. So you have to take it up with the maker of SlotGroups.
I find a bug :
When a not-whitelisted player join the game he is count into SlotGroups's list :
/list : 35/999 player /slotgroups list : Citoyens : 50/50, Donateur : 15/50, Admin : 4/15
It's so annoying
@nanosekund
According to this page: http://docs.oracle.com/javase/tutorial/ext/basics/install.html It is /usr/java/packages/lib/ext
So the java mysql connector goes in C:\Program Files\Java\jre6\lib\ext on windows. but where do i put it on a linux server?
ooo sorry ConnectionType: file change to ConnectionType: sql
Thnaks BlackVoidRules nice plugin
where approve='1' Not working :(
http://awesomescreenshot.com/0828dud38 screenshot DB
@vejbuch
This should work. query: SELECT {name} FROM `whitelist` WHERE approve='1';
This is configure not runing :/ PLS help
@Zuksaru
Change the encoding of the config file to ANSI or UTF-8
Hi i'm getting this white list error.. D:
Dunno how to fix it or is it the plugin D:
2012-06-04 12:42:55 [INFO] [DynamicEffectWhitelist] Enabling DynamicEffectWhitelist v1.5.1 2012-06-04 12:42:55 [SEVERE] org.bukkit.configuration.InvalidConfigurationException: unacceptable character '�' (0xFFFD) special characters are not allowed in "<string>", position 125 2012-06-04 12:42:55 [SEVERE] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:54) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:105) 2012-06-04 12:42:55 [SEVERE] at com.dynamiceffect.whitelist.Config.loadMain(Config.java:33) 2012-06-04 12:42:55 [SEVERE] at com.dynamiceffect.whitelist.DynamicEffectWhitelist.onEnable(DynamicEffectWhitelist.java:78) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:256) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:238) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:552) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.Bukkit.reload(Bukkit.java:182) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) 2012-06-04 12:42:55 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-06-04 12:42:55 [SEVERE] Caused by: unacceptable character '�' (0xFFFD) special characters are not allowed in "<string>", position 125 2012-06-04 12:42:55 [SEVERE] at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:70) 2012-06-04 12:42:55 [SEVERE] at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:50) 2012-06-04 12:42:55 [SEVERE] at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) 2012-06-04 12:42:55 [SEVERE] at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:52) 2012-06-04 12:42:55 [SEVERE] ... 24 more 2012-06-04 12:42:55 [SEVERE] Error occurred while enabling DynamicEffectWhitelist v1.5.1 (Is it up to date?) java.lang.NullPointerException at com.dynamiceffect.whitelist.DynamicEffectWhitelist.onEnable(DynamicEffectWhitelist.java:81) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:256) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:238) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:552) at org.bukkit.Bukkit.reload(Bukkit.java:182) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:22) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:821) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:781) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:764) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
@MadeOke
I just tried it myself on my server and I can't re-create your problem, so as long as you do not get an error I can not fix it :(
@BlackVoidRules
no error at all it shows confirmation message, but my friend can't enter and i add it again, it shows <nick> already whitelisted after stop and start the server again, it works
os : windows server 2003
@MadeOke
Do you get any errors, I have not experienced any of these issues.
not working on 1.2.5R3 i need to restart the server to get my friend and other nick whitelisted
/whitelist add <nick> /whitelist reload /whitelist refresh
no work until restart the server
@ZombieSoul
The table table is required if you want to be able to add/remove users from the whitelist, but as you do not want that just don't allow any users to use the add/remove command. The userfield variable is also required, because when it retrives the usernames it needs the column name to fetch them. You can do it like this without changing anything except for the query.
SELECT field_36 AS {name} FROM `ocp_f_member_custom_fields` WHERE mf_member_id IN (SELECT gm_member_id FROM `ocp_f_group_members` WHERE gm_group_id = "11"
AND gm_validated = "1")
About the color code, I do not know how to fix this yet. It's a encoding issue and the only way I know you can solve this right now is by making the config on your windows computer and then uploading it to your linux server.
I am having the same Issue with the colors. The default config file will show blue on the disconnect message. When I open up the config file in my server's text editor on linux the color codes are replaced with ?. I have seen other plugins with the same problem and they were resolved somehow.
That is a minor issue, my real question is: Is it possible to run a custom query without table and userfield being used. I have portal software that users can apply to a group(whitelist) when they are accepted the minecraft names can be retrieved by a query such as:
SELECT field_36 FROM `ocp_f_member_custom_fields` WHERE mf_member_id IN (SELECT gm_member_id FROM `ocp_f_group_members` WHERE gm_group_id = "11"
AND gm_validated = "1")
field_36 of the custom fields table is the minecraft username. it checks to see if they are in group 11 and validated if so the result is a list of the valid members. I've started looking through the plugin code. But I may have to rewrite the query code if I want it to work. It would be nice to have the option to just give a database and run the query to get the results.
Nice plugin, nearly does everything I am looking for.
@levisn1
What do you mean with auto whitelist?
black pls i need an auto whitelist for my server...but i have not experience with php or mysql..i have an enjin site and a dedicated server self menaged with centos..how to implement this great plugin? can you do a simple guide pls!