- PEX via MySQL - Základy (1.díl)
- PEX via MySQL - Migrace (2.díl)
Základy
Požadavky:
- schopnost nainstalovat PEX - viewtopic.php?f=85&t=4180
- přístup k databázi
- chuť naučit se něco nového a vylepšit svůj server
Výhody:
- dynamické přidávání/odebírání pravomocí přes různé PHP scripty
- už žádné chyby kvůli špatnému zápisu do souboru
Nevýhody:
- na začátek možná nepřehledné, ve výsledku ovšem 1000x lepší
Budu tedy předpokládat, že máte nainstalovaný PEX a že máte přístup do DB.
Pokud umíte základy SQL/MySQL. tak není co řešit. Pokud neumíte, tak se taky ničeho nemusíte bát - můžete využít grafické rozhraní jakým je např. PhpMyAdmin.
1.krok
- do config.yml dejte vložte toto a upravte si to dále podle sebe
Kód: Vybrat vše
permissions:
basedir: plugins/PermissionsEx
backend: sql
backends:
sql:
driver: mysql
uri: mysql://adresa_vasi_db
user: jmeno_uzivatele
password: heslo
superperms:
disable-unmatched: false
enable: true
matched-permissions: true
debug: false
raw-permissions: true
strict-mode: false
parent-nodes: true
createUserRecords: false
allowOps: true
debug: false
2.krok
- reload/restart serveru
V databázi byste teď měli mít něco takového
Spoiler: zobrazit
K čemu jaký table slouží?
- permissions - přiřazení pravomocí k hráči/skupině (více v další kapitole)
- permissons_entity - seznam všech skupin (více v další kapitole)
- permissions_inheritance - kdo patří do jaké skupiny (více v další kapitole)
To je z instalace vše.
Teď se podíváme blíže na funkce daných tabulek.
Tabulka permissions
Vkládání nových záznamů
Spoiler: zobrazit
- kolonky "id" si nevšímáme - hodnota se sama vyplní a určuje pořadí záznamu
- do kolonky "name" píšeme název skupiny/hráče pro které přidáváme práva
- kolonka "type" slouží k určení, jestli přidáváme práva skupině a nebo hráči.
- když chci nastavit třeba fly pro hráče Qentus tak napíšu číslo 1
- když chci nastavit fly pro skupinu Admin, tak napíšu číslo 0
- do kolonky "world" napíšeme pro jaké světy to má platit (můžeme napsat jen 1 svět - pro více světů potřebujeme více záznamů)
- pokud to má být globálně, tak necháme políčko prázdné
- většinou necháváme prázdné
Spoiler: zobrazit
Přidal jsem ještě skupině Admin práva na /gamemode a když se teď podíváme na obsah tabulky tak uvidíme toto:
Spoiler: zobrazit
To je asi tak vše k tabulce "permissions". Samozřejmě tam můžete mazat, upravovat atd....
Tabulka permissions_entity
- v configu doporučuji nastavit:
Kód: Vybrat vše
createUserRecords: false
- databáze bude přehlednější
Podobně jako nahoře zde popíšu k čemu jaká kolonka slouží:
- "name" - jméno skupiny/hráče
- "type" - jako minule - jednička pro hráče, nula pro skupinu
- "prefix" - co má mít napsané před jménem
- "sufix" - co má mít za jménem
- "default" - nastavujeme hodnotu 0 nebo 1
- pro skupinu kterou má dostat každý hráč při registraci napíšeme jedničku
Tabulka permissions_inheritance
- zde nastavujeme, kdo má patřit do jaké skupiny
- "child" - jméno hráče
- "parent" - jméno skupiny, kterou cheme hráči přidělit
- "type" - pro základy postačí hodnota 1 (o tomto se více rozepíšu v dalším návodu)
- "world" - jako obvykle - pro který svět má skupina platit
- necháme prázdné pokud to má být globálně
To je k základům vše. Přeji příjemnou zábavu
Samozřejmě zde můžete psát vaše dotazy.
Je velká šance, že jsem něco zapomněl/přehlídl, takže mě můžete opravit
PS. : brzy zde ještě připíšu vychytávky pro pokročilé, které vám usnadní život