AutoWhitelist
About AutoWhitelist
This is a continuation of the Whitelist plugin originally written by Silencium20. This plugin will automatically reload your whitelist when players are added to the whitelist file. This plugin will connect to Mojang servers for UUID lookups.
Features
- AutoWhitelist is automatically reloaded when changed outside of Minecraft (e.g. with a text editor)
- AutoWhitelist supports console commands
- SQL support
- Support for every SQL database that has a JDBC implementation available
- User-defined table and database layouts supported
- Ampersand color codes in the kick message. (&4 = red etc...)
- UUID support.
How to install
- In your server.properties file set whitelist to false.
- Drop the jar file in your plugins directory and restart your server.
Commands
Commands: These commands can be used by Ops ingame or in the server console. When used with the server console don't type '/' before the command.
- /whitelist help - Shows the help ;-)
- /whitelist reload - Reloads the whitelist and it's settings
- /whitelist add [playername(s)] - Adds a player to the whitelist)
- /whitelist info [playername] - Display information about a player
- /whitelist remove [playername(s)] - Removes a player from the whitelist)
- /whitelist on|off - Activates/deactivates the whitelist
- /whitelist list - Lists all whitelisted players (from txt file)
- /whitelist dblist - Lists all whitelisted players (from DB)
- /whitelist dbdump - Dumps users from database to whitelist.txt file
Permissions
- whitelist.admin - Gives players access to any of the /whitelist commands.
- whitelist.[command] - Gives players access to specific commands.
Basic Configuration
See config.yml
SQL Configuration
To support as many different database configurations as possible, Whitelist sets flexibility over simplicity. This way virtually every existing database can be used as a base for authentification.
Table Creation
The plugin will not automatically create tables for you. Below are a couple examples to get you started.
If you want to use UUIDs you can do something like this.
CREATE TABLE IF NOT EXISTS `tbl_users` ( `name` varchar(256) NOT NULL, `uuid` varchar(256) NOT NULL, `oper` varchar(256) NOT NULL, `time` varchar(256) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Or more basic without UUIDs.
CREATE TABLE IF NOT EXISTS `tbl_users` ( `name` varchar(256) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Dependencies
If you want to use MySQL, you might need the MySQL Connector/J. It can be found here.
Source
https://github.com/cnaude/Whitelist
Change Log
- v3.5-32
- Add DB reconnect logic.
- Update for MC 1.10.2.
- Info command should always respond.
- v3.5-26 - May 7, 2015
- Update for MC 1.8.3.
- v3.5-24 - February 20, 2015
- Don't allow null uuid when adding players.
- Automatically remove players with null uuid from json.
- NPE fixes.
- v3.5-22 - February 14, 2015
- Add support for offline mode.
- v3.5-20 - January 26, 2014
- Add support for UUID in SQL mode.
- v3.5-17 - September 1, 2014
- Fix player add message.
- Fix remove command.
- Make commands more verbose.
- v3.5-15 - August 27, 2014
- Add UUID support (whitelist.json)
- v3.4 - May 15, 2014
- Add %NAME% token for kick message.
- v3.3 - March 27, 2013
- Add dbdump command.
- v3.2 - October 11, 2012
- Changed from whitelist.properties to config.yml
- Fixed the list command
- Added dblist command
- v2.7b - June 15, 2012
- Added color code support. Use ampersand color codes in the kick message.
- v2.7a - June 12, 2012
- Initial version.
- Added support for CB 1.2.3-R0.1 and higher.
@DonGrif
As soon as 3.3 is approved you can try out the new dbdump command. :)
Hi there. Nice plugin. You should add an export command that puts all the names from the SQL database in the whitelist.txt. So you have a backup if you need to take the SQL offline or something.
joa I know, but I don't want to forbid all cracked users to join. Those who play normal, should have the possibility to join.
@Thechegga
Setting online mode to true would solve that.
@cnaude, do you think you can add the possibility to say that only cracked players have to be on the Whitelist? I mean, that cracked users can't join with a Premisum user name, only with a name which is in the Whitelist??
@user_892472
Glad to hear it's working for you. :)
@cnaude
Oh god I'm an idiot... I actually did already use that version, but simply copied in the old config text, freaking smart! :-)
Thanks a bunch for helping out, it's all working now!
@user_892472
Please try my new version. https://dl.dropbox.com/u/30679730/dist/Whitelist.jar http://dev.bukkit.org/server-mods/autowhitelist/pages/v3-x/
It uses a config.yml which is easier to configure and does not require escaping special characters.
Hey there!
Every time I start the plugins, it tells me: http://pastebin.com/52fdjxtC
This is my connection string;
sql-driver-connection=jdbc\:mysql\:79.*../DATABASE?user\=USERNAME&password\=PASSWORD
Hope you can tell me what's wrong! :)
(And I did set up the table and colloumn)
Thanks :D I love the plugin it is easy and simple to use.
@vk222u
I'm rewriting large portions of this plugin. Preview: http://dev.bukkit.org/server-mods/autowhitelist/pages/v3-x/ Snapshot: https://dl.dropbox.com/u/30679730/dist/Whitelist.jar
@vk222u
I will fix this. I use this plugin on my server so I will continue to keep this updated.
Is this plugin going to be updated, when you type /whitelist list it says that the command has been disabled and you can not view the list.
-Vk
If someone's name is under the admins in the config file, do they still need to be OP to whitelist people? Can OPs whitelist people without being on that list? :S
@masonsbro
Cool, I guess it was a good idea :)
@TE5LA
MCBans and MCBouncer already do this.
@cnaude
Many thanks for your plugin. I am actually getting some real work done on my server. Haven't opened it as yet. Tried to get a couple of players to help but they bailed on me. You are always welcome on XTC Minecraft (You can test your plugin):
http://xtc.site.nfoservers.com
I was thinking of something since this is a security-related plugin. I was wondering if anyone has tried to create a "Ban Central" plugin. What I envision would be a plugin that monitors the blacklists on any server running the plugin. This would probably link to a certain URL that keeps the central blacklist and whenever a person is banned, it would communicate with Ban Central and all the servers with the plugin would automatically have those players banned too. Similar to the PunkBuster thing. Since it would be totally voluntary for each server, it shouldn't be an issue.
This may seem harsh to some but I really hate griefers. I actually had two morons pop up on my TeamSpeak server and immediately asked if they could grief my server when it opened.
@TE5LA
Glad to hear it's working for you. Now I just have to cleanup the code a little. I'll add a debug option to hide the stuff that's printing to the console on startup.
The permissions suggestion sounds interesting. I'm actually looking to do something like that for my current server. I'll have to think about it.
@cnaude
Seems to be working as intended. I was curious if the ban lists would take precedence over everything, so I tested it. Seems that they do. Good job!
Now that you have nothing to do :) I will make this suggestion for a more-encompassing plugin: Not only could you manipulate the whitelist automatically, but you could have the option to set the player's group based on MySQL. So anyone might be able to connect, but might not have building rights (group default). Registering would put them in group Builder. Yes, I think there's a plugin that may do this already, but then yours would have a distinctive advantage.
Hey, you might call it "Whitelist Groupie"!
@TE5LA
Okay try the latest version from my dropbox link. I changed some of the logic. It now checks the whitelist.txt first and then falls back to check the database. The add command will add users to the txt file if the add query is missing. The same goes for the remove command.
http://dl.dropbox.com/u/30679730/Whitelist.jar