From 1e99f3c3bedfb61343b9b7910ba0c94099686e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radim=20Lipov=C4=8Dan?= Date: Thu, 5 Sep 2024 12:37:12 +0200 Subject: [PATCH] Docs install added --- docs/index.md | 87 +++++++++++++++++- docs/install.md | 1 - docs/installation/adding-a-node.md | 90 +++++++++++++++++++ .../adding-pre-defined-plugins.md | 11 +++ docs/installation/index.md | 57 ++++++++++++ .../installation/pterodactyl-configuration.md | 34 +++++++ docs/installation/templates.md | 24 +++++ mkdocs.yml | 3 +- 8 files changed, 304 insertions(+), 3 deletions(-) create mode 100644 docs/installation/adding-a-node.md create mode 100644 docs/installation/adding-pre-defined-plugins.md create mode 100644 docs/installation/index.md create mode 100644 docs/installation/pterodactyl-configuration.md create mode 100644 docs/installation/templates.md diff --git a/docs/index.md b/docs/index.md index 70d99fa..a2dbdd0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1 +1,86 @@ -# PlayerServers Overview \ No newline at end of file +# PlayerServers overview + +## Description + +PlayerServers is an advanced plugin that will allow your players to create their own BungeeCord sub-server with just one command. They'll have all permissions and will be able to manage them with an easy-to-use in-game GUI in order to manage plugins and configuration files. Optionally, you can extend it's functionality by configuring Docker or deploying servers directly on Pterodactyl panel. + +## Features + +* **Async, lag-free:** The plugin is running asynchronously making use of all cores of your machine. Servers are created in seconds with no performance impact on your network. +* **Templates:** Make the game for your players more fun by giving them already-built templates to choose from. Servers will be initialised with predefined plugins, worlds, mods and configuration files - all at your will. +* **HubCore:** HubCore is an addon to PlayerServers which adds nice features to your lobby such as PlayerServers selector, option to create and manage servers with an intuitive GUI, options to disable some of the basic Minecraft functionalities such as rain or damage and much more - and the best part - It's completely free and opensource. +* **Automatically terminate inactive servers**: if servers are inactive (or don't have any players) for a configurable amount of time, they will automatically shutdown. +* **ControlGUI:** Once your players enter your server, they'll be presented with instructions on how to proceed and do basic tasks, the most common of which is managing their server with PlayerServer GUI. From this interface, they'll be able to install plugins, edit server variables, edit configuration files and much more! +* **Permissions-based:** In PlayerServers everything's configurable through config files, or dynamically through Permissions. Limit the amount of plugins your players may have, max players, RAM or CPU and monetise your server by giving better perks to donators that support your work. +* **Automatic & works out of the box:** The plugin is working out of the box without any need for external dependencies. Servers are added and removed from your network seamlessly without any need for reboot or greload. + +## Purchase it now + +{% embed url="https://builtbybit.com/resources/15521/" %} +Purchase on BuiltByBit (MC-Market) +{% endembed %} + +{% embed url="https://www.spigotmc.org/resources/82268/" %} +Purchase on SpigotMC +{% endembed %} + +{% embed url="https://polymart.org/resource/playerservers.57" %} +Purchase on Polymart +{% endembed %} + +## ๐Ÿ“˜ Overview + +* [๐Ÿ–ฅ PlayerServers - Overview](index) +* [๐Ÿš€ Plugin Installation Tutorial](overview/installation/README.md) + * [๐Ÿ›ณ Adding a node](overview/installation/adding-a-node.md) + * [๐ŸŽ Templates](overview/installation/templates.md) + * [๐Ÿ“ฆ Adding pre-defined plugins](overview/installation/adding-pre-defined-plugins.md) +* [๐ŸŒ Pterodactyl configuration](overview/installation/pterodactyl-configuration.md) + * [๐Ÿ•Š Download custom wings](overview/pterodactyl-configuration/download-custom-wings.md) + * [๐Ÿ”“ How to create tokens](overview/pterodactyl-configuration/how-to-create-tokens.md) + * [โ›ฒ Setting up plugins mount](overview/pterodactyl-configuration/setting-up-plugins-mount.md) +* [๐Ÿ“œ Current Config files](overview/config.md) +* [๐Ÿ“„ Commands & permissions](overview/permissions-and-commands.md) +* [๐Ÿšซ Limitations](overview/limitations/README.md) + * [Permission-based RAM](overview/limitations/permission-based-ram.md) + * [Permission-based CPU](overview/limitations/permission-based-ram-1.md) + * [Max players limitation](overview/limitations/max-players-limitation.md) + * [Max plugins limitation](overview/limitations/max-plugins-limitation.md) + +*** + +* [๐Ÿ‘ต Legacy (v2.x)](legacy/README.md) + * [Updates](legacy/updates/README.md) + * [PlayerServers - General](legacy/updates/master.md) + * [v1.1 to v1.2](legacy/updates/v1.1-to-v1.2.md) + * [8.0 to v1.0](legacy/updates/8.0-to-v1.0.md) + * [5.0 to 6.0](legacy/updates/5.0-to-6.0.md) + * [3.7-D to 4.0](legacy/updates/update1.md) + * [Basic instructions](legacy/basic-instructions.md) + * [Plugin management](legacy/plugin-management.md) + * [Plugin Installation Tutorial](legacy/installation.md) + * [Editing config files](legacy/editing-config-files.md) + * [Current Config & Messages File](legacy/config.md) + * [Permissions & Commands](legacy/permissions-and-commands.md) + * [Limitations](legacy/limitations/README.md) + * [Permission-based RAM](legacy/limitations/permission-based-ram.md) + * [Max players limitation](legacy/limitations/max-players-limitation.md) + * [Max plugins limitation](legacy/limitations/max-plugins-limitation.md) + * [Adding pre-defined plugins](legacy/adding-pre-defined-plugins.md) + * [Creating MySQL database](legacy/creating-mysql-database.md) + * [Additional Tutorials (FAQ)](legacy/additional-tutorials-faq.md) + * [Screen (accessing consoles)](legacy/screen.md) + * [Screen (advanced)](https://linuxize.com/post/how-to-use-linux-screen/) + * [Templates](legacy/templates.md) + * [Multi-Node Support](legacy/multi-node-support.md) + * [Unofficial Video Tutorial](https://www.youtube.com/watch?v=VApcwAG4y5c) + * [MC-Market Thread](https://www.mc-market.org/threads/583445/#post-4508558) + +## ๐Ÿ› Buy + +* [๐Ÿช BuiltByBit](https://builtbybit.com/resources/15521/) +* [๐Ÿšฟ SpigotMC](https://www.spigotmc.org/resources/82268) + +*** + +* [๐Ÿ”— Support Discord](https://discord.io/arcadiaservices) diff --git a/docs/install.md b/docs/install.md index 25267fe..e69de29 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1 +0,0 @@ -# Installation diff --git a/docs/installation/adding-a-node.md b/docs/installation/adding-a-node.md new file mode 100644 index 0000000..da5f6f6 --- /dev/null +++ b/docs/installation/adding-a-node.md @@ -0,0 +1,90 @@ +--- +description: Learn how to create a node for servers to be deployed to. +--- + +# ๐Ÿ›ณ Adding a node + +## Introduction + +In order to create subservers, you need to have nodes configured. Each node can have a configurable amount of servers running at the same time. A node can be the same machine that you host your BungeeCord on, or any other machine connected to the internet. + +## Instructions + +### Download Docker + +For PlayerServers to be created, you need to have Docker installed on each of your nodes. + +For a quick install of Docker CE, you can execute the command below: + +```bash +curl -sSL https://get.docker.com/ | CHANNEL=stable bash +``` + +
+ +Alternative approach + +If you have issues with the command above, you may want to try the following one as well (Debian based systems only): + +```bash +sudo apt install docker.io +``` + +
+ +If you would rather do a manual installation, please reference the official Docker documentation for how to install Docker CE on your server. Some quick links are listed below for commonly supported systems. + +* [Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce) +* [CentOS](https://docs.docker.com/install/linux/docker-ce/centos/#install-docker-ce) +* [Debian](https://docs.docker.com/install/linux/docker-ce/debian/#install-docker-ce) + +**Start Docker on Boot** + +If you are on an operating system with systemd (Ubuntu 16+, Debian 8+, CentOS 7+) run the command below to have Docker start when you boot your machine. + +```bash +systemctl enable --now docker +``` + +### Download Daemon + +In order to create a node, you'll need to download the latest Daemon. + +{% file src="../../.gitbook/assets/PlayerServersDaemon-v3.1-beta5.zip" %} +Download the latest daemon +{% endfile %} + +After downloading it, put it in a separate folder and extract it, preferably **out** of your BungeeCord folder. This is not a plugin, but a separate software made for handling server requests. + +Now run the Daemon with the following command: + +{% code title="Command to start Daemon" %} +```sh +java -Xmx500M -jar PlayerServeshersDaemon.jar +``` +{% endcode %} + +After running it, type `exit` to stop your Daemon. + +Now, edit your config.toml generated inside Daemon folder to your preference and make sure to use the same token as in config.toml when creating a new node. + +### Create node in-game + +The last step would be to add the node to PlayerServers. To do so, type the following command: + +{% code overflow="wrap" %} +```sh +/psadmin node create +``` +{% endcode %} + +* NodeName is any name you want to give to your node +* IP is the ip of the machine the node is located on +* Port is the port, configurable in config.toml of your Daemon. +* MinPort and MaxPort represent the port range in which your servers are going to be created on. For example, if you put 30000 and 30100 as min and max port respectively, your servers will get a random port between those two numbers when created on this node. +* MaxOnline is the max number of online instances at once on this node. +* Token is the token configured in Daemon's config.toml + +{% hint style="success" %} +If everything was done correctly, your node is ready to start accepting new subservers. However, make sure to have at least one template configured for it (default). Learn more below on how to do so. +{% endhint %} diff --git a/docs/installation/adding-pre-defined-plugins.md b/docs/installation/adding-pre-defined-plugins.md new file mode 100644 index 0000000..26b656c --- /dev/null +++ b/docs/installation/adding-pre-defined-plugins.md @@ -0,0 +1,11 @@ +--- +description: >- + In the tutorial below, you'll learn how to add pre-defined plugins to the + plugin-installer GUI. +--- + +# ๐Ÿ“ฆ Adding pre-defined plugins + +In order to add plugins to the plugin-installer GUI and make those plugins available to all of your players and their servers, you need to navigate to your BungeeCord plugins folder, than go to the PlayerServers folder, and from there, navigate to the `server-plugins` subfolder. + +After that, put the .jar files of all the plugins you want your players to be able to install on their sub-servers. diff --git a/docs/installation/index.md b/docs/installation/index.md new file mode 100644 index 0000000..984f66a --- /dev/null +++ b/docs/installation/index.md @@ -0,0 +1,57 @@ +--- +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 SystemVersionSupportedNotes
Operating SystemVersionSupportedNotes
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.
Ubuntu16.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.

Debian8โš ๏ธUntested, additional repos may be required
CentOS7 & 8โš ๏ธNot tested, though we had reports of centOS working without any issues and we do not see any reason for it not to work there.
Windows

Server 2016

Server 2019

Server 2022

10

11

โœ…Tested, works perfectly.

PlayerServers v3+ introduced the full Windows support by using Docker for instance management
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 need to have Java. The minimum version of Java to be used with this plugin is Java 18. If you don't have it already installed, please follow the link below in order to learn how to install it. + +{% embed url="https://docs.azul.com/core/zulu-openjdk/install/debian" %} +Azul Zulu Java installation guide (for Debian/Ubuntu) +{% endembed %} + +## 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 using 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="../../legacy/creating-mysql-database.md" %} +[creating-mysql-database.md](../../legacy/creating-mysql-database.md) +{% endcontent-ref %} + +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 %} + +## Now setup your first node + +After successfully installing the plugin, in order to create your first server, you'll need to configure nodes (if not running in [Pterodactyl mode - learn more](pterodactyl-configuration.md)). To learn how to configure nodes, click the button below. diff --git a/docs/installation/pterodactyl-configuration.md b/docs/installation/pterodactyl-configuration.md new file mode 100644 index 0000000..fa5aabe --- /dev/null +++ b/docs/installation/pterodactyl-configuration.md @@ -0,0 +1,34 @@ +--- +description: >- + Learn how to setup and configure PlayerServers to work with Pterodactyl + control panel and give your users ability to manage their server through + Pterodactylโ€™s beautiful and easy-to-use interface. +--- + +# ๐ŸŒ Pterodactyl configuration + +{% hint style="info" %} +The below page explains how to use this feature on PlayerServers 3. This is only relevant if you're a beta tester. +{% endhint %} + +## Introduction + +> Pterodactylยฎ is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users. + +PlayerServers offers the possibility to sync with your panel and create Pterodactyl servers on the fly - offering your users all that PlayerServers offers + the ability to manage their server through Pterodactyl's amazing UI. + +## How to setup + +{% hint style="info" %} +In order to begin, you need to have Pterodactyl, Docker and PlayerServers properly installed on your system. To learn how to install Pterodactyl, click [here](https://pterodactyl.io/panel/1.0/getting\_started.html). +{% endhint %} + +1. Shutdown your BungeeCord +2. Edit PlayerServers [config.yml](../config.md), enable pterodactyl mode +3. Insert your application token and client token +4. Insert your Minecraft nest-id, Paper egg-id and the location-id of the location your nodes are based in. +5. Just like that, you're done! + +{% hint style="warning" %} +We highly recommend downloading our custom Wings and replacing Pterodactyl's Wings. This will prevent unwanted modifications to PSServerCore config and jar. Click the button below to learn more. +{% endhint %} diff --git a/docs/installation/templates.md b/docs/installation/templates.md new file mode 100644 index 0000000..bcc766c --- /dev/null +++ b/docs/installation/templates.md @@ -0,0 +1,24 @@ +--- +description: Learn how to setup templates with plugins, mods, worlds and configurations +--- + +# ๐ŸŽ Templates + +## Introduction + +In PlayerServers, Templates are an essential way of managing the creation of your servers. + +{% hint style="info" %} +At minimum you are required to have a `default` Template folder with Spigot.jar file inside. Without that, it will not be possible to create a subserver. +{% endhint %} + +{% hint style="warning" %} +Please keep in mind that all these steps **must be repeated across every Daemon instance equally**! Also, keep in mind that Templates do not work yet under [Pterodactyl mode](pterodactyl-configuration.md). +{% endhint %} + +## Instructions + +1. Create folder in /templates/\ +2. Put all the server files there **including Spigot.jar** (you must not include server.properties or spigot.yml) +3. If the folder includes plugins, please do not include PSServerCore.jar or it's configuration files +4. If your server includes plugins, please add all of them to the server-plugins folder diff --git a/mkdocs.yml b/mkdocs.yml index 4d9ea38..a797335 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -4,7 +4,8 @@ site_name: PlayerServers documentation # Navigation menu nav: - Home: index.md - - Installation: install.md + - 1. Installation: installation/index.md + - - 1.1. Adding a node : installation/adding-a-node.md # Theme theme: