WooMinecraft - Self-hosted Minecraft Donations
WooMinecraft is a free Minecraft Donation plugin for your server that provides a self-hosted solution where you're the boss. By leveraging a well known eCommerce plugin on the
WordPress side of things, we allow you to specify commands for product variations, general product commands, and resending of donations at any time.
This build supports only Minecraft Spigot 1.12.2
If in your config you are using the /shop path as your URL, you must NOT use that going forward. Your host MUST support access to the WordPress Rest API. If they do not, you should consider changing hosts.
Your config should look like the below section.
# Set this to the desired language file you wish to load. # # If your l10n is not available but one is that you know how to speak,consider # contributing to this plugin at https://github.com/WooMinecraft/WooMinecraft/ lang: "en" # This is how often, in seconds, the server will contact your WordPress installation # to see if there are donations that need made. update_interval: 1500 # You must set this to your WordPress site URL. If you installed WordPress in a # subdirectory, it should point there. url: "http://example.com" # This must match the WordPress key in your admin panel for WooMinecraft # For security purposes, you MUST NOT leave this empty. key: "" # Allowed words the player need to be on to run the commands. # Disabled by default! # whitelist-worlds: # - world # Set to true in order to toggle debug information debug: false
How does it work?
This bridges the gap between PHP, and Java by leveraging both the bukkit/spigot API ( java ) and the WordPress API with WooCommerce support ( php ). It stores commands per order, per player, per command ( yes you read that right ) in the WordPress database. This plugin, either when an op requests it, or on a timer, sends a request to the WordPress server to check for donations for all online players.
If online players have commands waiting to be processed, then all necessary commands are ran. There is NO LIMIT to the type of commands you can set,
tp, etc... all commands are ran
by the console sender, and not a player.
As with all Github projects, we encourage our users to contribute, even if it's just a small as opening an issue. Every little bit helps, especially with pre-releases that may be unstable.
Since this plugin is GPL and entirely opensource, we cannot be sure how you will use this. However, when providing 'donation' options, you are still considered a
commercial entity and therefore are bound to the Mojang Commercial Usage Guidelines
You'll need the WordPress plugin for this MC Plugin to work - you can get it here.
- Tested on Spigot 1.12.2
- Cleaned up a lot of internals by simplifying a ton of requests.
- Now building with okHTTP3 library for ease of use.
- Move to REST API.
- Tested on Spigot 1.12.1
- Cleaned up a lot of pointless code.
- Privatized a lot of methods.
- Make OrderID more visible in the sea of text.
- Fixed - #137 - Removed missing commands from help message.
- Fixed - #130 - Commands not processing due to new white-list worlds config being commented out.
- Added - Redirect Exceptions for sending/receiving data from the server. You will now get an exception if your host is redirecting the requests in most cases.
- Added - Debug logging specifically for HTTP requests. Just set
debug: truein your config.
- Added - Exception handling for sending order updates to server. Will now throw exceptions if plugin receives invalid data.
- Added - World white-listing, props FabioZumbi12 - disabled by default
- Added - Clarification around server key, props spannerman79
- Updated - HTTP Requests now use
CloseableHttpResponseso connections will now close, not sure if they weren't before.
- Removed - Support for MC 1.7.10
- Updated public suffix list, required by HTTP client
- Change key sent to server, fixes WooCommerce compatibility.
- Better error handling from WordPress
- Make use of the
debug: trueflag in the config.
- Code cleanup, removed unused libs, removed commented code.
- Added config validation for users coming from older versions - will now throw exceptions if your config is not setup properly and will stop the check.
- Fixed player online check, props @FailPlayDE - #108
- REMOVED Reload & Register commands - more problems than their worth.
- Prints stacktraces on JSON error to log.
- Updated Readme.md file to reflect supported bukkit versions.
- Refactored all HTTP connections to work on a single thread
- Cleaned up a TON of code
- Removed internal JSON library, used maven deps instead
- Fixed #88, #85, #48, #60
- Added debug option for more straight forward debug options.
- Too much to detail
- First official release