This Project aims to empower you to set up your own Minecraft Server Network with very little knowledge. In the worst case it could help as an Example Project.
Find a file
2022-06-22 23:50:16 +02:00
logs First Commit 2021-12-02 22:59:50 +01:00
mc-bungeecord First Commit 2021-12-02 22:59:50 +01:00
mc-creative First Commit 2021-12-02 22:59:50 +01:00
mc-lobby First Commit 2021-12-02 22:59:50 +01:00
mc-minigames First Commit 2021-12-02 22:59:50 +01:00
mc-survival First Commit 2021-12-02 22:59:50 +01:00
docker-compose.yml First Commit 2021-12-02 22:59:50 +01:00
LICENSE Initial commit 2021-12-02 22:53:57 +01:00
readme.md Update Readme 2022-06-22 23:50:16 +02:00

Description

This Project aims to empower you in setting up your very own Server-Network using Docker, which can be started using docker-compose up inside this Directory.

I use this Repository to run my own Minecraft-Server at kB01.de.

This Repository is currently in a Prototyping State!

Usage

Reqirements:

  • git
  • docker
  • docker-compose

Clone this Repository git clone https://github.com/kB01guy/minecraft-server-kb01-de

Navigate into Repository cd minecraft-server-kb01-de

Start the Server-Network docker-compose up

Configuration

For my Use-Case Containerization is great to get the most Performance for each Universe (Survival, Creative, Lobby, Minigames).

Even though Minecraft supports Multiple Threads, the Main Game-Logic runs on a single Thread. All Server Plugins, The Game Logic, and all Worlds are handled Single-Threaded. Some Little Things are running on different Threads like the Chunk-Sending to Players.

If you just want run a Minecraft Server without different Worlds and not many Plugins, I strongly advice not to use my Project and instead only use https://github.com/itzg/docker-minecraft-server for creating your Server.

To further configure your Server-Network, see https://github.com/itzg/docker-bungeecord for mc-bungeecord and https://github.com/itzg/docker-minecraft-server for other Services

Server Configuration

The Server Proxy (default: BungeeCord) supports Plugins as well as the Game-Servers them selves. The Docker Containers allows automatic Plugin-Downloads from spigotmc.org via the Variable SPIGET_RESOURCES, which contains a Comma separated List of Plugin-IDs.

BungeeCord

This is the Proxy-Server that listens to the default Minecraft Port 25565 and then distribute the Players to the Game-Server they want to play on.

Plugin List
Spigot ID Price Name Description Links
Free LuckPerms BungeeCord Manages Permissions for BungeeCord Plugins Github luckperms.net
241 Free ServerListPlus Allows customization of your ServerList Info Github Spigot
8695 Free AdvancedBan All-In-One Punishment-System Github Spigot
68956 Free UltraStaffChat Allows Communication to the Server-Team, throughout the Network and even beyond thanks to Discord-Integration. Github Spigot

| 1488 | Free | BungeeEssentials | Multiple Essential Functions you might need, all in one Plugin | Github Spigot |

Main Server: Lobby, Creative, Minigames

This Server Hosts the Lobby, Creative World and Minigames. It is separated, because some Plugins change Vanilla Behaviour. AntiCooldown also disables Sweeping Edge and Quake might crash the Server.

It runs on Paper because it is Resource friendly.

Plugin List
Spigot ID Price Name Description Links
1166 Free HubThat Manages the Server-Hub, the welcome Area for joining Players Mind Overflow Spigot
28140 Free LuckPerms Manages Permissions Github Spigot
390 Free Multiverse-Core Allows Multi-World-Configuration, needed to load Custom Worlds and not load Vanilla-Worlds Github Spigot
1997 Free ProtocolLib Library Plugin used by Simple Voice Chat Github Spigot
6245 Free PlaceholderAPI Allows you to use Placeholder in nearly any Config-File Github Spigot
7688 Free Armor Stand Editor [dead] Allows players in survival to easily edit Armorstand pose and attributes. Github Spigot
13932 Free Fast Async WorldEdit Allows large Scale World-Modifications, needed by PlotSquared Github Spigot
25391 Free, Closed Source VoidGen Multiverse-World-Generator generating Empty Worlds Spigot
51321 Free AntiCooldown Removes Hit-Cooldown of newer Minecraft Versions for faster PvP experience Github Spigot
63714 Free Screaming Bedwars PvP GameMode in the Sky, Players are trying to destroy the Respawn-Block (Bed) of the other Teams Github Spigot
70616 Free BackupOnEvent Automatically creates Backups and manages configured Storage-Space Github Spigot
71465 Free ImageMap Creates Map-Items displaying Image Files. Used for TV-Like Custom Signs Github Spigot
77506 15€ PlotSquared Manages User-Plots for Creative Building Github Spigot
93738 Free Simple Voice Chat Proximity Voice-Chat, Requires Client Mod! Github Spigot

Planned:

Spigot ID Price Name Description Links
45928 15€, Closed Source Quake Fast paced Shooter-like Minigame with Powerups Spigot
81702 Free uSurvivalGames PvP GameMode on the Ground, with loot and a protection Period Github Spigot
87226 Free Walk in the Park Infinite Generating Parkour Github Spigot

Survival

This Game-Server hosts the Survival Map, with Advancements like Protecting your Builds, Teleporting to friendly Players and simple Economy in the Form of Chest-Shops.

My choice for the Survival Game Server Type was Spigot, which is a bit heavier on the resources compared to Paper. The Reason for this choice is because my Players had Problems using Game-Bugs which are Fixed in Paper (e.g. breaking Bedrock). However, you can configure Paper to allow these, but my Players still complained, so I switched back to Spigot, which does not fix any Vanilla Server Bugs. TLDR: Players blame Paper for Things that might not exist.

Plugin List
Spigot ID Price Name Description Links
93738 Free Simple Voice Chat Proximity Voice-Chat, Requires Client Mod! Github Spigot
1997 Free ProtocolLib Library Plugin used by Simple Voice Chat Github Spigot
70616 Free BackupOnEvent Automatically creates Backups and manages configured Storage-Space Github Spigot
7688 Free Armor Stand Editor [dead] Allows players in survival to easily edit Armorstand pose and attributes. Github Spigot
9089 Free EssentialsX Essential Commands like /home /tpa, etc. Github Spigot
1884 Free GriefPrevention Players can Protect flexible sized Plots using a golden Shovel Github Spigot
73997 Free MoreMobHeads Player- and Mob-Heads, and Micro-Blocks traded from the wandering Trader Github Spigot
34315 Free Vault Permissions, Chat, & Economy API to give plugins easy hooks into these systems, used for Economy only. Github Spigot
51856 Free ChestShop a simple system for making physical shops using signs and chests Github Spigot
16708 Free Daily Rewards Rewards the Player to stay active. Type /reward each Day to get in-game Currency Github Spigot
92546 Free Heart Displays Life of Players below their Name. Github Spigot