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.
whitelist add BlackEnergyPT
[03:03:15 INFO]: SQL Error: Field 'uuid' doesn't have a default value
[03:03:15 WARN]: [AutoWhitelist] SQLException: Field 'uuid' doesn't have a default value
[03:03:15 WARN]: [AutoWhitelist] SQLState: HY000
[03:03:15 WARN]: [AutoWhitelist] VendorError: 1364
[03:03:15 INFO]: Error adding player: BlackEnergyPT
i added table like, turn on mode uuid etc always same problem. need to help
In reply to BlackEnergyPT:
That error is happening because it's failing get a UUID for the user while inserting into the table. The field 'uuid' won't accept a null value. As a workaround you can try setting a default value for that field. Is your server by chance running in offline mode or something?
In reply to BlackEnergyPT:
Another thing to look at are queries in the config.yml. Did you uncomment the queries that are specific to the UUID mode?
Sorry, I just saw it now. Thank you, it worked, thanks for the help
Hi, this is a pretty cool and functional plugin, but I've encountered a problem. If I edit the "whitelist.txt" file using a text editor while my server is running, the changes are not applied, and the "whitelist.txt" file is reset to the state before editing after the server is turned off/restarted. As a result, it's only possible to edit the whitelist through a text editor when the server is turned off or by using a command while the server is on. If anyone knows how to solve this problem, please let me know.
Hey, I'm slightly new to plugins, and especially permissions, how would I use the permission whitelist.admin on a player?
PS: Sorry if this is a necropost pls dont ban me
Hey, I have a question: Is it possible to use the Plugin with a Google-Forms document, where the answers are written into an Excel-sheet?
So when somebody fills the document and in one question they only write their Minecraft Names, the answers will be written into the Excel-sheet and the plugin gets info, in which column the Name is and the plugin will whitelist the name in the column?
Would be nice 👍
PS: Does the plugin work with paper 1.16?
This plugin also works with 1.13.2.
In reply to kotarobo:
Also works on 1.14.4 :)
guys can u help me ? set up the jdbc?
Enabled: true
FileCheckInterval: 1000
KickMessage: '&bSorry %NAME%! You are not on the &fwhitelist&b!'
SqlEnable: true
SqlDriver: com.mysql.jdbc.Driver
SqlDriverConnection: jdbc:mysql://localhost:3306/mc?autoReconnect=true&useSSL=false
SqlPass: <YourSqlPassword>
SqlUser: <YourSqlUsername>
SqlQuery: SELECT user_nicename FROM wp_users WHERE user_nicename='<%USERNAME%>' and
user_activation_key=' ' and user_url<>'http://banned'
SqlQueryList: SELECT user_nicename FROM wp_users
SqlQueryAdd: INSERT INTO tbl_users (name) VALUES ('<%USERNAME%>')
SqlQueryRemove: DELETE FROM tbl_users WHERE Name='<%USERNAME%>'
SqlDriverJar: lib/mysql-connector-java-5.1.45-bin.jar
UUIDMode: false
DebugMode: false
In reply to Emplehod:
a web and mc.
i have a custom php registration form. so the prob is.. sqldriverconn.. i dont know how should i connect those
In reply to Emplehod:
how should i setup the mysql driver connection.. my web is hosted at x10hosting.
@Ciprianistic
1. The username will not get updated automatically in the database.
2. When you run the remove command just use their new username. The plugin will do a UUID lookup against the new name and then use the UUID to query the database.
In reply to Probdutch:
Very impressed with the SQL database integration; very handy! However, I am a bit confused on a few points while using UUID mode:
1. Once someone is whitelisted to the database, an entry is added with their username, UUID, the operator that executed the whitelisting, and the time-stamp. Now, say that player changes their username; I'm assuming the plugin allows that user back in based upon their UUID (which is fine). What I'm wondering here is whether that entry in the database gets updated with that new username. If that is the case...
2. Are there commands for adding and removing players directly based on their UUID? (ex. "/whitelist removeuuid 85c273c-b9a8-etc,etc,etc...") Maybe I just missed that, but I'm not seeing this right off the bat.
Also...
@West780
I don't believe it will act like that, you would need some special setup for that to work.
Will this plugin allow none wihtelisted players to join one time and then not allow them to join again until they are whitelisted?
@jenks1999
Are you getting any errors in the logs?
@cnaude
Any updates for 1.8.7 for this? the plugin doesn't seem to block people anymore, if they aren't on whitelist. I haven't adjusted anything since 1.8.3 and yet suddenly its stopped working.
@cnaude
Issue resolved everything is running perfectly thank you.