Pterodactyl vs Crafty vs MCSManager: porownanie paneli Minecraft 2026

Pterodactyl vs Crafty vs MCSManager: porownanie paneli Minecraft 2026

Jeśli trzymasz Minecrafta na własnym dedyku albo VPS, prędzej czy później pojawia się pytanie: jaki panel kontrolny ma rządzić serwerami. Trójka liczących się darmowych, self-hosted paneli w 2026 roku to Pterodactyl, Crafty Controller i MCSManager. Poniżej praktyczne porównanie pod kątem architektury, instalacji, bezpieczeństwa i UX, z prawdziwymi configami i bez marketingowego ozdobnika.

Po co w ogóle panel

Goły screen z java -Xmx8G -jar paper.jar działa. Dokładnie do momentu, w którym chcesz dać moderatorowi dostęp do konsoli bez root, postawić drugi serwer, ustawić dzienny backup do S3, podejrzeć metryki CPU i graczy albo restartować na OOM. Panel ogarnia kontrolę procesu, izolację, web konsolę, menedżer plików, harmonogramy, użytkowników, SFTP i backupy.

Wszystkie trzy projekty żyją: Pterodactyl Panel idzie na linii 1.x z aktywną dyskusją 2.x, Crafty Controller siedzi na 4.x, MCSManager wydaje 10.x. Wszystkie trzy są darmowe i open source.

Pterodactyl: standard branżowy u hosterów

Pterodactyl to nie jeden program, tylko duet:

  • Panel (PHP/Laravel + MySQL + Redis): web UI, baza, API.
  • Wings (Go): demon na każdej nodzie, który uruchamia serwery gier wewnątrz kontenerów Docker.

Panel i Wings rozmawiają po HTTPS z tokenem nody. Panel trzyma konfigurację i sesje, Wings wykonuje pracę: startuje kontener, proxy konsoli przez WebSocket, zarządza plikami, podaje własny serwer SFTP.

Trzon architektoniczny: każdy serwer gracza siedzi w osobnym kontenerze Docker, z własnym uid, limitami CPU/RAM/IO i własnymi namespace'ami. Niesfornie napisany plugin na jednym serwerze nie zalewa sąsiadów. To też powód, dla którego około 90% komercyjnych hostingów Minecraft (Bisect, Shockbyte, ScalaCube, Apex i podobni) trzyma pod spodem Pterodactyl albo fork Pelican.

Cena za to:

  • Docker i podstawy sieci linuksowych są obowiązkowe.
  • Instalacja Panelu wymaga PHP 8.2+, composer, Node, MySQL/MariaDB, Redis, Nginx, certbot oraz Wings osobno na każdej nodzie.
  • Footprint jest realny: 1.5 do 2 GB RAM dla Panel + Wings idle to norma.

Instalacja Pterodactyl Panel (skrót)

Pełna instrukcja na pterodactyl.io, poniżej szkielet:

# Zależności
sudo apt update
sudo apt -y install nginx mariadb-server redis-server certbot \
  php8.2 php8.2-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} \
  composer git

# Pobranie Panelu
sudo mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
sudo curl -L https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz | sudo tar -xzv

# Konfiguracja
sudo cp .env.example .env
sudo composer install --no-dev --optimize-autoloader
sudo php artisan key:generate --force
sudo php artisan p:environment:setup
sudo php artisan p:environment:database
sudo php artisan migrate --seed --force
sudo php artisan p:user:make

Następnie Wings na nodzie:

# Noda (osobna maszyna albo ta sama)
curl -sSL https://get.docker.com/ | sh
sudo systemctl enable --now docker

sudo mkdir -p /etc/pterodactyl
sudo curl -L -o /usr/local/bin/wings \
  "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
sudo chmod u+x /usr/local/bin/wings

Config nody generuje Panel i kopiujemy go do /etc/pterodactyl/config.yml. Po systemctl enable --now wings noda zapala się na zielono w panelu admina.

Crafty Controller: panel pod jedną maszynę

Crafty Controller (repo craftycontrol/crafty-4 na GitLab/GitHub) jest napisany w Pythonie (Tornado) i jedzie jako monolit. Jednocześnie web UI i demon. To upraszcza obsługę, ale zamyka jedną furtkę: jedna instancja Crafty rządzi tylko serwerami na maszynie, na której jest uruchomiona. Brak multi-node.

W zamian dostajesz:

  • Instalacja jedną komendą (skrypt albo kontener Docker).
  • Wbudowany scheduler do backupów, restartów, komend konsoli.
  • Prosty RBAC z rolami, użytkownikami i bindowaniem serwer-rola.
  • Import istniejących światów i serwerów z dysku.
  • Mały overhead: 200-400 MB RAM na sam panel.

Crafty nie pakuje serwerów gier do Dockera. Każda instancja Minecrafta to proces java, który Crafty forkuje bezpośrednio i steruje przez stdin/stdout. Izolacja jest słabsza niż w Pterodactyl, ale powierzchnia operacyjna jest sporo mniejsza.

Instalacja Crafty Controller

Najczystsza droga, przez Docker Compose:

# docker-compose.yml
services:
  crafty:
    container_name: crafty_container
    image: registry.gitlab.com/crafty-controller/crafty-4:latest
    restart: always
    environment:
      - TZ=Europe/Warsaw
    ports:
      - "8443:8443"
      - "8123:8123"
      - "19132:19132/udp"
      - "25500-25600:25500-25600"
    volumes:
      - ./docker/backups:/crafty/backups
      - ./docker/logs:/crafty/logs
      - ./docker/servers:/crafty/servers
      - ./docker/config:/crafty/app/config
      - ./docker/import:/crafty/import

Po docker compose up -d wchodzisz na https://localhost:8443, wyciągasz domyślne dane logowania z docker compose logs crafty, zmieniasz hasło i tworzysz pierwszy serwer w kreatorze.

MCSManager: lekki panel multi-instancja z Chin

MCSManager (MCSManager/MCSManager na GitHubie) pochodzi z Chin i od 2024 rośnie też w społecznościach EU/RU. Architektura jest dwuczęściowa, jak w Pterodactyl, ale bez Dockera jako twardego wymogu:

  • Web (Node.js + Vue): UI panelu i administracja między nodami.
  • Daemon (Node.js): zarządza procesami na nodzie, gada z Web po TCP/HTTPS.

Jeden Web może obsłużyć dziesiątki Daemonów na różnych maszynach. Daemon uruchamia instancje Minecrafta jako zwykłe procesy, opcjonalnie wewnątrz Dockera (przełącznik per instancja).

Co MCSManager robi dobrze:

  • Lekki: Daemon trzyma 50-150 MB RAM, Web podobnie.
  • Multi-node bez Dockera jako warstwy obowiązkowej.
  • Menedżer plików i terminal webowy z pudełka.
  • i18n: chiński, angielski, rosyjski, japoński.
  • Pluginy, mody, światy wciągasz drag-and-drop w przeglądarce.

Co bywa szorstkie:

  • Angielska dokumentacja miejscami kuleje, najlepsze poradniki dalej po chińsku.
  • Model bezpieczeństwa prostszy: procesy serwerów lecą pod tym samym uid co Daemon. Bez Dockera widzą się nawzajem w plikach.
  • Mniej integracji z biznesem (billing).

Instalacja MCSManager

Oficjalny one-liner (instaluje Web i Daemon):

sudo su -c "wget -qO- https://script.mcsmanager.com/setup.sh | bash"

Skrypt ciągnie Node.js 20+, klonuje repo, ustawia jednostki systemd mcsm-web i mcsm-daemon. Web słucha na 23333, Daemon na 24444. Wchodzisz na http://server-ip:23333, rejestrujesz admina, podpinasz lokalny Daemon tokenem.

Dla multi-node tylko Daemon na drugiej maszynie:

sudo su -c "wget -qO- https://script.mcsmanager.com/setup_daemon.sh | bash"
cat /opt/mcsmanager/daemon/data/Config/global.json | grep key

Bierzesz key, dodajesz nodę w Web po IP i tokenie.

Duża tabela porównawcza

KryteriumPterodactyl 1.xCrafty Controller 4.xMCSManager 10.x
Język/stackPHP Laravel + Go (Wings)Python (Tornado)Node.js + Vue
ArchitekturaPanel + Wings (rozdzielnie)MonolitWeb + Daemon
Multi-nodeTak, natywnieNieTak, natywnie
Docker dla serwerów gierWymaganyBrakOpcjonalny
Trudność instalacjiWysoka (10-15 kroków)Niska (jeden docker compose)Niska (jeden skrypt)
RAM panelu w idle1.5-2 GB250-400 MB100-200 MB (Web+Daemon)
Web konsolaWebSocketWebSocketWebSocket
Menedżer plikówTak, + SFTPTakTak
SFTP per serwerTak, wbudowanyNie (host SSH)Nie (host SSH)
BackupyLokalne + S3Lokalne + harmonogramLokalne + harmonogram
UX instalacji pluginówPlikamiKatalog CurseForge (4.4+)Plikami, szybki upload
RBAC/roleGranularnyGranularnyBazowy
Integracje billinguBlueprint, Pterodactyl BillingBrakBrak
2FATak, TOTPTak, TOTPTak, TOTP
Sandbox procesówDocker namespaces, cgroupsBrakOpcjonalny Docker
APIREST, udokumentowaneRESTREST
Forge/Fabric/PaperPrzez eggsPrzez typy serwerówPrzez szablony
Aktywność repo (2025-2026)WysokaWysokaWysoka
Najlepsze dopasowanieHosterzy, zespołySolo admini, domowe serweryPasjonaci, multi-node bez Dockera

UX pluginów i plików

Pterodactyl pokazuje pliki przez web file manager i SFTP per serwer. Pluginy zwykle wchodzą po SFTP do plugins/ albo przez upload w przeglądarce. W samym Panelu nie ma marketu pluginów, ale moduły zewnętrzne typu Blueprint dokładają PluginUploader.

Crafty Controller od 4.4 ma wbudowane wyszukiwanie i instalację pluginów z CurseForge przez klucz API. Wpisujesz EssentialsX, klikasz Install, jar ląduje w plugins/.

MCSManager stawia na szybkość uploadu. File manager obsługuje drag-and-drop, masowe usuwanie, rozpakowywanie zip, edytor YAML/JSON w przeglądarce. Brak katalogu, ale workflow upload-i-restart wydaje się najszybszy z trójki.

Backupy

Pterodactyl traktuje Backups jako obiekt pierwszej klasy: per serwer limit sztuk, rotacja, backend (lokalny dysk albo zgodne z S3). Snapshot z UI lub API, restore z listy.

Crafty planuje backupy przez reguły cron-podobne, ląduje w /crafty/backups, rotuje po liczbie albo wieku. Brak natywnego S3, ale można podpiąć bucket przez rclone-mount.

MCSManager robi planowane backupy per instancja lokalnie. Bez natywnego S3.

Wydajność i overhead

Na maszynie 16 GB / 8 vCPU różnica zaczyna boleć dopiero przy suficie:

  • Pterodactyl: Panel + Wings razem siedzą na 1.5-2 GB RAM w idle, plus daemon Dockera. Każdy kontener serwera dokłada ~30-50 MB overheadu na namespace.
  • Crafty Controller: 300-400 MB na panel, procesy gier lecą natywnie, bez container overhead.
  • MCSManager: 100-200 MB na Web+Daemon, procesy natywne.

Na 4-gigabajtowym domowym pudełku Pterodactyl zadusi resztę. Na VPS-ie 16+ GB różnica gubi się w szumie.

Bezpieczeństwo: na co zwracać uwagę

Pterodactyl daje najmocniejszą izolację. Każdy serwer w swoim kontenerze, własne uid, limity cgroups. RCE przez plugin na jednym serwerze nie daje atakującemu shella na całym hoście. SFTP też jest własny per Wings, nie host sshd, z prawami per użytkownik i bez dostępu do shella.

Crafty puszcza wszystkie instancje Minecrafta pod uid crafty. Jeśli atakujący wbije się przez plugin na jednym serwerze, zobaczy pliki wszystkich pozostałych serwerów tej samej instalacji Crafty. Dostęp graczy i adminów leci przez web UI z RBAC, osobnego SFTP nie ma.

MCSManager przypomina Crafty w trybie single-node, ale Daemon możesz postawić na osobnej maszynie i zyskasz izolację sieciową między nodami. Na jednej nodzie instancje widzą się nawzajem, jeśli nie włączysz Dockera per instancja.

Wspólne minimum dla całej trójki:

  • TLS na web UI obowiązkowo (Let's Encrypt).
  • 2FA dla każdego admina.
  • Ograniczenie dostępu do admina po IP (nginx albo firewall).
  • Backupy off-site.
  • Patche bezpieczeństwa wgrywać w ciągu tygodnia od release.

Kiedy który panel

Pterodactyl, jeśli:

  • Komercyjny hosting albo wewnętrzny multi-tenant od 5 użytkowników.
  • Potrzeba twardej izolacji i kwot CPU/RAM.
  • Docker i MySQL nie są problemem.

Crafty Controller, jeśli:

  • Jedna osoba albo zespół 2-3 adminów.
  • Jeden serwer, jeden VPS lub dedyk.
  • Zależy ci na prostocie i czystym UI bez dockerowego podatku.

MCSManager, jeśli:

  • 2+ nody, ale Docker nie jako podstawa.
  • Liczy się minimalny footprint Daemona.
  • Zespół ogarnia angielską doc i czasem chińskie issue.

Ekosystem i forki

Pterodactyl ma najgłębszy ekosystem dodatków z trójki. Rozszerzenia Blueprint dorzucają plugin uploader, backup do konkretnych bucketów S3, paczki tematów. Pterodactyl Billing, Paymenter i podobne moduły spinają sprzedaż serwerów gier z panelem dla resellerów. Crafty i MCSManager nie mają tego w porównywalnej formie, bo ich docelowy użytkownik to admin własnych pudełek, a nie biznes hostingowy.

Crafty stoi na aktywnej społeczności na Discordzie. Release'y idą regularnie, GitLab issue tracker działa sprawnie. Marketu pluginów w stylu Pterodactyl brak, ale dla małej ekipy wbudowane funkcje pokrywają około 95% potrzeb.

MCSManager ma najsilniejszą społeczność w Azji. Release'y są częste, GitHub tracker jest dwujęzyczny, a UX po angielsku z każdym minor release w 2025-2026 wyraźnie się poprawia. Jeśli zależy ci na absolutnie najlżejszym footprint, to jest twój panel.

Po wystawieniu na publiczny ruch

Kiedy panel stoi i instancje Minecrafta są dostępne pod play.example.com, ląduje kolejny problem: czyszczenie ruchu wchodzącego. Każda publiczna maszyna z otwartym 25565 wcześniej czy później złapie albo boty z minecraftowych skanerów (te IP, które widać w logach jak spamują \x00), albo flood UDP od znudzonego gracza. Panel izoluje procesy, ale warstwa sieciowa zostaje na serwerze. Tam właśnie pracują filtry L4/L7 (MineGuard, Cloudflare Spectrum, własne reguły nftables), siedzące między internetem a nodą. Wybór panelu nie wpływa na wybór filtra: Pterodactyl, Crafty i MCSManager równo akceptują ruch przez proxy.

FAQ

Czy mogę przemigrować z Crafty na Pterodactyl bez utraty światów?

Tak. Zatrzymujesz serwer w Crafty, kopiujesz katalog świata i server.properties przez SFTP. Tworzysz nowy serwer w Pterodactyl na pasującym egg (Paper, Fabric itd.), zatrzymujesz, wgrywasz świat i pluginy przez SFTP, startujesz. Gracze stracą tylko historię czatu, jeśli mieszka w bazie pluginu logującego, przywiązanej do starej maszyny.

Pterodactyl czy fork Pelican?

Pelican to fork po konflikcie w zespole Pterodactyl w 2024. Na początku 2026 Pelican aktywnie się rozwija, ale ekosystem (eggs, motywy, integracje billingu) jest szerszy po stronie Pterodactyl. Świeży deploy bez przywiązania do starych eggs: Pelican wart spojrzenia. Działający Ptero: brak pilnej potrzeby migracji.

Czy MCSManager jest bezpieczny mimo pochodzenia?

Kod jest otwarty na GitHubie, społeczność robiła review, release'y idą aktywnie. Znanych backdoorów nie ma. Standardowa higiena (firewall, 2FA, port 24444 nigdy w publiczny internet) obowiązuje jak przy każdym panelu.

Który panel jest najwygodniejszy do modpacków Forge/NeoForge?

Wszystkie trzy obsługują modded servery, tylko różnymi drogami. Pterodactyl wymaga egg dla Forge/NeoForge (gotowe są w pterodactyl/yolks). Crafty ma wbudowanego kreatora installera Forge. MCSManager ogarnia Forge przez szablon albo ręczny upload jara z folderem mods/.

Ile RAM realnie potrzeba pod panel + 2-3 serwery?

Komfortowo na dedyku: Pterodactyl chce minimum 16 GB (2 GB panel + Docker + 3x4 GB serwery + zapas). Crafty/MCSManager to samo wbiją w 14-15 GB.

Czy mogę trzymać panel za Cloudflare?

Web UI bez problemu. Port gry (25565) na Cloudflare Free nie jest proxowany, do UDP/Bedrock i TCP gameplay potrzebny Cloudflare Spectrum albo inny proxy lub filtr.

Niezależnie od wyboru panelu, opłaca się domknąć całą drogę: tylko IP filtra lub proxy może dotykać portu gry, a strona Java powinna wymagać BungeeGuard albo Velocity Modern Forwarding, żeby nikt nie ominął front-endu i nie spoofował IP prosto na backend. Wybierz panel pod rozmiar zespołu i poziom izolacji, a warstwę sieciową potraktuj jako osobny temat z osobną odpowiedzią.


Chroń swój serwer przed atakami DDoS

Darmowa ochrona z konfiguracją w 5 minut. 1 TB ruchu w zestawie.

Wypróbuj za darmo


Powiązane artykuły