General

General questions

How to create a server

CraftingStore uses servers (API Tokens) to communicate with the plugin. This guide will help you with creating a new server.

1. Open the dashboard at CraftingStore.net (click)
2. Click "servers" in the sidebar of the panel. 
3. Click "New server" at the right top. 
4. Enter a name, and select the desired plugin version. 
5. Click save. You will now get an API key. You can enter this API key into the plugin's config. 

Connection types:
- CraftingStore plugin: If you use our plugin for Bukkit, Craftbukkit, Spigot, BungeeCord, Sponge, etc. Use this option.
- RCON: If you want to use the RCON protocol, use this. 
- Database: Insert/update a record in your own database.

CraftingStore Plugin:
The plugin is our Java plugin, you download and install the plugin like any other. Our plugin has support for Bukkit, Spigot, BungeeCord, and Sponge. 

RCON:
RCON (remote control administration) is a protocol used by many "source" games like CS:GO, TeamFortress and many others. You can supply an IP and port and we will send the commands.

Database:
The database mode will allow you to enter your own query. We will run this SQL query on your MySQL server. You can, for example, enter this:
INSERT INTO `payments`(`name`) VALUES ('{player}')

You have to enter this command at the "package", in the command box. 
Note: We will escape all special characters in the names to prevent SQL injections.

Set-up your own domain

We offer the ability to use your own (sub)domain for your webstore. This is available for all the plans.

What is a custom domain?
You can choose a subdomain on our root domain (yourwebstore.craftingstore.net), but some server owners want the ability to use their own domain instead. So instead of craftingstorecraft.craftingstore.net, your domain will be something like: store.craftingstorecraft.com (you'll need to own "craftingstorecraft.com" in this example)

How do I set-up my own domain?
1. First, we need to create a DNS record within the DNS manager from your domain provider. How to create a record and the format to use may differ for each provider, we added some examples below. If your hosting provider is not in the list you may be able to contact your registrar for support.
2. Open up the DNS manager, and create a new DNS record. Please make sure that there is no DNS record that is conflicting (for example, an old record on the same name). 

Record information:
Name: store.example.com (replace this with your actual domain)
Target: dns.craftingstore.net
TTL: Lower is better, our IP's may change based on the load.
Type: c-name

3. After you created the record and saved the DNS settings, go back to the CraftingStore dashboard.
4. Go to the domain settings (sidebar -> settings -> domain) and fill in your full domain (store.example.com), to the custom URL box, make sure to empty the "sub-domain" box before.
5. Save the settings.

Now your custom domain is set! It might take up to 24 hours for the DNS change to complete, this is based on the DNS/Domain Provider.

GoDaddy:
Type: CNAME
Host: store
Points to: dns.craftingstore.net
TTL: 1/2 hour

DirectAdmin
Type: CNAME
Left Field: store
Right field: dns.craftingstore.net. (note the dot at the end, it is required and will not work without it)
TTL: Default

NameCheap
Type: CNAME Record
Host: store
Value: dns.craftingstore.net. (note the dot at the end, it is required and will not work without it)
TTL: 30 min

CloudFlare
Type: CNAME
Name: store
Domain name: dns.craftingstore.net
Automatic TTL
Orange Cloud: If you want to forward the request through CloudFlare you can enable it (orange), we support their flexible and full (none-strict) modes.

OVH
Pointer Records: CNAME
Sub-domain: store
TTL: By Default
Target: dns.craftingstore.net. (note the dot at the end, it is required and will not work without it)

Set up SSL certificates for your store

In this tutorial, we will help you to set-up SSL on your own domain, with CraftingStore. We already offer free SSL on all sub-domains (e.g. example.craftingstore.net).

Note: You are required to have a premium plan with us, to generate SSL certificates for your webstore, you can find our pricing here (click).

SSL on our premium platform;

1. Set-up your domain from the CraftingStore dashboard, please fill in your domain at; Dashboard -> Settings -> Domain, and click update. Make sure the subdomain box is empty.

2. Make sure to configure your domain correctly (tutorial) and go to the next step if your store is working without HTTPs.

2. Go to the "SSL" tab, located at; Dashboard -> Settings -> HTTPs.

3. Click the button to start the process, issuing the certificate will take a few seconds and will happen in the background.

4. Now your store has HTTPS, you can even enable the HTTP -> HTTPS redirect from the CraftingStore dashboard if you want to force HTTPS. (Dashboard -> Settings -> Domain). Please validate that your store does work over HTTPS before enabling this.

SSL on free stores;

While we only offer SSL for premium stores, you will still have the ability to use CloudFlare's free SSL to get it to work.

Our servers are all listening on port 80 (HTTP) and 443 (HTTPS), to comply with CloudFlare's requirements regarding their SSL, so it will work flawlessly.

1. Set-up your domain from the CraftingStore dashboard, please fill in your domain at; Dashboard -> Settings -> Domain, and click update. Make sure the subdomain box is empty.

2. Go to your CloudFlare DNS manager, and create a cname record for your (sub)domain of choice to "dns.craftingstore.net", and enable the orange cloud behind it.

3. Go to your crypto settings at CloudFlare, and look for "SSL". They offer a few options; Flexible, Full and Full (Strict).

We support Flexible & Full, using Full (Strict) won't work, read below to find out what the difference is.

Flexible: Only the traffic between the end user (your customer) and CloudFlare will be encrypted, everything from CloudFlare to CraftingStore will be sent in plain text (not recommended).

Full: Everything between the end user (your customer) and CloudFlare will be encrypted, and it will be re-encrypted and send to CraftingStore, so no plain text information will pass through the internet.

Full (Strict): This is the same as Full, but with one extra check.. it will check if the SSL certificate on the server (CraftingStore server) is valid, and signed by a CA (Certificate Authority) for your specific domain. But because we can't generate valid certificates for your domain (because we don't own it), we can't have any valid certificates on our side. This is not a problem, because everything is still fully encrypted.

If you require Full (Strict) for your own domain, you can also use CloudFlare's "Page Rules" to make your store use Full, and the website itself, Full (Strict), just keep in mind to have "store.example.com*" as URL match, or else only the store's homepage will function.

4. Your store will now serve over HTTPS, it might take CloudFlare some time to issue the certificate.

5. You can even enable the HTTP -> HTTPS redirect from the CraftingStore dashboard if you want to force HTTPS. (Dashboard -> Settings -> Domain).

That's all, if you have any questions, problems or issue with the system, please create a ticket with us, so we can sort it out.

Supported server platforms

We currently support 3 server platforms with our plugin, please read below to find out.

CraftBukkit/Spigot
Our plugin supports CraftBukkit, Spigot and related forks like PaperSpigot. This plugin allows you to execute commands in the game when a player buys a package.


BungeeCord
A bungeecord proxy is used to link together multiple Spigot servers, our plugin allows you to run commands on the proxy itself when somebody buys a package, you can, for example, alert the purchase on the whole network.

Sponge
Our plugin has basic support for Sponge powered servers. We are working on a new version with GUI support. 

RCON
We offer support for RCON connected servers, this feature does not require any plugins. Every minecraft server (even vanilla) does have this feature. 

Use CraftingStore on a BungeeCord network

Our plugin works for Spigot, BungeeCord, Sponge, CraftBukkit, and more to come, but if I'm running my BungeeCord server network with Spigot backend servers, how do I need to install CraftingStore? Do I need to install the plugin on my BungeeCord, on all my Spigot servers? Both? Well, it depends on your requirements, let's look at the options.

When you're using a local permissions plugin, on the Spigot server like PermissionsEx, and you are required to give players their ranks on the Spigot server, then you will need to install the CraftingStore plugin on any and all Spigot servers where this rank should be given.

For example; If you're selling network-wide ranks, you will have to install the plugin on all of your Spigot servers, and you don't need to have the plugin on the BungeeCord proxy itself, but if for example, you want to alert (BungeeCord alert) the announcement that the player bought the package, you can install the plugin on the BungeeCord proxy as well, and make it run the "alert {player} bought the rank" command to make this proxy wide. 


On the other hand, if you're selling something specific on just one of the servers in the network, like McMMO points in Factions, you can only install the plugin at the Factions server (assuming you don't require any other ranks, like network-wide ranks)

We hope this makes it clear if any questions remain, please don't hesitate to create a support ticket, so we can sort it out for you.

How to create a category

Categories are used to store packages. They add structure to your store. You can have a category named "Kits" with only kits.

1. Open the dashboard at CraftingStore.net (click)
2. Click "Categories" in the sidebar of the panel. 
3. Click "New category" at the right top. 
4. Enter a name.
5. Click save.

The category will not show on the store.

How to create a package

Categories are used to store packages. They add structure to your store. You can have a category named "Kits" with only kits.

1. Open the dashboard at CraftingStore.net (click)
2. Click "Packages" in the sidebar of the panel. 
3. Click "New package" at the right top. 

Now, we are on the create page. We have a lot of options. This guide will explain all of them. 

Basics
Name: The display name, to be shown on your store. 
Description: The description to display on your store, HTML is allowed. 
Price: The price the customer has to pay. 
Enabled: Should this package be shown to the customer?
Category: The category this package belongs to. 
Expire after: When should this package expire, you can toggle this with the "Payment type" option. 
Global limit: How many times this package may be bought in total, by all users combined. 
User limit: How many times this package may be bought by a specific customer (UUID or Minecraft name)
Limit type: How long should this limit last, it will reset after this period. 
Servers: On what servers the commands should be executed by default. 
Allow the user to pay what they want: The user can select any price, as long as it's above the price defined. Handy for donations. 

Commands
Types:
- Initial: Will be executed on payment.
- Expiry: Will be executed when the payment expires. 
- Renewal: When the user pays again for the item. 
- Chargeback: Commands that should be executed when the user charges back. (for example: ban the user). 
Command: The command to run.
Servers: All packages selected in the basic tab, or a specific server. 
Delay: Should we only execute when the user is online? 

Image
The image to show on the page.

Requirements
Required packages that need to be bought before the user can buy this package. 
Only require one package: The customer only needs to buy one package instead of all of them.

Minecraft
The information to show in the GUI. 

How to create coupon codes

Coupon codes are handy to give discounts to users, and boost sales. 

1. Go to the CraftingStore dashboard. 
2. Select "Coupons" from the sidebar, and click "Create coupon". 

This page will show all the options, we will explain them:

Coupon: The name and code that the user can use. 
Type discount: Should the discount be a money amount (e.g. 10 EUR discount) or a percentage (e.g. 10% discount)
Max uses: How many times may this coupon be used. If you do a giveaway, you can set this to 1 for example. 
Coupon behavior: Should this coupon override sales (e.g. there is a 10 EUR package, and a 5 EUR sale, and coupons will override and it's a code to discount 10 EUR, the item will become free).
Apply coupon to: To what categories/packages should the coupon be applied. 
Start date: This date will enable the coupon. 
End date: The coupon will be disabled after this date. 

How to enable the Coupon/Giftcard box.

By default, the coupon and discount box is disabled. But we can enable it in a few easy steps. 

1. Go to the CraftingStore dashboard, and click "Settings -> Webstore" from the sidebar (or click here). 
2. Look for "Discount". 
3. Set the select box to "Yes". 
4. Now the store will update, and the customers will find a discount & giftcard box (those are the same) on the checkout page. 


Does CraftingStore take a cut off my money?

We do not take any amount or percentage of payments passing though CraftingStore.

But payment providers (like PayPal) will charge you a transaction fee for using their service, so you will not get 100% of your money, as these services do take a cut. 

Can I run commands when a player charges back their money?

Yes, you can create a command for each package, just select the “Charge-back” option and the command will only run when a player charges their money back.

It is not possible for us to automatically revert commands like ranks, as those commands differ for each plugin.

Tip: If you want to ban the player if they charge-back, you can also create a global command instead of adding it to all of the packages individually.

What games do you support?

At this moment, the focus is on Minecraft related servers. But, we are planning to expand to other games. We already have an “RCON” server version, most Source games do support this format.

You can always ask us if a specific game is supported, and fill in your requirements, we can see what is possible.

How do I change the homepage content?

You can change the contents of the homepage through the pages section. You can find it under “Pages” in the sidebar. The homepage is labeled “homepage”.

You can use HTML to format your page.

How do I cancel my account?

To close your account, you will need to do two actions;
1. Create a support ticket and request an account removal.
2. E-mail us at info[at]craftingstore.net with the ticket ID and confirm the request.

These two steps ensure that you are the one that requests the account removal. Please make sure to E-mail us from the account’s E-mail address.

Do you offer trial periods?

Yes, please contact us through the support center, and we can hook you up with a redeemable discount code that will give out a few days of CraftingStore’s silver plan for free.

Where can I submit suggestions?

You can create suggestions through our suggestions board at GitHub. Please look here: github.com/CraftingStore/Suggestions

Select “issues”, and open up the “New issue” block. Here you can choose the template you want to use.

Where can I find my API or Plugin key?

Your plugin/API key is the server key. You can create as many keys as you like. This way you can let commands run on specific servers.

You can find the servers section at your CraftingStore dashboard, under the “Servers” tab in the sidebar.

How long will it take for the commands to process?

For premium stores, this will be within a few seconds. We use a real-time socket connection to update your server the moment a payment comes through.

For free stores, the delay will be between 1 - 5 minutes, depending on the time. The payments are checked every 5 minutes globally. So it will always be under 5 minutes.

Does CraftingStore have an API?

We do have an API, but it is not documented at this moment. We are working on completing the documentation so you can start to use our API in your own projects or plugins.

I did not get the confirmation mail

We require stores to have a confirmed account before creating more than 5 packages, CraftingStore will E-mail you a link the moment you sign up.

If you did not receive this E-mail, you can try to re-send the E-mail. Go to the CraftingStore dashboard homepage and click the link in the alert box. This will E-mail you once again.

If you did not receive the E-mail, please check your spam. If the message is not there either, contact us through the ticket center at the dashboard. We can confirm your account manually.

What are player profiles?

A player profile is a confirmation that you own a specific E-mail address or Minecraft UUID. 

Because CraftingStore stores personal data, and we are required by law to allow users to redact their data we created "Player profiles". 

A player profile allows you to see all payments created by your specific E-mail address, you can view the data and redact any data that we have on you. The store owner will see the payments as "redacted". 

How to enable Coupons?

Coupons and Gift-cards are disabled by default, you can enable them within your settings page on the dashboard.

You can find it here: craftingstore.net/admin/settings/webstore

The box is named: "Discount and giftcard box". 

Change the currency

By default, your store will use Dollars, but you can change it to any other currency. Follow the steps below to change it:

1. Go to the webstore settings page ( Settings -> Webstore )
2. Look for "Currency".
3. Click "Save Webstore Settings".

Your store will now have the selected currency. 

Cant checkout

By default, there are no active payment gateways, before you can checkout gateways need to be added.

1. Open up the admin dashboard. 
2. Click "gateways".
3. Open up the desired gateway.
4. Enter the details
5. Click the save button above or below the gateways, it will not update without clicking this button. 

How do I remove my store?

You can remove stores from your account, but the store you want to remove needs the following requirements: 

- You need at least one other store.
- The store may not be selected.
- You need to be the owner of the store. 

How to remove the store:

1. Open the "stores" overview page.
2. Click "delete".
3. Open your E-mail and click the confirmation button.
4. Your store is now removed. 

My store is states that the connection is not secure.

If your store tells you that the connection is "not secure", you can follow these steps to get this resolved. 

We offer HTTPS on all CraftingStore sub-domains, free of charge. But if you want to use your own domain, we require you to buy our silver (premium) plan to get HTTPs.

Free store with CraftingStore sub-domain:
If you have a free store with a CraftingStore sub-domain (e.g. mystore.craftingstore.net) HTTPS is included. It might be the case that the automatic HTTPs redirect is disabled, you can enable it from the "domain settings" page. 

Free store with custom sub-domain:
You have a few possibilities, some require an external service, a few possibilities are:
- Upgrade your account to unlock HTTPS on custom domains.
- Use CloudFlare's HTTPS (Scroll down to "free stores": https://help.craftingstore.net/books/general/page/set-up-ssl-certificates-for-your-store)
- Disable HTTPS redirect in the CraftingStore settings, and use the custom domain without HTTPs.
- Use a CraftingStore subdomain (e.g. mystore.craftingstore.net), they have HTTPs included free of charge.

Premium store with custom-domain:
We offer HTTPs within our premium plans but it is not enabled by default, you can enable it at the "HTTPs" tab within the settings page at your CraftingStore dashboard. (detailed tutorial: https://help.craftingstore.net/books/general/page/set-up-ssl-certificates-for-your-store)

Also, make sure that HTTPS redirect is enabled, you can do that from here (click). This will force all users to use the secure version of your web-store. 

If you did issue the certificate but it is not showing up there might be something wrong. Certificates are issued by Lets Encrypt on an external service, give it at least 30 minutes. We will get notified when a certificate fails to issue 3 times in a row. 

If the certificate is not working after this period, please contact us through the ticket system within the dashboard and we will be able to issue the certificate manually. 

I changed my domain, my HTTPs is no longer working!
HTTPs (TLS/SSL) certificates are linked to (sub)domains, not to your store itself. If you change your domain, you need to re-request the certificate. You can do so by going to the "HTTPs" page and requesting a new certificate (Guide: https://help.craftingstore.net/books/general/page/set-up-ssl-certificates-for-your-store)

 

 

My package is not showing up.

If your package is not showing up on your store, there are several things you should check:

Is the package enabled?
Packages can be enabled or disabled by changing the select box from within the package editor, make sure that it is enabled. 

Is the category enabled?
A package lives within a category, if the category is not enabled, the package will now show up. You can enable the category by opening up the category editor and change the selector to "Enabled". 

If none of these steps help you, please contact our support team. 

The plugin is not working

If the plugin is not working correctly you can check several things to find out what is wrong, we explained some possible problems, and solutions. 

The plugin does not load
The plugin works on Spigot, BungeeCord, Sponge, and Velocity, make sure that your server is running any of these pieces of software. 

When the server is the correct software, look for messages from CraftingStore. Does the plugin give out any messages in the console? Our plugin states that it has been enabled. If the plugin does give messages, but still is not working, see the next topic. 

The plugin does not work
Our plugin requires a few steps before being ready, it needs to have a store linked and will not do anything without this. You can look at this (click) guide for information on installing the plugin. 

Payments are not getting through
Does the payment show up at the CraftingStore panel? If it does, please try to run "/craftingstore reload". If this does run correctly and the payments are getting through, please try to disable all other plugins, there might be conflicts.

The /buy command does not work.
We have an inventory menu on our Spigot and Sponge plugins, if you are running proxy software like BungeeCord, then the "problem" is that we do not offer this menu, you can resolve it by installing the plugin on your Game server itself. 

If you are running a game server, then another plugin might override our /buy command, some plugins use the same command. If you see an error message, it is most likely not ours, we do not show any errors for the menu, at any point. Please make sure that there are no conflicting plugins.

What is a sale

Sales are global or partial discounts on your store, the discount will be applied to the selected categories and packages. The user does not need to do anything for the discount to apply, everybody can see the discount when the sale is active.

Category view modes

Categories can have one of two view modes, we will describe both here.

List view
The list view mode will show a list of packages, it will not contain any images (even if you upload them). 

Grid view
The grid view will show images, all packages will be shown as a big box next to each other. If you have images for your packages, grid view is the way to go.