CraftingStore.net | Free minecraft donation system [1.20 compatible!] icon

CraftingStore.net | Free minecraft donation system [1.20 compatible!] -----

Web based minecraft donation store! (Spigot, Bukkit, Sponge and BungeeCord supported)




This version fixes another issue that may cause duplicate commands in very specific cases, the chance of it affecting your server is slim to none, but updating is still recommended.
----------, May 7, 2024

This version resolves an issue where command duplication might occur when you receive a donation on the exact second the command checker also tries to check for new commands to execute (it checks every 25 minutes as a fallback if our realtime server fails)

It also resolves an issue where our placeholder is unloaded when PlaceholderAPI is reloaded.
----------, Apr 16, 2024

This update adds support for the 1.19 and 1.20 materials in the buy menu, and updates the dependencies used in the plugin.
----------, Jul 5, 2023

This release adds a config option that allows specific stores to use our second API endpoint that uses another CDN/Load Balancer provider in case they are having trouble with connecting to our primary endpoint behind Cloudflare.
----------, Sep 17, 2022

Hex colors that were not lowercase did not work, now uppercase hex colors will also work.

We also update the xMaterials library for supporting more items in the buy menu.
----------, Feb 16, 2022

[+] This version adds support for in-game payments (using Vault)
How to use: https://help.craftingstore.net/features/ingame-payments
----------, Aug 3, 2021

This version resolves an issue where the 1.17 version would throw an error when shutting down (harmless, but annoying).

And it resolves an issue on the Sponge version, due to a missing library within Sponge.
----------, Jul 3, 2021

This update uses the xseries library for the materials, instead of the older one that we used before. And it resolves an issue where the item amount would not be reflected in the buy menu.
----------, Jun 2, 2021

This update will process executing commands in "Chunks", when processing large amounts of commands (e.g 1000+) at the same time, it may happen that the request to mark them as "completed" is too big to handle. And thus you'd see the same command being repeated. This resolves that.
----------, May 26, 2021

- Support for HEX in inventories menus (using &#hexcode)
- Command /craftingstore debug to disable/enable debug on-demand.
- Fixed the AIR block type causing an error, because it does not have any meta.
----------, Mar 3, 2021

Resolved an error with PlaceholderAPI when no payments are created yet.
----------, Feb 4, 2021

Exceptions are now handled better, connection errors no longer show the full stack trace of the library used, but only the actual error, or issues in our code. For debugging, the debugging mode will show the full exceptions.
----------, Jan 12, 2021

This version adds support for customModelData. You can use this to show custom icons in-game with packs.
----------, Oct 20, 2020

[+] Add support for HEX colors in messages
[+] Only show stacktraces when debug is enabled, strackstraces are not useful in some cases.
----------, Oct 11, 2020

For big servers with lots of pending commands for users that did not yet claim their role, it might have been possible that command processing was delayed. To ensure that we do not overload your server with lots of commands, we delay command execution by 0.2seconds between each other. But when you have a lot of pending payments for users that are not online, this stacks up and causes new payments to be delayed by the number of commands X 0.2 seconds. This update makes sure to only do the delay when the player is online.
----------, Sep 2, 2020

This update adds support for the latest version of PlaceholderAPI.
----------, Jul 29, 2020

- There seems to be an issue where the servers with Java 11 or higher might have TLS handshake errors after a few hours. This seems to be caused by CloudFlare giving a "Keep-Alive" header, and then, on reconnecting with TLS 1.2, returning TLS 1.3 information. The issue has been solved by forcing TLS 1.2 in every request. This does not compromise security.

- We added the config option "time-between-commands: 200" (default is 200 milliseconds, even when the configuration option is not there). Some bigger servers got players that bought a lot of items, and this caused their servers to try to execute hundreds of commands at the exact same time, causing server lag. This will keep a small delay, and execute the commands after each other instead.
----------, May 5, 2020

The plugin has been fully tested and updated for the Spigot 1.15 server version.
----------, Dec 18, 2019

Some store owners had issues with errors about OkHTTP. This has been solved by using a custom (up-to-date / latest) version of the Sockets library that we are using for our instant payment notifications.
----------, Aug 15, 2019

* Add offline payments
* Add disable-buy-command option to bukkit/sponge config.
* Add extra debug messages to socket connection
* Bumped version to 2.2.0
----------, Jul 16, 2019

This update fixes an issue with our PlaceholderAPI integration, it only happened on rare occasions.
----------, May 29, 2019

[+] The plugin now supports Spigot 1.14!
----------, Apr 30, 2019

[~] Made /csbuy the main command, and made /buy an alias, so it may be removed if your server needs it.
----------, Apr 29, 2019

[~] The plugin will now show the correct command depending on the platform, for example: /csb on BungeeCord, and /cs on Spigot.
[+] Code cleanups
----------, Apr 29, 2019

~ The plugin is now marked as "Stable", our V2 plugin is running on many servers, and tested a lot on many versions and set-ups.
+ You can now use /buy on SpongePowered servers.
----------, Apr 11, 2019

- Fix sending Check Key call when no key has been set in the configuration file.
- Moved all libraries to net.craftingstore.libraries to prevent conflicts with other plugins.
- Removed obsolete Pusher integration.
----------, Apr 6, 2019

[+] Bugfix for opening the CraftingStore inventory within another inventory plugin.
[+] Bugfix for update notifications, the notifier was throwing errors when no API key was set, on Admin joins.
[+] Added new blocks to the materials list to support more blocks for all versions.
----------, Feb 5, 2019

Moved Apache HTTP library to the CraftingStore namespace to fix errors on SpongePowered servers.

Dev notes:
Moved org.apache to net.craftingstore.libraries.apache in shading.
----------, Feb 1, 2019

This version fixes a bug that was preventing the inventory to work on CraftBukkit 1.12 and lower (Spigot is not affected).

We used a method that only exists in the Spigot codebase, as such, CraftBukkit 1.12 and lower would throw errors. This update will fix that.
----------, Jan 24, 2019

This update fixes two issues;
- Crash on older versions of SpongePowered servers: https://github.com/CraftingStore/Suggestions/issues/83
- Inventory error on Spigot: "Caused by: java.lang.IllegalArgumentException: Negative, non outside slot -1"
----------, Jan 5, 2019

This fix will resolve the issue with the command executions. In some cases, the HTTP pool would lock up after a few completed commands. This has been resolved.
----------, Dec 27, 2018

This update handles API errors better. The server tries to download the GUI and caches it, but if this fails, the server would retry it on the main thread, causing the server to hang if the API still not responded.

This has now been fixed.

Note: This is still a BETA release, read the full update log: https://www.spigotmc.org/resources/...em-1-13-compatible.31331/update?update=257752
----------, Dec 25, 2018

Hello everyone!

Today, we are releasing the all-new V2 version of our CraftingStore plugin.

The plugin has been created from the ground up to support more server versions in the near future.

Notes before installing:
- The plugin does NOT support the prefix field in the config, we will build a new web dashboard with all plugin settings.
- The plugin is released under "BETA" status, there might be bugs. We tested the plugin on Spigot, Bukkit, and BungeeCord. Please report bugs through our ticket center (not in the comments). If you have breaking issues, please use the 1.5 version of the plugin (stable release) and report the problem.

Notable changes:
- Support for sub-categories
- Build from the ground up, all general code (like handling incoming payments, sockets, etc.) is done in the core and is pure Java. This way we can support other platforms like BungeeCord, Sponge, Nukkit, etc. more easily.
- Use of a global system to support the correct items in the /buy menu on all versions.
- Use of a new socket system that will not use global variables (as such, it will not intervene with other plugins using the same library).
----------, Dec 24, 2018

Required update!!

This update fixes some issue with the socket connections. Some servers started to re-connect a lot of times a second, causing problems for other store owners.

To fix this, we rebuild the real-time connection system. When the server loses connection to our socket server, it will fallback to polling the API for 5 minutes, and try to re-connect. It this fails we will just keep polling every so often instead of using the socket servers.

We will DISABLE the old socket API (for all versions lower than 1.5) within a week after this release, as this issue can cause problems to other stores. Please update as soon as possible!

- CraftingStore
----------, Oct 10, 2018

1.13 support
This version will make the plugin compatible with the new Spigot/CraftBukkit 1.13 builds.

Colored lore
We added support for colors in the lore message, and linebreaks. If you add a linebreak at the website, it will be added at your server as well.
----------, Jul 23, 2018

This update adds support for a custom prefix, for the plugin's messages and the GUI. More customization will be possible in the future!

You can set the options from within the config.yml.

P.S. We have also added the Stripe payment gateway, to process creditcard payments.
----------, Jul 20, 2018

This version adds a donationReceivedEvent to the plugin, and fixes minor bugs in the plugin.
----------, Jul 18, 2018

This update adds support for Sponge servers, and fixes some small bugs within the Spigot version.
----------, Jun 28, 2018

This update enables socket connections for all stores.

This means that your server will make one socket connection to CraftingStore to communicate, instead "phoning home" every few minutes. Using sockets, we can send messages in realtime to your server.
----------, Jun 22, 2018

This update fixes a possible exploit with the GUI, in specific cases, players could take the items out of the inventory. This update is recommended.
----------, May 24, 2018

This update adds an check for the buy command, it was possible to execute the command from the console, that causes an error.
----------, May 21, 2018

This update adds the frequently requested /buy GUI feature.

You can change the package icons & ingame descriptions from the CraftingStore dashboard.

Please note that this feature provides just the basics, we do not offer custom messages and/or commands just yet. We'll add this in the feature.

Please let us know if you have any problems and/or suggestions!
----------, May 21, 2018

This update will prepare the plugin for allowing more store owners to use our instant payment system, for instant payment processing.

This update implements background support for our automatic balancing, so we can handle lots of concurrent connections to our servers.

We'll soon select stores at random, to use the new socket system, and add an option within the settings to enable it.

This will enable your store to process commands, seconds after the user payed for their rank.
----------, May 18, 2018

This updates adds the message; "Your key is valid, and you are ready to accept donations!" to the start up on the BungeeCord plugin.

There were multiple people telling us that the BungeeCord plugin did not work correctly, but the only real problem was that there was no output when nothing was wrong.
----------, May 14, 2018

This update adds the following commands to the BungeeCord plugin:
- /csb key <server key>
- /csb reload

Before it was not possible to insert the API key without restarting on BungeeCord, now it is.
This version also enables the realtime socket support for the BungeeCord plugin, so premium stores will have almost instant payment delivery with this version.

And this version uses the V4 of our API endpoint instead of V3.
----------, May 13, 2018

This update adds support for custom socket servers, so we can keep up with the concurrent requests. This update allows us to dynamically assign realtime socket servers to Minecraft servers for payment processing.

No new features have been added, but it's an recommended update. :)
----------, May 12, 2018

New for premium (silver & gold) stores;
Instant payments, players receive their items instantly after the payment provider (PayPal, PayGol, etc.) processes them, this will be within a few seconds in most cases!

How does the current system work?
All of our plugins currently poll the CraftingStore API every x seconds (minimum: 120 seconds) to check for new payments, just like the other donation systems. This has two disadvantages;
- Players do not receive their items instant.
- Our servers receive a lot of HTTP requests from all the plugins.

How does the new system work?
The new system uses an socket connection between your server, and CraftingStore.net to make sure that your server only polls the API when a payment is received. This way your server does not need to poll the API every X seconds, and only does this when there is actually something to process.

Why only for premium users?
We're currently testing this new system, but due the way the sockets are set-up we're currently limited by the system (max connection limit, etc.). So we can't allow every store to the new platform just yet.
----------, Apr 9, 2018

We're glad to announce that we now have support for the Xsolla ( www.xsolla.com) platform for processing your donations.

Xsolla has 600+ payment methods available, you can get started from the gateways tab within your CraftingStore dashboard.
----------, Apr 2, 2018

When the plugin did not have a key set, the "/cs key" command would not restart the donation timers if there was no key in the config before.

This has been resolved.
----------, Mar 18, 2018

We've added some placeholders, that you can use in other plugin's, using @clip's PlaceholderAPI. Please see the placeholders below. For more information, look at the resource main page.

Code (Text):
%craftingstore_donator% -> 5 recent donators (MinecraftName: Amount spent this month)
%craftingstore_donator_1% -> Top donator (MinecraftName: Amount spent this month)
%craftingstore_donator_2% -> Second top donator (MinecraftName: Amount spent this month)
%craftingstore_donator_3% -> Two after top donator (MinecraftName: Amount spent this month)
%craftingstore_donator_4% -> Three after top donator (MinecraftName: Amount spent this month)
%craftingstore_donator_5% -> Four after top donator (MinecraftName: Amount spent this month)

%craftingstore_payment% -> 5 recent payments (MinecraftName: packagename)
%craftingstore_payment_1% -> Last payment (MinecraftName: packagename)
%craftingstore_payment_2% -> Second last payment (MinecraftName: packagename)
%craftingstore_payment_3% -> Two after last payment (MinecraftName: packagename)
%craftingstore_payment_4% -> Three after last payment (MinecraftName: packagename)
%craftingstore_payment_5% -> Four after last payment (MinecraftName: packagename)
----------, Mar 14, 2018

New:
- Base for "require online" feature -> A player needs to be online, before their command runs. This will be implemented in the panel, within the next days.
- New command for the Bukkit version: /cs key <yourkey> -> This will change the key in the config, and restart the donation check task. No need to restart the server after updating the key anymore.
- The webshops are now running on our completely new template system, based on the Twig template engine. Silver members (3USD/month plan)+ can now edit the HTML/CSS of their store.
- We added some of default color schemes, and themes by bootswatch (bootstrap).

Fixes:
- The BungeeCord scheduler did not function, because of a missing argument. This has been resolved.
----------, Mar 11, 2018

New plugin features
- Added a reload command (/cs reload).
- Use the new POST based V3 API instead of V2.

New site features
- New full redundant server set-up, in different datacenters, with full master-master replication to make sure there's no single point of failure.
- Two factor authentication.
- New plan, with a CMS page feature.
- Chargeback commands for Paymentwall.
- A lot of other changes.
----------, Feb 22, 2018

New:
- Custom variables, like allowing users to enter a friend's name. This has been flagged as a premium feature.
- SSL support for your own domain. It's now possible to create a SSL certificate from the panel, we will provide you with a new IPv4 & IPv6 when you click "create". You have to change your DNS to these IP's and after this a Lets Encrypt X3 certificate will be created within 3 days. Once this is done, your site will automatic "prefer" SSL. This is also premium only, because I'm testing it ATM, this system hooks into OVH's CDN gateway system.

And there are a lot of small changes and fixes, there are still some bugs remaining, and new features that I would like to implement. The system is really becoming a stable platform :)
----------, Jul 10, 2017

From now on, it's possible to change every language string on your webshop, you can do this in the new "languages" section;
[​IMG]

---
Coming up: Requesting a SSL gateway from the panel, you'll only need to make a DNS update and we will create a SSL tunnel from OVH for your domain, fully automatically (this will become a premium feature).
----------, Jun 15, 2017

It's now possible to order packages & categories on the dashboard however you like. And you can now view a new "information" page on the payments overview. This page will show some extra information about the payment (coupon used, uuid, other payments, etc.)
----------, Jun 11, 2017

CraftingStore used MySQL replications to sync between the backend and the frondend, to ensure the highest up-time possible.

But this had a problem; One of the front-end servers went out of sync and I didn't notice it for ~2 hours. So this was no option, after this happend I made a new "idea" for syncing the databases, on application level.

The problems I had with MySQL replications;
- In a normal setup, you may only have 1 master server.
- Its a paint to set-up, and if something goes out-of-sync you have to re-sync them manual, and you won't get a notification.

The new system;
- Alle servers are master, and slaves. At the same time.
- If a server goes offline, the queries will run when it comes back online.

The system is live for some time, and all the found bugs have been filtered out. I consider it stable :)

For the standard user, this just means that your store will stay online. Even if one of the servers goes down. Another server will take it over, and it will serve the same store, because the data is synced between them. And if you make changes to your shop during a partial "blackout" the changes will be cached until it's back. While sill keeping the "online" servers up-to-date on the fly.

Everything is monitored, and when one of the servers reacts to slow, a second server will take it over without any human interference.
----------, Apr 24, 2017

From now on, it's possible to import your payments, packages and categories from either Buycraft or MinecraftMarket. They will be inserted in to your existing account. You can do this by clicking the "Import" item in the sidebar.

Note: Not all data can be imported. Things like commands, required packages and such won't get imported because their API's simply don't provide them.

Note: You will need to enter your API key (server key), we only process them and our system won't save any of those keys.
----------, Mar 21, 2017

Giftcards
The giftcard feature has just been released for the silver plan. You can generate a giftcard within the portal.

Information:
A giftcard is used to give players "credit" for your webshop. You can generate a unique key within the dashboard, and the player can use this this key to get a discount, or to get the package for free (depends on the amount chosen by you).

Features:
- The giftcard has a fixed amount, the player can redeem this in parts.
- If the package is worth more than the giftcard, the amount will be taken from the card, and the rest can be payed by another gateway (real money).
- You can see all the cards, and the balance left on them.

As requested by: @agent9002
----------, Mar 20, 2017

Updates:
- Fixed some small bugs within the system (for running the commands).
- Fixed a bug where the payments didn't get though if you had 2 mails assigned to your PayPal.
- Added help text to almost every page, and created some new FAQ items.
- Added a "modules" page (under design). This only contains "payments" for now, but more modules will come!

Thanks @Stormofblood for the reports :)
----------, Mar 10, 2017

Template update:
In audition to the "Custom CSS" on the Silver plan, I added a template editor. You can use this to change almost every aspect of the webshop.

The layout looks likes this:

[​IMG]
[​IMG]

----
@Stormofblood I added the "default" theme to the selector (some time ago, but well that's not big enough to post a update for).

---
It's a big update, so if there's any bug, please report it. And if it's a "Woeps looks likes something went wrong" message, I get a notification so I'll fix those mostly within a day.
----------, Mar 5, 2017

Added:
- General fixes and changes.
- Profile button, with the ability to edit your password, email and your "mode".
- Mode within the profile:
> Standard: Show all the available items in the sidebar.
> Easy: Show only the basic options.
This "mode" will make the panel more clear, for the people that don't need the advanced settings.
----------, Mar 2, 2017

Panel changes:
- Added a Knowledge base, I'll add more articles later on. You can find it by going to the admin dashboard, and look at the sidebar (almost at the bottom).

Plugin changes:
- The API calls will now go though SSL.
----------, Feb 27, 2017

Downtime, and new changes to stop this.
I recently got mails from my uptime provider about a 30 minutes outage. This is unacceptable for something that other people use. So I moved the admin panel ( www.craftingstore.net) to a new server, located in The Neterlands on a network that I'm using for multiple VPN servers already (100% uptime in the last 2 years, so I know its stable).

And to make sure that the front-end stores stay online anytime, I set-up a multiple database infrastructure, I'm currenctly running 2 servers for the front-end store, that both download the latest changes directly from craftingstore.net. So If one of those sites will go down, it won't affect anything to much.

-------------------
Updates; Website
- Some styling improvements. I'm trying to make everything as clear as possible.
- Working on a FAQ page within the panel, to help with things like linking your own domain.
- Co-owners, you can enter the E-mail of somebody else and he will be added to your store. Its currently in beta, and it only supports "Full" access so far.
- Minor changes, that I did though the days.
----------, Feb 25, 2017

Changes
- Complete new plugin, this version was created by Mrten.
- Support for bungeecord.

Webbased changes
- You can now choose on what server a command will run, this can be used to send a specific command (alert for example) only to the bungee.
----------, Jan 18, 2017

Changes
- Fixed a problem with cracked payments (empty UUID), the plugin will now ignore the UUID in these payments, and just use the username.

Tested
- 1.7 works just find on my test server, its now officially supported.
----------, Jan 17, 2017

Changes
- Coupons can now have a amount instead of a percentage.
- You have to solve a nocapcha on the register page now.

Added
- You can now set the the max uses to 0, to allow unlimited uses. (coupons)
- You can set multiple required packages, for a package now.
- Added 2 variables: {uuid} and {package_name}.
- Global commands: Those will run for every payment.

--
Please, keep in mind that these changes required a bit of re-coding, so if you find anything that's broken, please contact me by PM. And if you get a "Woeps looks like something went wrong", then I'll get a automatic notification, so those issues should be fixed quickly.
--
@SmilingSlimeGuy I'll take a look at the other feature request later, I'm not sure how to implement them ATM.
----------, Jan 16, 2017

Changed:
- The design settings now have their own item in the sidebar.
- Moved from server, the current webserver has around 5 different IP's and is using Nginx so there should be no problem when being attacked.
- I'm now storing fraud payments (like: Somebody buys a 40 USD rank with 0,1 USD). I'll try to add a "Fraud dashboard" later.

Added:
- Added 2 new colors for the navigation (front) (Yellow & green)
- Added the ability to set a background (it will cover the whole page)
- Sales are now live, you can set a % and the shop will take it off the current prices (and it will display the new price next to the old (strike though) price.

And some general fixes & changes to the infrastructure (like a backup to an external location every hour. To prefer data loss in case of a problem.)

The system is becoming more stable and faster then ever, there are just some minor bugs left. And I need to add some features, but the "main" parts of the system do work perfectly.
----------, Jan 9, 2017

Changed:
- You can now enter unlimited commands instead of 8. (Its an array now)

Added:
- You can now choose a required package, so players have to buy another package first. (Can be used for upgrades.)

Ideas I have to make (next):
- Ability to change all the language lines, so you can change the strings to whatever you want. I think this is better than google translate.
- A theme selector (like images with a "select" box) and more themes?
----------, Dec 8, 2016

Changes;
- Removed the ""/api/" in the URL, its already on its own subdomain so it wasn't needed.

Added;
- Paygol API, please set the IPN url to the exact url shown in the dashboard, small things like adding a / will break it. @Brot57HD
----------, Nov 16, 2016

Plugin:
getUUID() to the donation received event.

The website will save the MC name thats used to buy a rank and the UUID for future use.

Website:
- Sub categories
- Small API documentation
- Char on the homepage, with this week's donations.
----------, Nov 10, 2016

The plugin will now make API calls in an separate thread. And commands will be run in the main one (Because it will give an error if its run in the separate thread as well).
----------, Nov 7, 2016

We added a plugin side API, it currently only has the DonationReceivedEvent. And I'll add more information and a page to generate an API key on the dashboard soon for the web based Json API.

>
DonationsReceivedEvent
- getCommand() - The command that will run.
- getMcname() - The player that did donate.
- getPackageName() - The package name.
- getPackagePrice() - The price.
- getCouponDiscount() - The amount discount.


Just import the plugin in your project and Listen for that event.
Note: This will still run the command, if you don't want to run the command from our system you can add the config option (
dont_run_command: false) so your own plugin can run it.
----------, Nov 6, 2016

This new version uses the V2 API (JSON) instead of the V1 (plain text)

Plugin changes;
- Recoded the plugin
- Using json now
- Add an option to change the check delay.
- Add an option to disable the "checking for donation" message.

New config;
apikey: yourserverapikey
checkdelay: 18000
disable_checking_notification: true
----------, Nov 6, 2016

Resource Information
Author:
----------
Total Downloads: 33,815
First Release: Nov 5, 2016
Last Update: May 7, 2024
Category: ---------------
All-Time Rating:
120 ratings
Find more info at craftingstore.net...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings