diff --git a/.github/graph.png b/.github/graph.png new file mode 100644 index 0000000..fe3d0bb Binary files /dev/null and b/.github/graph.png differ diff --git a/.github/shop.png b/.github/shop.png new file mode 100644 index 0000000..5f7c8a1 Binary files /dev/null and b/.github/shop.png differ diff --git a/README.md b/README.md index 66d05d1..2656ab2 100644 --- a/README.md +++ b/README.md @@ -7,51 +7,70 @@ # Auto-Tune - A powerful Minecraft Automatic-Economy Plugin for 1.16.2 with lots of features - - ![Auto-Tune Logo](https://github.com/Unprotesting/Auto-Tune/blob/1.16.2/.github/AtLogo.png?raw=true) + ### A powerful Minecraft Automatic-Economy Plugin for 1.16.2 with lots of features + + + ## Features + #### What is Auto-Tune? + +Auto-Tune is a Minecraft plugin for server that aims at transforming a part of Minecraft servers often ignored and that remains undeveloped. That is the economy of Minecraft servers. + +There are currently two forms of Minecraft economies that exists on modern servers. The first is vanilla which does not use plugins to assist in functionality within the economy. The second is a server-shop, vanilla blend, this method uses player-to-player trades and a server-wide shop that includes set prices for items to be bought and sold. The second method is often preferred on SMP/vanilla as it provides higher liquidity and engagement in the market than vanilla. However, on anarchy/semi-anarchy servers the vanilla-economy is provided as vanilla mechanics are often preferred. + +Both methods have significant issues. Vanilla being the most obvious with incredibly low engagement in the market as trades are strictly player-to-player bartering. To fix this issue servers and plugin-makers have developed a server-economy. Plugins such as essentials and Vault’s API allows for a medium of exchange within Minecraft. This has drastically fixed a lot of issues with the bartering system within Minecraft. However, the issue of low market engagement persisted. This has had attempts to be “fixed” however, by introducing server-wide shop plugins, often in the form of shop GUI’s or sign-shops. This is the current “preferred” method of economies in Minecraft servers. + +Auto-Tune aims to fix the still present problems in both methods of economies by introducing automatic dynamic pricing powered by Auto-Tune API, an API we have developed that contains various algorithms for calculating prices. Auto-Tune is a powerful, highly customizable plugin that creates a GUI-shop with server-set items that hooks into the Auto-Tune API and updates prices for items based on aggregate supply and demand. Different levels of Auto-Tune unlock access to various pricing models. However the Auto-Tune plugin contains many advanced features standalone; an integrated web-server that creates a website which displays graphs of items on the select server, automatic selling, volatility settings, sell price difference variation, and more. Our team at Auto-Tune is optimistic and passionate about Minecraft, plugin development and improving the community as a whole and are working hard at improving the plugin which is still deep in development. + +An example of a graph for an item created by the exponential algorithm displayed online: + + + +An example of a shop setup using Auto-Tune: + + + #### Feature List - - 3 Pricing Algorithim Options [Basic, Advanced, Exponential] - - Basic and Advanced contains 5 pricing model options. [Volaility Algorithim Settings] - - Exponential contains 7 pricing model options. [Volatility Options and algorithim, data-selection-algorithim, and more] - - 2 forced-inflation methods with individual options [Dynamic and Static Inflation, configurable update periods] - - 2 integrated web-servers to display prices online in graphs [Server port settings and more] - - Configurable GUI with sizing and naming options [80+ supported item-slots] - - Configurable shops with options to lock price and sell-price-differences [For more look at shops.yml configuration below] - - Configurable sell-price-difference - - Sell price-differnence-variation algorithim options [Update period, total time, starting-difference, ending difference] - - Player loaning [/loan, /loans, /payloan, easy to use] - - Configurable intrest rates [Update period, amount and more] - - Debt settings - - Incredibly fast data-collection and creation [50000 data insertions and retrevals a second when in memory, 5000 data insertions and retrevals a second when in storage (in our tests)] - - Data corruption protection - - And more! - - Coming soon (Dynamic Intrest rates, Credit scoring, Lots more GUI-shop configuration, even faster data-retrival, updated web-server, and more (We're open to suggestions)) + - 3 Pricing Algorithim Options [Basic, Advanced, Exponential] + - Basic and Advanced contains 5 pricing model options. [Volaility Algorithim Settings] + - Exponential contains 7 pricing model options. [Volatility Options and algorithim, data-selection-algorithim, and more] + - 2 forced-inflation methods with individual options [Dynamic and Static Inflation, configurable update periods] + - 2 integrated web-servers to display prices online in graphs [Server port settings and more] + - Configurable GUI with sizing and naming options [80+ supported item-slots] + - Configurable shops with options to lock price and sell-price-differences [For more look at shops.yml configuration below] + - Configurable sell-price-difference + - Sell price-differnence-variation algorithim options [Update period, total time, starting-difference, ending difference] + - Player loaning [/loan, /loans, /payloan, easy to use] + - Configurable intrest rates [Update period, amount and more] + - Debt settings + - Incredibly fast data-collection and creation [50000 data insertions and retrevals a second when in memory, 5000 data insertions and retrevals a second when in storage (in our tests)] + - Data corruption protection + - And more! + - Coming soon (Dynamic Intrest rates, Credit scoring, Lots more GUI-shop configuration, even faster data-retrival, updated web-server, and more (We're open to suggestions)) ## Usage #### To use Auto-Tune - Note: Make sure you have a vaild API key - 1. Download the latest version of Auto-Tune from the resources tab for your Minecraft server's Minecraft version - 2. Put the .jar file in your minecraft plugins folder - 3. Restart your server - 4. Edit the config.yml file inside plugins/Auto-Tune/, and enter your API key and email (check Auto-Tune API for more) - 5. Edit any other settings you want, in the config.yml file, especially set "pricing-model" to your API key type. - 6. Edit the shops.yml fiole to include items you wish to have in your shop - 7. Restart your server, again - 8. Auto-Tune will be running on your server, do /shop to view the items you set in the shops.yml file. + - Note: Make sure you have a valid API key + - 1. Download the latest version of Auto-Tune from the resources tab for your Minecraft server's Minecraft version + - 2. Put the .jar file in your minecraft plugins folder + - 3. Restart your server + - 4. Edit the config.yml file inside plugins/Auto-Tune/, and enter your API key and email (check Auto-Tune API for more) + - 5. Edit any other settings you want, in the config.yml file, especially set "pricing-model" to your API key type. + - 6. Edit the shops.yml fiole to include items you wish to have in your shop + - 7. Restart your server, again + - 8. Auto-Tune will be running on your server, do /shop to view the items you set in the shops.yml file. #### To build the project yourself - 1. Clone the project to a local directory - 2. Go to go the the Auto-Tune folder that has pom.xml (Auto-Tune/Auto-Tune) - 3. Run mvn clean package - 4. Go to the /target/ directory and Auto-Tune-0.x.x will be there if successful + - 1. Clone the project to a local directory + - 2. Go to go the the Auto-Tune folder that has pom.xml (Auto-Tune/Auto-Tune) + - 3. Run mvn clean package + - 4. Go to the /target/ directory and Auto-Tune-0.x.x will be there if successful #### Configuring config.yml
@@ -209,15 +228,29 @@ #### What is Auto-Tune API - Auto-Tune API is the API Auto-Tune connects to, in order to automatically calculate price data. In other words, it is the server that is the backbone of the dynamic pricing-model that powers Auto-Tune. +Auto-Tune API is the API Auto-Tune connects to, in order to automatically calculate price data. In other words, it is the server that is the backbone of the dynamic pricing-model that powers Auto-Tune. + + #### How to purchase an Auto-Tune API key + +To get an Auto-Tune API key please open a ticket on our discord: + +[![Discord](https://img.shields.io/discord/748222485975269508.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/bNVVPe5) + + #### Auto-Tune API Pricing + +Pricing at the moment will be variable based on how much we think your server having Auto-Tune will benefit its development and growth (free keys are available for some servers) +However, pricing will roughly be at around: +- Basic: £1.00 per 25,000 - 50,000 API requests +- Advanced: £1.00 per 20,000 - 40,000 API requests +- Exponential: £1.00 per 8,000 - 25,000 API requests - #### How to access Auto-Tune API + #### How to access the Auto-Tune API without the Auto-Tune plugin - For Auto-Tune users this is not neccessary to worry about, however, those who want to access the API without the need for the Auto-Tune plugin can do so. +For Auto-Tune users this is not neccessary to worry about, however, those who want to access the API without the need for the Auto-Tune plugin can do so. - Below is the code used by Auto-Tune to access the API - You will need to send some variables to the APi for it to return a price - Those are: model [Fixed|Variable (On advanced/exponential algorithms the model is fixed at Varaible)], algorithm [Basic|Advanced|Exponential], apikey, email, item [Can be anything], price, averageBuy[For Advanced/Exponential calculate the Average Buy Value], averageSell[For Advanced/Exponential calculate the Average Sell Value], maxVolatility, minVolatility +Below is the code used by Auto-Tune to access the API +You will need to send some variables to the API for it to return a price +Those are: model [Fixed|Variable (On advanced/exponential algorithms the model is fixed at Varaible)], algorithm [Basic|Advanced|Exponential], apikey, email, item [Can be anything], price, averageBuy[For Advanced/Exponential calculate the Average Buy Value], averageSell[For Advanced/Exponential calculate the Average Sell Value], maxVolatility, minVolatility
Http Post requestor for Auto-TuneAPI Example @@ -306,16 +339,3 @@ ```
- - #### How to purchase an Auto-Tune API key - - To get an Auto-Tune API please open a ticket on our discord: -[![Discord](https://img.shields.io/discord/747442431594594355.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/WHv37xG) - - #### Auto-Tune API Pricing - - Pricing at the moment will be variable based on how much we think your server having Auto-Tune will benefit its development and growth - However, pricing will roughly be at around: - Basic: £1.00 per 25,000 - 50,000 API requests - Advanced: £1.00 per 20,000 - 40,000 API requests - Exponential: £1.00 per 8,000 - 25,000 API requests