diff --git a/SUMMARY.md b/SUMMARY.md
index 2de1a88..a50428b 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -3,6 +3,13 @@
## 📘 Overview
* [🖥 PlayerServers - Overview](README.md)
+* [🚀 Plugin Installation Tutorial](overview/installation.md)
+* [📜 Current Config files](overview/config.md)
+* [🚫 Limitations](overview/limitations/README.md)
+ * [Permission-based RAM](overview/limitations/permission-based-ram.md)
+ * [Max players limitation](overview/limitations/max-players-limitation.md)
+ * [Max plugins limitation](overview/limitations/max-plugins-limitation.md)
+ * [CPU](overview/limitations/cpu.md)
***
@@ -15,8 +22,8 @@
* [3.7-D to 4.0](updates/update1.md)
* [Basic instructions](for-players/basic-instructions.md)
* [Plugin management](for-players/plugin-management.md)
+ * [Plugin Installation Tutorial](legacy/installation.md)
* [Editing config files](for-players/editing-config-files.md)
- * [Plugin Installation Tutorial](for-owners/installation.md)
* [Current Config & Messages File](for-owners/config.md)
* [Permissions & Commands](for-owners/permissions-and-commands.md)
* [Limitations](for-owners/limitations/README.md)
diff --git a/legacy/README.md b/legacy/README.md
index 54e3c54..b1df118 100644
--- a/legacy/README.md
+++ b/legacy/README.md
@@ -14,6 +14,6 @@ description: >-
[permissions-and-commands.md](../for-owners/permissions-and-commands.md)
{% endcontent-ref %}
-{% content-ref url="../for-owners/installation.md" %}
-[installation.md](../for-owners/installation.md)
+{% content-ref url="installation.md" %}
+[installation.md](installation.md)
{% endcontent-ref %}
diff --git a/legacy/installation.md b/legacy/installation.md
new file mode 100644
index 0000000..d61158c
--- /dev/null
+++ b/legacy/installation.md
@@ -0,0 +1,97 @@
+---
+description: >-
+ Here is a guide with details that you need to follow in order to complete the
+ installation.
+---
+
+# Plugin Installation Tutorial
+
+## Before installation
+
+In order to install PlayerServers, you will need to have a **VPS or Dedicated** server with **root** access. If you do not have it, please do not buy the plugin or try to install it on a **Shared (Game) Hosting.**
+
+## Picking the right OS
+
+We understand that if you have your server already up and running, it might come hard for you to change your OS. That's why we tested our plugin on many of the popular OS-es. Even tho some of them are marked with ⚠️, it doesn't mean the plugin will not work there, it just means that the instructions from this guide will not help you while setting up the plugin on those Operating Systems, but if you configure everything correctly (like installing Java, Screen & Fuser) the plugin should work without any problems. If you have any problems with an OS marked with ✅, please contact me so we can solve it.
+
+Operating Systems marked with ⛔️ are currently not supported at all, but the support for them come in the future versions. Below is the list of all the popular operating systems:
+
+| **Operating System** | Version | Supported | Notes |
+| -------------------- | ------------------------------------------------------------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Ubuntu** |
20.04
22.04
| ✅ | Documentation written assuming Ubuntu 22.04
as the base OS. Heavily tested on 20.04 as well.
|
+| **Ubuntu** | 18.04
(Bionic)
| ✅ | The plugin was tested on this OS and confirmed to have no issues. |
+| **Ubuntu** | 16.04 | ⚠️ | Untested, but the plugin should work |
+| **Debian** | 9
10
11
| ✅ | Tested, the plugin worked but the instructions from this guide might be invalid for that OS.
Some additional repos might be required.
|
+| **Debian** | 9
8
| ⚠️ | Untested, additional repos may be required |
+| **CentOS** | 7 & 8 | ⚠️ | **Not tested**, though we had reports of centOS working without any issues. |
+| **Windows** | Server 2016
Server 2019
Server 2022
10
11
| ❌❓ | Tested, not working. It may work though, by installing Ubuntu subsystem for Windows.
You can find more tutorials about that on Youtube.
|
+| **MacOS** | Mojave
Catalina
Big Sur
Monterey
Ventura
| ✅ | Should work without any problems as it comes with
screen & fuser pre-installed.
Tested on M1 processors as well. On M1 machines, ARM JVM like Azul Zulu is highly recommended.
|
+
+## Requirements
+
+{% hint style="info" %}
+Before installing the dependencies below, it is recommended to run `apt-get update` command as the commands below might not work without it.
+{% endhint %}
+
+In order to install PlayerServers on your machine, you obviously need to have Java (the plugin was compiled using Java 8, as it's the standard version of Java, and it's been tested on Java 11, but it should work on newer versions as well. If it does not, please report it). The recommended version of Java to be used with this plugin is Java 11. If you don't have it already installed, please execute the command below in your Linux Terminal.
+
+{% hint style="warning" %}
+If you're using 2.0+ versions of PlayerServers, you'll need to install Java 16, or preferrably Java 17 - as it'll become standard as of PlayerServers 3.0.
+
+You can find an in-depth guide on that [here](https://linuxways.net/ubuntu/how-to-install-oracle-java-16-on-ubuntu-18-04-20-04/).
+{% endhint %}
+
+```bash
+$ apt-get install default-jre -y
+```
+
+The second required dependency is Screen. We use screens for providing easy access to PlayerServers. In order to install it, you need to execute the command below. For further help with Screen, please go to the [Screen (accessing consoles)](../for-owners/screen.md) page.
+
+```bash
+$ apt-get install screen -y
+```
+
+After successfully installing Screen, you will need to install **fuser**. Many Linux distros already come with it **pre-installed**, but if you don't have it, make sure to install it by executing the following command:
+
+```bash
+$ apt-get install fuser -y
+```
+
+## Installation of the plugin
+
+In order to install the plugin, you just need to put it into your BungeeCord plugins folder. After that, please reboot your server and let the plugin generate it's config files and download some other required dependencies.
+
+{% hint style="danger" %}
+After the first boot of the server, you will see some errors generated by the plugin. Don't worry, just **shutdown** your BungeeCord server and follow the instructions below in order to solve it.
+{% endhint %}
+
+Now navigate to the `plugins folder -> PlayerServers` and open up the config.yml file. It is recommended to open it usign some sort of advanced text editor (like [Notepad++](https://notepad-plus-plus.org) or [VisualStudio Code](https://code.visualstudio.com)). After that, you will have to enter your MySQL informations. If you're unsure on how to create database on Linux machine, this [Creating MySQL database](../for-owners/creating-mysql-database.md) page might help you.
+
+After the configuration of MySQL database, boot up your BungeeCord server. The plugin should successfully launch this time.
+
+{% hint style="success" %}
+### That's it!
+
+If you followed the guide correctly, you will have a working version of PlayerServers installed. If there are any additional errors, or you need help with something, please don't hesitate to send me PM od MC-Market, or on Discord - `OpenSource#3310`
+{% endhint %}
+
+## ~~Possible Issues~~
+
+~~While installing PlayerServers for the first time, it is **required** for the plugin to download some **dependencies** from our servers. If servers are down, you might encounter some errors. If you see those errors, please contact the developer on our~~ [~~Support Discord~~](https://discord.io/arcadiaservices)~~.~~
+
+\~\~Don't worry, **you can still install the plugin even if servers are down**. In the downloaded .zip file, you'll see sub-folder called **Use only if needed**. Copy the contents of that folder to:
+
+`BungeeCord -> plugins -> PlayerServers -> Templates`
+
+and you should be fine to complete the installation. If there are any other unexpected issues, don't hesitate to ask. We'll always respond in less than 24 hours.\~\~
+
+{% hint style="warning" %}
+~~**NOTE FOR SPIGOT / MINEMEN USERS:** Since spigot does not allow large file sizes, you'll need to download required files from links blow, as your download does not include **Use only if needed** folder.~~
+
+* ~~\~\~\[~~PlayerServerCore.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/PlayerServerCore.jar](http://cdn.thearcadia.xyz/playerservers/PlayerServerCore.jar)~~)~~\~\~
+* ~~\~\~\[~~Launcher.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/Launcher.jar](http://cdn.thearcadia.xyz/playerservers/Launcher.jar)~~)~~\~\~
+* ~~\~\~\[~~Spigot.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/Spigot.jar](http://cdn.thearcadia.xyz/playerservers/Spigot.jar)~~)~~\~\~
+* ~~\~\~\[~~eula.txt~~]\(~~[http://cdn.thearcadia.xyz/playerservers/eula.txt](http://cdn.thearcadia.xyz/playerservers/eula.txt)~~) \~\~- copy contents of this page inside new file: eula.txt, and put it in your templates directory, as described above.~~
+{% endhint %}
+
+If you're using 8.0+, you will not ever encounter those issues, as the plugin is no longer cloud-depandent
diff --git a/overview/config.md b/overview/config.md
new file mode 100644
index 0000000..a41868c
--- /dev/null
+++ b/overview/config.md
@@ -0,0 +1,219 @@
+# 📜 Current Config files
+
+Below you can see the contents of the newest BungeeCord PlayerServers configuration file.
+
+{% hint style="info" %}
+Please note that in some extremely rare cases I may **forget to update the config** on this page.
+{% endhint %}
+
+```yaml
+# __________.__ _________
+# \______ \ | _____ ___.__. ___________/ _____/ ______________ __ ___________ ______
+# | ___/ | \__ \< | |/ __ \_ __ \_____ \_/ __ \_ __ \ \/ // __ \_ __ \/ ___/
+# | | | |__/ __ \\___ \ ___/| | \/ \ ___/| | \/\ /\ ___/| | \/\___ \
+# |____| |____(____ / ____|\___ >__| /_______ /\___ >__| \_/ \___ >__| /____ >
+# \/\/ \/ \/ \/ \/ \/
+#
+# An advanced plugin which allows your players to create their own sub-servers, created by thearcadia.xyz
+
+# Please enter your MySQL information below.
+mysql:
+ hostname: 127.0.0.1
+ username: web
+ password: webmaster
+ database: playerservers
+ useSSL: true
+
+ additionaloptions: []
+ # - "allowPublicKeyRetrieval=true"
+
+ url-based-connection:
+ enabled: false
+ driverName: "com.mysql.cj.jdbc.Driver"
+
+ # If you're using this connection method, you'll be entering your hostname,
+ # port and database name below in the jdbcUrl string. The ones above will not
+ # be considered.
+ jdbcUrl: "jdbc:mysql://localhost:3306/playerservers"
+
+ # Between version v1.2-RC6 and v1.2-RC7 there was a change in
+ # Database handling. Everyone upgrading that were satisfied
+ # on how it worked before should keep it as false, or first
+ # try enabling it and seeing if their servers are still
+ # attached to their account or not. In some rare cases it
+ # can happen that changing the value of this option can
+ # detach servers from your account, so enabling it if it
+ # worked correctly for you before is not needed.
+ use-modern-database: true
+
+# This setting defines port range
+ports:
+ # Server port range
+ start-port: 30000
+ end-port: 40000
+
+ # Panel port range only if experimental-panel is enabled
+ panel-start-port: 40000
+ panel-end-port: 50000
+
+# Where should players be moved after they /stop or /ps kill their server?
+balancer:
+ - Hub1
+ - Hub2
+
+# Use player-name instead of server UUID? Basically, when turned on, server-names
+# will be equal to player username instead of (for example) aa386b6h
+use-usernames: true
+
+server-name-format:
+ # Should we enable custom server name formatting?
+ enabled: false
+
+ # Which format should we use?
+ # %id% equals to player name or uuid depending on use-usernames option
+ format: "PS_%id%"
+
+# What is the max amount of servers that can be running at once?
+max-running-instances: 15
+
+# If there are no online players, and the last join was before
+# more than minutes-to-shutdown, the server will automatically shutdown
+# to allow more space for active ones.
+minutes-to-shutdown: 15
+
+# After how many seconds after executing cp -r
+# should we launch the server? Increase this if you get could not connect message.
+copy-delay: 3
+
+# Default startup command. Supports %uuid% for server UUID and %mem% for memory.
+launch-command: "screen -dmS %uuid% java -Xmx%mem%M -jar Spigot.jar"
+
+# In how much seconds, after first boot-up of the server should we
+# teleport the player to their sub-server? This depends on the strength
+# of your machine CPU. If you have a stronger machine, you might wanna set
+# it to something like 12 seconds, if you have some kind of Xeon with less
+# than 3.9Ghz, you might wanna set this to 15-20 seconds.
+teleport-time: 15
+
+# In how many seconds should we attempt to connect player to their
+# sub-server after it being launched by /playerserver start command?
+teleport-time-normal: 10
+
+ram-limiting:
+ # Should we use permissions for ram management? If set to true, you MUST give
+ # your players permission playerserver.ram. (ex: playerserver.ram.512)
+ # or, else, the command will be blocked, and player will not be able to create
+ # the server. If set to false, everyone will have ram-per-server amount of RAM.
+ use-permissions: false
+
+ # How much RAM (in MB) should we allocate to each PlayerServer?
+ ram-per-server: 512
+
+player-limiting:
+ # Should we use permissions for max-players management? If set to true, your
+ # players should have playerserver.players.. The max amount of players
+ # that you could give to a single server is 100000. You can also give them
+ # playerserver.players.unlimited - for unlimited players. If the player
+ # has no permission, he'll be able to have unlimited players.
+ #
+ # NOTE: If you use permissions, and you change player's permissions,
+ # their server will need to reboot in order for changes to take place.
+ use-permissions: false
+
+ # What is the max players each server should have?
+ max-players-per-server: 20
+
+plugin-limiting:
+ # Should we use permissions for max-plugins management? If set to true, your
+ # players should have playerserver.plugins.. The max amount of plugins
+ # that you could give to a single server is 20000. You can also give them
+ # playerserver.plugins.unlimited - for unlimited plugins. If the player
+ # has no permission, he'll be able to have unlimited players.
+ #
+ # NOTE: If you use permissions, and you change player's permissions,
+ # their server will need to reboot in order for changes to take place.
+ use-permissions: false
+
+ # What is the max players each server should have?
+ max-plugins-per-server: 20
+
+# Should we enable smart /ps command? You can find more info about it here:
+# https://gitlab.com/OpenSource02/playerservers/-/issues/21
+smart-command: false
+
+# Should we enable permissions for server creation, deletion & more?
+# If set to false, all the players will have access to those basic commands.
+# Obviously, admin commands require permission no matter what.
+enable-permissions: true
+
+templates:
+ default:
+ # This is just an example of what you can do with requires-permission.
+ # Default template will never require permission, even if set to true.
+ requires-permission: false
+ # What launch command should be used? If set as %default%, launch-command
+ # from above will be used (~line 70). Supports %mem% and %uuid% placeholders.
+ launch-command: "%default%"
+ # What plugins does this template contain?
+ # More info: https://playerservers.thearcadia.xyz/experimental/templates
+ plugins: []
+
+# Which folders or files will not show in /config file manager?
+disabled-access:
+ - "ExampleFolder"
+ - "Plugin.jar"
+
+# BETA FEATURES. USE AT OWN RISK!!
+multi-node: false
+experimental-rename: false
+
+# PlayerServers 2.0 experimental web-panel feature (concept only, for now).
+# Enable it only for testing purposes. It can and will cause security vulnerabilities.
+#
+# Read instructions here https://www.spigotmc.org/resources/82268/update?update=394183
+experimental-panel: false
+```
+
+## Current messages.toml
+
+```
+run-in-game = "&9Error> &7Oops! You can only run this command in-game."
+not-enough-arguments = "&9PlayerServers> &7Oops, not enough arguments: /playerservers admin test "
+not-enough-arguments-kill = "&9PlayerServers> &7Oops, not enough arguments: /playerserver kill stop "
+not-enough-arguments-delete = "&9PlayerServers> &7Not enough arguments. &a/playerservers admin delete . Please keep in mind that you should not enter the full id. You should just enter the first part (example: if full UUID is 1234-5678-1223-5623, you should just enter 1234)."
+no-permission = "&9Error> &7Oops, it seems like you don't have permission to do that."
+launching-server = "&c&lLaunching your server. This might take some time. You will be teleported as soon as it's ready."
+server-online = "&9PlayerServers> &7Oops, it seems like your server is not online."
+successfully-renamed = "&9PlayerServers> &7Successfully renamed server."
+rename-failed = "&9PlayerServers> &7Oops, the server with that name already exists."
+already-have = "&9Error> &7Oops, it seems like you already have a server!"
+too-many-online = "&9Error> &7Oops, it seems like too many servers are running at the moment."
+
+[server-creation]
+
+process-first = "&9PlayerServer> &7Starting the creation of your server..."
+process-second = "&9Process> &7Successfully copied Spigot.jar & created eula.txt"
+process-third = "&9Process> &7Successfully copied the PlayerServerCore to your server."
+process-fourth = "&9Process> &7Successfully created server.properties & start.sh"
+
+post-process-one = "&9PostProcess> &7Your server has been added to the BungeeCord. Teleporting in &a%time% &7seconds..."
+
+sending-to-remote-server = "&9Process> &7We're beginning the creation of your server on the first remote node that provides us with ample resources. This will not take a while."
+
+[server-stop]
+
+not-online = "&9PlayerServers> &7Oops, it seems like your server is not online."
+successfully-killed = "&9Success> &7Your server has been successfully killed."
+
+[server-start]
+
+prepairing = "&9PlayerServers> &7Preparing to launch your server."
+
+[server-connect]
+
+connected = "&9PlayerServer> &7You've been successfully sent to your server. Your friends can use &a/server %uuid%&7 to connect."
+
+[server-restart]
+
+killing = "&9PlayerServers> &7Trying to kill your server..."
+```
diff --git a/overview/installation.md b/overview/installation.md
index ccdef45..858974f 100644
--- a/overview/installation.md
+++ b/overview/installation.md
@@ -33,28 +33,16 @@ Operating Systems marked with ⛔️ are currently not supported at all, but the
Before installing the dependencies below, it is recommended to run `apt-get update` command as the commands below might not work without it.
{% endhint %}
-In order to install PlayerServers on your machine, you obviously need to have Java (the plugin was compiled using Java 8, as it's the standard version of Java, and it's been tested on Java 11, but it should work on newer versions as well. If it does not, please report it). The recommended version of Java to be used with this plugin is Java 11. If you don't have it already installed, please execute the command below in your Linux Terminal.
+In order to install PlayerServers on your machine, you obviously need to have Java. The minimum version of Java to be used with this plugin is Java 17. If you don't have it already installed, please follow the link below in order to learn how to install it.
-{% hint style="warning" %}
-If you're using 2.0+ versions of PlayerServers, you'll need to install Java 16, or preferrably Java 17 - as it'll become standard as of PlayerServers 3.0.
-
-You can find an in-depth guide on that [here](https://linuxways.net/ubuntu/how-to-install-oracle-java-16-on-ubuntu-18-04-20-04/).
-{% endhint %}
-
-```bash
-$ apt-get install default-jre -y
-```
-
-The second required dependency is Screen. We use screens for providing easy access to PlayerServers. In order to install it, you need to execute the command below. For further help with Screen, please go to the [Screen (accessing consoles)](../for-owners/screen.md) page.
-
-```bash
-$ apt-get install screen -y
-```
+{% embed url="https://docs.azul.com/core/zulu-openjdk/install/debian" %}
+Azul Zulu Java installation guide (for Debian)
+{% endembed %}
After successfully installing Screen, you will need to install **fuser**. Many Linux distros already come with it **pre-installed**, but if you don't have it, make sure to install it by executing the following command:
```bash
-$ apt-get install fuser -y
+$ apt-get install fuser -y # Ubuntu/Debian command. May vary on other systems.
```
## Installation of the plugin
@@ -65,7 +53,11 @@ In order to install the plugin, you just need to put it into your BungeeCord plu
After the first boot of the server, you will see some errors generated by the plugin. Don't worry, just **shutdown** your BungeeCord server and follow the instructions below in order to solve it.
{% endhint %}
-Now navigate to the `plugins folder -> PlayerServers` and open up the config.yml file. It is recommended to open it usign some sort of advanced text editor (like [Notepad++](https://notepad-plus-plus.org) or [VisualStudio Code](https://code.visualstudio.com)). After that, you will have to enter your MySQL informations. If you're unsure on how to create database on Linux machine, this [Creating MySQL database](../for-owners/creating-mysql-database.md) page might help you.
+Now navigate to the `plugins folder -> PlayerServers` and open up the config.yml file. It is recommended to open it usign some sort of advanced text editor (like [Notepad++](https://notepad-plus-plus.org) or [VisualStudio Code](https://code.visualstudio.com)). After that, you will have to enter your MySQL informations. If you don't have a MySQL server running already, please follow the link below.
+
+{% content-ref url="../for-owners/creating-mysql-database.md" %}
+[creating-mysql-database.md](../for-owners/creating-mysql-database.md)
+{% endcontent-ref %}
After the configuration of MySQL database, boot up your BungeeCord server. The plugin should successfully launch this time.
@@ -74,24 +66,3 @@ After the configuration of MySQL database, boot up your BungeeCord server. The p
If you followed the guide correctly, you will have a working version of PlayerServers installed. If there are any additional errors, or you need help with something, please don't hesitate to send me PM od MC-Market, or on Discord - `OpenSource#3310`
{% endhint %}
-
-## ~~Possible Issues~~
-
-~~While installing PlayerServers for the first time, it is **required** for the plugin to download some **dependencies** from our servers. If servers are down, you might encounter some errors. If you see those errors, please contact the developer on our~~ [~~Support Discord~~](https://discord.io/arcadiaservices)~~.~~
-
-\~\~Don't worry, **you can still install the plugin even if servers are down**. In the downloaded .zip file, you'll see sub-folder called **Use only if needed**. Copy the contents of that folder to:
-
-`BungeeCord -> plugins -> PlayerServers -> Templates`
-
-and you should be fine to complete the installation. If there are any other unexpected issues, don't hesitate to ask. We'll always respond in less than 24 hours.\~\~
-
-{% hint style="warning" %}
-~~**NOTE FOR SPIGOT / MINEMEN USERS:** Since spigot does not allow large file sizes, you'll need to download required files from links blow, as your download does not include **Use only if needed** folder.~~
-
-* ~~\~\~\[~~PlayerServerCore.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/PlayerServerCore.jar](http://cdn.thearcadia.xyz/playerservers/PlayerServerCore.jar)~~)~~\~\~
-* ~~\~\~\[~~Launcher.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/Launcher.jar](http://cdn.thearcadia.xyz/playerservers/Launcher.jar)~~)~~\~\~
-* ~~\~\~\[~~Spigot.jar~~]\(~~[http://cdn.thearcadia.xyz/playerservers/Spigot.jar](http://cdn.thearcadia.xyz/playerservers/Spigot.jar)~~)~~\~\~
-* ~~\~\~\[~~eula.txt~~]\(~~[http://cdn.thearcadia.xyz/playerservers/eula.txt](http://cdn.thearcadia.xyz/playerservers/eula.txt)~~) \~\~- copy contents of this page inside new file: eula.txt, and put it in your templates directory, as described above.~~
-{% endhint %}
-
-If you're using 8.0+, you will not ever encounter those issues, as the plugin is no longer cloud-depandent
diff --git a/overview/limitations/README.md b/overview/limitations/README.md
new file mode 100644
index 0000000..ea7b15f
--- /dev/null
+++ b/overview/limitations/README.md
@@ -0,0 +1,16 @@
+# 🚫 Limitations
+
+On pages below, you'll learn how to set permission-based limitations for your players.
+
+{% content-ref url="permission-based-ram.md" %}
+[permission-based-ram.md](permission-based-ram.md)
+{% endcontent-ref %}
+
+{% content-ref url="max-players-limitation.md" %}
+[max-players-limitation.md](max-players-limitation.md)
+{% endcontent-ref %}
+
+{% content-ref url="max-plugins-limitation.md" %}
+[max-plugins-limitation.md](max-plugins-limitation.md)
+{% endcontent-ref %}
+
diff --git a/overview/limitations/cpu.md b/overview/limitations/cpu.md
new file mode 100644
index 0000000..e715f21
--- /dev/null
+++ b/overview/limitations/cpu.md
@@ -0,0 +1,2 @@
+# CPU
+
diff --git a/overview/limitations/max-players-limitation.md b/overview/limitations/max-players-limitation.md
new file mode 100644
index 0000000..c4590f6
--- /dev/null
+++ b/overview/limitations/max-players-limitation.md
@@ -0,0 +1,35 @@
+# Max players limitation
+
+## Introduction
+
+We know that making a permission-based slots system is a crucial to our customers and could be greately used for online stores in order for them to earn money for Ranks & Perks, so we've implemented a permission-based slots system. In this tutorial, you'll learn how to configure it for your needs.
+
+## Tutorial
+
+In order to begin, you'll need to change a few config options. Make sure your player-limiting part of the config looks as following:
+
+```yaml
+player-limiting:
+ # Should we use permissions for max-players management? If set to true, your
+ # players should have playerserver.players.. The max amount of players
+ # that you could give to a single server is 100000. You can also give them
+ # playerserver.players.unlimited - for unlimited players. If the player
+ # has no permission, he'll be able to have unlimited players.
+ #
+ # NOTE: If you use permissions, and you change player's permissions,
+ # their server will need to reboot in order for changes to take place.
+ use-permissions: true
+
+ # What is the max players each server should have?
+ max-players-per-server: 20
+```
+
+By enabling use-permissions, the plugin will ignore max-players-per-server option and will use permission-based slots management system.
+
+The next thing you'll wanna do is to give all the groups that have `playerserver.manage` permission a new permission as following: `playerserver.players.`. Here's an example in LuckPerms:
+
+```yaml
+/lp group default permission set playerserver.players.10
+```
+
+If your groups have parent permission, the plugin will give the player the largest possible amount of slots by their permission.
diff --git a/overview/limitations/max-plugins-limitation.md b/overview/limitations/max-plugins-limitation.md
new file mode 100644
index 0000000..c981964
--- /dev/null
+++ b/overview/limitations/max-plugins-limitation.md
@@ -0,0 +1,35 @@
+# Max plugins limitation
+
+## Introduction
+
+We know that making a permission-based plugins limitation system is a crucial to our customers and could be greately used for online stores in order for them to earn money for Ranks & Perks, so we've implemented a permission-based plugin limitation system. In this tutorial, you'll learn how to configure it for your needs.
+
+## Tutorial
+
+In order to begin, you'll need to change a few config options. Make sure your plugin-limiting part of the config looks as following:
+
+```yaml
+plugin-limiting:
+ # Should we use permissions for max-plugins management? If set to true, your
+ # players should have playerserver.plugins.. The max amount of plugins
+ # that you could give to a single server is 20000. You can also give them
+ # playerserver.plugins.unlimited - for unlimited plugins. If the player
+ # has no permission, he'll be able to have unlimited players.
+ #
+ # NOTE: If you use permissions, and you change player's permissions,
+ # their server will need to reboot in order for changes to take place.
+ use-permissions: true
+
+ # What is the max players each server should have?
+ max-plugins-per-server: 20
+```
+
+By enabling use-permissions, the plugin will ignore max-plugins-per-server option and will use permission-based plugin limiting system.
+
+The next thing you'll wanna do is to give all the groups that have `playerserver.manage` permission a new permission as following: `playerserver.plugins.`. Here's an example in LuckPerms:
+
+```yaml
+/lp group default permission set playerserver.plugins.10
+```
+
+If your groups have parent permission, the plugin will give the player the largest possible amount of plugins by their permission.
diff --git a/overview/limitations/permission-based-ram.md b/overview/limitations/permission-based-ram.md
new file mode 100644
index 0000000..aab95fd
--- /dev/null
+++ b/overview/limitations/permission-based-ram.md
@@ -0,0 +1,33 @@
+---
+description: Learn how to make a permission-based RAM system for your players
+---
+
+# Permission-based RAM
+
+## Introduction
+
+We know that making a permission-based RAM system is a crucial to our customers and could be greately used for online stores in order for them to earn money for Ranks & Perks, so we've implemented a permission-based RAM system. In this tutorial, you'll learn how to configure it for your needs.
+
+## Tutorial
+
+In order to begin, you'll need to change a few config options. Make sure your ram-limiting part of the config looks as following:
+
+```yaml
+ram-limiting:
+ # Should we use permissions for ram management? If set to true, you MUST give
+ # your players permission playerserver.ram. (ex: playerserver.ram.512)
+ # or, else, the command will be blocked, and player will not be able to create
+ # the server. If set to false, everyone will have ram-per-server amount of RAM.
+ use-permissions: true
+
+ # How much RAM (in MB) should we allocate to each of the PlayerServers?
+ ram-per-server: 512
+```
+
+By enabling use-permissions, the plugin will ignore ram-per-server option and will use permission-based RAM management system.
+
+The next thing you'll wanna do is to give all the groups that have `playerserver.manage` permission a new permission as following: `playerserver.ram.`. Here's an example in LuckPerms:
+
+```yaml
+/lp group default permission set playerserver.ram.512
+```