Väčšina pluginov ukladá dáta do súborov vo svojom priečinku. Pre veľké dáta (história blokov v CoreProtecte) alebo na zdieľanie medzi viacerými servermi (oprávnenia LuckPerms v sieti za proxy) je lepšia databáza MySQL. Ukážeme, ako ju u nás vytvoriť, ako do nej napojiť LuckPerms a CoreProtect a ako sa k nej dostať z počítača.
Čo budete potrebovať
- Minecraft server u StormHostu s pluginom, ktorý MySQL podporuje
- Oprávnenia Databázy a Súbory, ak server nevlastníte
- Asi 15 minút
Kedy MySQL namiesto súborov#
| Situácia | Súbory (predvolené) | MySQL |
|---|---|---|
| Jeden server, bežný počet hráčov | Stačia | Nie je nutná |
| Sieť serverov za proxy Velocity so spoločnými oprávneniami | Nejde | Nutná – všetky servery musia čítať rovnaké dáta |
| CoreProtect na veľkom, dlho bežiacom serveri | Funguje, súbor rastie | Lepšia správa veľkých dát |
| Chcete dáta prezerať alebo upravovať z počítača | Zložité | Jednoduché (HeidiSQL, DBeaver) |
| Web, ktorý číta štatistiky zo servera | Nejde | Áno |
Vytvorenie databázy#
V zákazníckej zóne otvorte Moje služby, kliknite na Minecraft server a prejdite na záložku Databázy.
Do poľa Názov databázy napíšte krátky názov, napríklad
luckperms. Povolené sú písmená bez diakritiky, číslice a podčiarkovník, najviac 48 znakov.Pole Povolený prístup z ponechajte
%(pozrite nižšie).Kliknite na Vytvoriť databázu.
V zozname sa objaví nová databáza s údajmi Server, Používateľ, Povolený prístup z a Heslo.
| Údaj | Čo to je | Kam ho zadáte |
|---|---|---|
| Názov databázy (hore pri databáze) | Skutočný názov databázy. Systém k vášmu názvu môže pridať predponu. | Do poľa „database“ v plugine. Vždy kopírujte presne to, čo vidíte. |
| Server | Adresa databázového servera v tvare adresa:port. | Do poľa „host“/„address“, port do poľa „port“. |
| Používateľ | Prihlasovacie meno do databázy (vygenerované). | Do poľa „username“/„user“. |
| Heslo | Heslo (zobrazí sa po kliknutí). | Do poľa „password“. |
| Povolený prístup z | Odkiaľ sa smie k databáze pripojiť: % = odkiaľkoľvek, inak jedna IP adresa. | Nikam, iba informácia. |
Povolený prístup z
Ak zadáte konkrétnu IP adresu (napríklad svoju domácu), databáza prijme pripojenie iba z nej. Nepripojí sa potom ani váš Minecraft server, pretože sa pripája z inej adresy. Ponechajte preto % a spoľahnite sa na silné vygenerované heslo. Hodnotu po vytvorení zmeniť nemožno – musíte vytvoriť novú databázu.
Ďalšie tlačidlá:
- Nové heslo – vygeneruje nové heslo. Staré prestane fungovať, takže ho hneď zapíšte do konfigurácie všetkých pluginov, ktoré databázu používajú, a server reštartujte.
- Zmazať – zmaže databázu aj so všetkými dátami.
Zmazanie databázy
Zmazanie sa nedá vrátiť a dáta nie sú v zálohách servera. Pred zmazaním databázu exportujte (pozrite Zálohy databázy).
Počet databáz závisí od balíka. Nad zoznamom vidíte Využito 1 z 10. Keď je limit plný, uvidíte Limit je vyčerpaný. Viac pluginov môže zdieľať jednu databázu – každý používa vlastné tabuľky s vlastnou predponou (LuckPerms luckperms_, CoreProtect co_).
LuckPerms#
Už máte nastavené oprávnenia?
Po prepnutí na MySQL začne LuckPerms s prázdnou databázou. Ak už na serveri máte skupiny a oprávnenia, urobte najprv export podľa časti Prenos existujúcich oprávnení do MySQL a až potom pokračujte.
Vypnite server.
V záložke Súbory otvorte
plugins/.LuckPerms/ config. yml Nájdite
storage-methoda sekciudataa upravte ich:plugins/ LuckPerms/ YAMLconfig.yml storage-method: mysql data: address: <SERVER> database: <NAZEV_DATABAZE> username: <UZIVATEL> password: '<HESLO>'Za
<SERVER>,<NAZEV_DATABAZE>,<UZIVATEL>a<HESLO>dosaďte údaje zo záložky Databázy, vždy bez lomených zátvoriek. Pri hesle ponechajte jednoduché úvodzovky.Uložte súbor (Ctrl+S) a server spustite.
| Nastavenie | Čo robí | Odporúčaná hodnota | Kedy zmeniť |
|---|---|---|---|
storage-method | Kam LuckPerms ukladá dáta: h2 (súbor, predvolené), mysql, mariadb, yaml a ďalšie. | mysql | mariadb, ak viete, že databázový server je MariaDB (LuckPerms ju odporúča). |
data.address | Adresa databázy. Port sa zapisuje za dvojbodku (adresa:port). | Hodnota Server | Pri zmene databázy. |
data.database | Názov databázy. Musí už existovať. | Názov zo záložky Databázy | – |
data.username, data.password | Prihlasovacie údaje. | Zo záložky Databázy | Po kliknutí na Nové heslo. |
data. | Koľko spojení do databázy si LuckPerms drží. | 10 | Znížte (napríklad na 5), ak databáza hlási príliš veľa spojení. |
data. | Ďalšie parametre spojenia. | useUnicode: true, characterEncoding: utf8 | Pridajte useSSL: false pri varovaní o SSL. |
data.table-prefix | Predpona tabuliek. | 'luckperms_' | Iná predpona, keď dva servery majú mať v jednej databáze oddelené dáta. |
server (na začiatku súboru) | Názov servera pre oprávnenia platné iba na jednom serveri siete. | global | V sieti za proxy každému serveru iný (lobby, survival). |
Špeciálne znaky v hesle
Heslo vždy dávajte do jednoduchých úvodzoviek '…'. YAML by inak znaky ako #, : alebo % pochopil ako syntax. Ak heslo obsahuje apostrof ', zapíšte ho dvakrát ('').
Prenos existujúcich oprávnení do MySQL#
Ak už oprávnenia máte v pôvodnom úložisku, preneste ich:
Ešte pred zmenou
storage-methodzadajte v konzole:text lp export zaloha-opravnenilp export– uloží všetky dáta LuckPerms do súboru.zaloha-opravneni– názov súboru. Vznikneplugins/.LuckPerms/ zaloha-opravneni. json. gz
Vypnite server, zmeňte
config.ymlpodľa postupu vyššie a server spustite.V konzole zadajte:
text lp import zaloha-opravneni.json.gzNázov súboru píšte aj s príponou
.json.gz. Dáta sa nahrajú do novej databázy.
CoreProtect#
Vypnite server.
V záložke Súbory otvorte
plugins/a upravte:CoreProtect/ config. yml plugins/ CoreProtect/ YAMLconfig.yml use-mysql: true table-prefix: co_ mysql-host: <ADRESA> mysql-port: <PORT> mysql-database: <NAZEV_DATABAZE> mysql-username: <UZIVATEL> mysql-password: '<HESLO>'Údaj Server zo záložky Databázy rozdeľte: časť pred dvojbodkou patrí do
<ADRESA>, číslo za dvojbodkou do<PORT>.Uložte a server spustite.
| Nastavenie | Čo robí | Odporúčaná hodnota | Kedy zmeniť |
|---|---|---|---|
use-mysql | Ukladá históriu do MySQL namiesto súboru. | true | false na návrat k súboru. |
table-prefix | Predpona tabuliek CoreProtectu. | co_ | Keď v jednej databáze beží CoreProtect viacerých serverov. |
mysql-host | Adresa databázy bez portu. | Časť Server pred dvojbodkou | – |
mysql-port | Port databázy. | Časť Server za dvojbodkou | – |
mysql-database, mysql-username, mysql-password | Názov databázy a prihlasovacie údaje. | Zo záložky Databázy | Po kliknutí na Nové heslo. |
Stará história sa neprenesie
Prepnutím na MySQL začne CoreProtect novú históriu. Doterajšie záznamy zostanú v súbore v priečinku plugins/CoreProtect, ale v MySQL nebudú. Prepínajte preto hneď na začiatku, nie po roku prevádzky.
Novšie verzie CoreProtectu (od verzie 25) majú namiesto use-mysql kľúč database-type. Ak ho v súbore vidíte, nastavte database-type: mysql – má prednosť pred use-mysql.
Ostatné pluginy#
Konfigurácia sa líši, ale polia sú takmer vždy rovnaké:
| Pole v konfigurácii pluginu | Čo zadať |
|---|---|
host, hostname, address | Adresa z údaja Server (bez portu, ak je na port osobitné pole). |
port | Port z údaja Server. |
database, db-name | Názov databázy. |
username, user | Používateľ. |
password | Heslo (v úvodzovkách). |
useSSL, ssl | false, ak plugin hlási problémy s SSL. |
jdbc-url, url | Celá adresa v tvare jdbc: (pri ovládači MariaDB jdbc:mariadb://…). |
Po úprave vždy reštartujte server. Príkaz /reload pluginy s databázou často rozbije.
Prístup z počítača#
Databázu môžete prezerať a upravovať v počítači. Funguje to, ak má Povolený prístup z hodnotu %.
Windows
- Nainštalujte HeidiSQL z heidisql.com (otvorí sa v novom okne).
- V okne správcu relácií kliknite na New.
- Ako Network type zvoľte MariaDB/MySQL (TCP/IP).
- Do Hostname / IP zadajte adresu, do Port port (z údaja Server), do User a Password prihlasovacie údaje.
- Kliknite na Open.
macOS
- Nainštalujte DBeaver Community z dbeaver.io (otvorí sa v novom okne).
- Zvoľte Database › New Database Connection a typ MySQL (alebo MariaDB).
- Vyplňte Server Host, Port, Database, Username a Password.
- Kliknite na Test Connection a potom na Finish.
Linux
Použite DBeaver Community z dbeaver.io (otvorí sa v novom okne) (postup ako na macOS), alebo klienta v termináli. Na Ubuntu a Debiane ho nainštalujete príkazom apt install mariadb-client a pripojíte sa takto:
mariadb -h <ADRESA> -P <PORT> -u <UZIVATEL> -p <NAZEV_DATABAZE>mariadb– klient pre MariaDB aj MySQL.-h <ADRESA>– adresa databázového servera.-P <PORT>– port (veľké P).-u <UZIVATEL>– používateľ.-p– program sa opýta na heslo (nepíše sa do príkazu, aby nezostalo v histórii).<NAZEV_DATABAZE>– databáza, s ktorou chcete pracovať.
Novší klient MariaDB (od verzie 11.4, napríklad na Debiane 13) v predvolenom stave overuje certifikát databázového servera. Ak pripojenie skončí chybou s TLS/SSL error a zmienkou o certifikáte, pridajte za mariadb prepínač --disable-ssl-verify-server-cert (klient potom certifikát servera nekontroluje). Ak chyba uvádza, že server SSL nepodporuje, použite namiesto neho prepínač --disable-ssl.
Opatrne s úpravami
Dáta nemeňte, keď server beží – pluginy si časť dát držia v pamäti a vašu zmenu prepíšu. Pred ručnými úpravami vždy urobte export.
Zálohy databázy#
Zálohy v záložke Zálohy obsahujú iba súbory servera, databázy v nich nie sú. Exportujte ich zvlášť:
- V HeidiSQL sa pripojte k databáze (pozrite vyššie).
- Vľavo kliknite na databázu a zvoľte Tools › Export database as SQL.
- Zaškrtnite vytvorenie tabuliek aj dáta, zvoľte výstup do súboru
.sqla kliknite na Export.
Obnova: v HeidiSQL vyberte databázu a zvoľte File › Run SQL file. Pri LuckPerms máte navyše vlastnú zálohu príkazom lp export <NAZEV_SOUBORU>.
Overenie#
- LuckPerms: v konzole zadajte
lp info. V častiStoragemusí byťType: MySQL(aleboMariaDB). - CoreProtect: v konzole zadajte
co status. Uvidíte riadokDatabase: Using MySQL. - V HeidiSQL alebo DBeaveri uvidíte v databáze nové tabuľky (
luckperms_…,co_…).
Keď niečo nefunguje#
Communications link failure alebo Unable to connect to MySQL server.#
Plugin sa k databáze vôbec nedostal (druhú hlášku vypisuje CoreProtect). Skontrolujte adresu a port (údaj Server, presne vrátane čísla za dvojbodkou). Pri CoreProtecte musia byť adresa a port v samostatných poliach. Ak všetko sedí, databázový server môže byť dočasne nedostupný – skúste to o chvíľu, prípadne napíšte podpore.
Access denied for user '…'@'…' (using password: YES)#
Databáza odmietla meno alebo heslo:
- Heslo ste medzitým zmenili tlačidlom Nové heslo a v plugine je staré.
- Heslo obsahuje špeciálne znaky a nie je v úvodzovkách.
- Povolený prístup z obsahuje konkrétnu IP adresu, z ktorej sa server nepripája. Vytvorte novú databázu s
%.
Unknown database '…'#
Názov databázy nesedí. Skopírujte ho presne zo záložky Databázy vrátane prípadnej predpony.
Varovanie Establishing SSL connection without server's identity verification is not recommended#
Ide o varovanie ovládača MySQL. Pri LuckPerms do data. pridajte useSSL: false a verifyServerCertificate: false, pri iných pluginoch nájdite voľbu useSSL.
Connection is not available, request timed out after 5000ms#
LuckPerms nedostal spojenie z poolu. Databáza je nedostupná, alebo je vyčerpaný počet spojení. Každý server s LuckPerms si v predvolenom stave drží 10 spojení – ak ich na databázu mieri viac (sieť serverov, ďalšie pluginy), znížte maximum-pool-size.
No operations allowed after connection closed#
Databáza uzavrela nečinné spojenie skôr, než ho plugin obnovil. Pri LuckPerms musí byť maximum-lifetime (v milisekundách) kratší než časový limit databázy. Predvolených 30 minút zvyčajne vyhovuje.
Zhrnutie
- Databázu vytvoríte v záložke Databázy, Povolený prístup z ponechajte
%. - Údaje kopírujte presne, heslo v YAML dávajte do jednoduchých úvodzoviek.
- LuckPerms:
storage-method: mysqla sekciadata, staršie dáta prenesiete cezlp exportalp import. - CoreProtect:
use-mysql: true, adresu a port zadajte zvlášť, stará história sa neprenesie. - Databázy nie sú v zálohách servera – exportujte ich zvlášť (HeidiSQL).