LuckPerms na Velocity i BungeeCord
LuckPerms na proxy to kluczowy element sieci serwerów Minecraft. Synchronizuje rangi, uprawnienia i prefixy między wszystkimi serwerami w sieci przez wspólną bazę danych. Obsługuje konteksty per serwer i web editor do zarządzania uprawnieniami.
Po co LuckPerms na proxy
Na pojedynczym serwerze LuckPerms zarządza uprawnieniami lokalnie. Na sieci wieloserwerowej (Velocity lub BungeeCord) sprawa się komplikuje: gracz ma rangę VIP, ale ta ranga musi działać na lobby, survival, minigach i każdym innym serwerze w sieci.
Bez centralnej synchronizacji musiałbyś ręcznie ustawiać rangi na każdym serwerze osobno. LuckPerms rozwiązuje ten problem - wszystkie instancje (proxy + backendy) łączą się ze wspólną bazą danych MySQL/MariaDB i automatycznie synchronizują dane uprawnień.
Dodatkowo LuckPerms na proxy zarządza uprawnieniami specyficznymi dla proxy - np. kontrola dostępu do komend /server, /alert, /end i pluginów zainstalowanych na instancji proxy.
Architektura sieciowa
W sieci serwerów LuckPerms instalujesz na dwóch warstwach:
- Proxy (Velocity/BungeeCord) - wersja proxy LuckPerms, zarządza uprawnieniami proxy-side
- Backendy (Paper/Spigot) - standardowa wersja LuckPerms na każdym serwerze, zarządza uprawnieniami in-game
Obie warstwy łączą się z tą samą bazą danych. Dzięki temu ranga nadana na lobby natychmiast działa na survival i odwrotnie. Gracz nie musi się nawet przelogowywać.
| Warstwa | Wersja LP | Przykładowe uprawnienia |
|---|---|---|
| Proxy | LuckPerms-Velocity / LuckPerms-Bungee | bungeecord.command.server, velocity.command.send |
| Lobby | LuckPerms-Bukkit | essentials.fly, worldedit.wand |
| Survival | LuckPerms-Bukkit | essentials.home, mcmmo.commands.party |
Instalacja na sieci
Konfiguracja LuckPerms na sieci wymaga bazy danych MySQL lub MariaDB. Kroki:
- Utwórz bazę danych MySQL:
CREATE DATABASE luckperms; - Pobierz odpowiednią wersję z luckperms.net - osobno dla proxy i backendów
- Na proxy zainstaluj wersję Velocity lub BungeeCord
- Na każdym backendzie zainstaluj wersję Bukkit
- Skonfiguruj bazę danych identycznie na wszystkich instancjach
Fragment konfiguracji bazy danych (config.yml):
storage-method: MySQL
data:
address: 127.0.0.1:3306
database: luckperms
username: luckperms
password: twoje_haslo
pool-settings:
maximum-pool-size: 10 Ten sam blok konfiguracji musi być na proxy i na każdym serwerze backendowym. Wszystkie instancje łączą się z tą samą bazą.
Konteksty - uprawnienia per serwer
Konteksty pozwalają przypisywać uprawnienia tylko na konkretnym serwerze. Przykład: gracz ma uprawnienie do latania na lobby, ale nie na survival.
/lp user Gracz permission set essentials.fly true server=lobby
/lp user Gracz permission set essentials.fly true server=creative
/lp group vip permission set essentials.kit.vip true server=survival Konteksty serwera pobierają nazwę z konfiguracji Velocity/BungeeCord (sekcja [servers]). Uprawnienia bez kontekstu działają globalnie na wszystkich serwerach w sieci.
Rekomendacja: globalne uprawnienia (chat, basic commands) nadawaj bez kontekstu. Uprawnienia specyficzne (fly na lobby, kit na survival, worldedit na creative) nadawaj z kontekstem serwera.
Synchronizacja i messaging
Domyślnie LuckPerms synchronizuje dane co 3 minuty (polling). Na sieci to za wolno - zmiana rangi mogłaby nie działać przez minuty. Rozwiązanie to messaging service:
- Plugin messaging - używa kanałów BungeeCord/Velocity, nie wymaga dodatkowego oprogramowania. Najłatwiejszy w konfiguracji
- Redis - najszybszy, wymaga serwera Redis. Rekomendowany dla dużych sieci (100+ graczy)
- SQL - polling na bazie danych, najprostszy ale najwolniejszy
# Włączenie messaging przez plugin messaging
messaging-service: pluginmsg Z messaging service zmiany uprawnień propagują się natychmiast na wszystkie serwery w sieci. Gracz dostaje nową rangę i natychmiast widzi efekty na każdym serwerze.
Wskazówki dla sieci
- Web editor na proxy - uruchom
/lp editorz konsoli proxy, aby edytować zarówno uprawnienia proxy jak i backendów w jednym interfejsie - Nie dawaj grupie default uprawnień proxy - zwykli gracze nie powinni mieć dostępu do komend typu /server czy /alert
- Prefixy w chacie - LuckPerms zarządza prefixami rang. Na sieciach z EssentialsX Chat prefixy aktualizują się automatycznie po zmianie rangi
- Oddzielna grupa staff - stwórz grupę moderatorów z uprawnieniami proxy (kick, ban, /server) i grupę adminów z pełnym dostępem
- Backup bazy danych - rangi i uprawnienia setek graczy są w MySQL. Regularny backup jest krytyczny
Powiązane: LuckPerms (podstawy), Velocity, BungeeCord.