RE:NODE

Návody11 min čtení

Garry's Mod: oprávnění adminů v ULX a SAM

Nastav ULX a ULib nebo SAM na serveru Garry's Mod: první superadmin, skupiny a dědičnost, omezení cílů, bany, CAMI, databáze a jak si vybrat.

1 čtenář

ULX s ULib je bezplatný a dlouhodobě zavedený admin mod pro Garry's Mod; SAM je placená alternativa, která je pro klienty lehčí a od začátku ukládá hodnosti a bany do databáze. Oba ti dají skupiny, oprávnění pro jednotlivé skupiny, bany a menu. Nastavení má u obou stejný tvar: nainstaluj addon, restartuj, prvního superadmina vytvoř z konzole serveru, protože ve hře zatím nikdo nemá práva, postav malý žebříček skupin, který dědí směrem nahoru, a každé skupině dej jen příkazy, které potřebuje - s omezením, na koho je smí použít. Rozdíl se projeví později: ULX drží data v textových souborech a SQLite na jednom serveru, pokud nepřidáš addon pro MySQL, zatímco SAM je stavěný pro více serverů sdílejících jednu databázi. Tento průvodce pokrývá oba, model oprávnění, který sdílejí přes CAMI, a chyby, kvůli kterým může moderátor zabanovat majitele.

Co admin mod dělá a jaké existují#

Garry's Mod má vestavěný jen základní pojem admina a superadmina a nic víc: žádné skupiny, žádné bany s důvodem, žádné menu. Admin mod přidává:

  • Skupiny (hodnosti) s dědičností, takže moderátor zdědí všechno, co smí důvěryhodný hráč.
  • Oprávnění pro jednotlivé příkazy a skupiny, často s limity argumentů.
  • Pravidla cílení - na koho smí skupina působit.
  • Bany s důvody, délkou a historií.
  • Menu, příkazy v chatu a příkazy v konzoli.
  • API oprávnění, které ostatní addony používají k otázce „smí tento hráč tohle?“
Admin modCenaÚložištěPoznámky
ULX + ULibZdarma, open sourceTextové soubory a SQLite serveruVýchozí volba už deset let; obrovská podpora addonů
SAMPlacenýSQLite, nebo MySQL pro sítě serverůLehčí klientské menu, stavěný pro víc serverů
FAdminSoučást DarkRPDatabáze DarkRPFajn pro malé servery DarkRP; vypni ho, když instaluješ jiný

Provozuj právě jeden. Dva admin mody se perou o stejné příkazy v chatu a stejné vestavěné admin příznaky a výsledkem jsou příkazy, které některým lidem fungují a jiným ne. Na DarkRP vypni FAdmin před instalací ULX nebo SAM - průvodce serverem DarkRP ukazuje jednořádkovou úpravu, která to udělá.

Instalace ULX a vytvoření prvního superadmina#

ULX potřebuje ULib, svou knihovnu. Oba jsou na workshopu i na GitHubu autorů; použij pro oba jeden zdroj, aby se shodovaly verze. Přidej je do kolekce z workshopu nebo je vlož do garrysmod/addons/ a restartuj. Workshop a FastDL pro Garry's Mod popisuje kolekce, pokud jsi jednu ještě nezaložil.

Na čerstvé instalaci nemá nikdo oprávnění, takže první superadmin se vytváří z konzole serveru - konzole v panelu nebo RCON - ne z chatu:

code
ulx adduser "YourName" superadminulx adduserid STEAM_0:1:12345678 superadmin

ulx adduser vyžaduje, aby byl hráč online, a páruje podle jména; ulx adduserid funguje se SteamID bez ohledu na to, jestli je online, což je bezpečnější zvyk. Jakmile jsi superadmin, ulx menu - nebo !menu v chatu - otevře XGUI, grafické menu, kde se dá udělat i všechno níže.

ULX ukládá svá data pod garrysmod/data/:

code
garrysmod/data/  ulib/groups.txt     groups, inheritance, permissions  ulib/users.txt      who is in which group  ulx/config.txt      ULX settings, executed at start  ulx/motd.txt        message of the day

Jsou to prosté textové soubory a snadno se opraví ručně, když se zamkneš venku - zastav server, uprav, spusť. Novější verze ULib drží bany v databázi SQLite serveru (garrysmod/sv.db) místo textového souboru; starší verze používaly soubor. Zálohuj složku data/ulib i sv.db.

Skupiny a dědičnost v ULX#

ULX se dodává se čtyřmi skupinami, z nichž každá dědí od té pod sebou:

code
superadmin -> admin -> operator -> user

Obvykle budeš chtít vlastní názvy a o něco delší žebříček. Skupiny vytvářej s uvedením skupiny, od které dědí:

code
ulx addgroup vip userulx addgroup moderator vipulx addgroup senioradmin adminulx groupallow moderator "ulx kick"ulx groupallow moderator "ulx gag"ulx groupallow moderator "ulx mute"ulx groupallow moderator "ulx slay"ulx groupallow moderator "ulx goto"ulx groupallow moderator "ulx bring"ulx groupdeny moderator "ulx noclip"

groupallow přidělí příkaz skupině a všemu, co od ní dědí; groupdeny ho odebere. Přiděluj na nejnižší skupině, která by příkaz mít měla, a zbytek nech na dědičnosti. ulx userallow a ulx userdeny existují pro jednorázové výjimky, ale oprávnění pro jednotlivé uživatele se později špatně auditují - raději použij skupinu.

Rozumný žebříček pro veřejný server:

SkupinaDědíTypické příkazy
user-ulx motd, ulx votemap
vipuserKosmetické výhody, rezervovaný slot
moderatorvipKick, gag, mute, slay, goto, bring, krátké bany
adminmoderatorDelší bany, změna mapy, noclip, jail
superadminadminVšechno, včetně ulx rcon a ulx luarun

Pravidla cílení: jak zabránit moderátorovi, aby zabanoval tebe#

Dědičnost rozhoduje, co skupina smí dělat. Cílení rozhoduje, na koho to smí dělat. Bez pravidla cílení může moderátor s ulx kick kicknout admina a moderátor s ulx ban zabanovat majitele. Cílové řetězce ULib to řeší:

CílVýznam
^Ty sám
*Všichni
@Hráč, na kterého se díváš
#groupČlenové přesně této skupiny
%groupČlenové této skupiny a každé skupiny, která od ní dědí
$idHráč podle SteamID nebo unikátního ID
!Neguje následující cíl

ulx setgroupcantarget nastaví omezení cílení skupiny:

code
ulx setgroupcantarget moderator !%moderatorulx setgroupcantarget admin !%admin

První řádek znamená, že moderátoři mohou cílit na kohokoli kromě moderátorů a skupin, které od nich dědí - tedy včetně adminů a superadminů. Ten jediný příkaz odstraní nejběžnější incident zneužití pravomocí štábem na serveru Garry's Mod. Nastav ho každé skupině štábu hned, jak skupina vznikne.

XGUI také umožňuje omezit argumenty příkazů pro jednotlivé skupiny, například nejdelší ban, který moderátor smí dát, nebo maximální poškození při slapu. Používej to: moderátor, který může banovat na hodinu, ale ne natrvalo, dělá méně chyb, které pak musíš vracet.

Bany, logování a každodenní příkazy#

PříkazÚčinek
ulx kick <player> [reason]Odstranit hráče
ulx ban <player> [minutes] [reason]Zabanovat online hráče; 0 je trvalý
ulx banid <steamid> [minutes] [reason]Ban podle SteamID, online i offline
ulx unban <steamid>Zrušit ban
ulx gag <player> / ulx mute <player>Zablokovat hlas / zablokovat textový chat
ulx slay, ulx slap, ulx freeze, ulx jailTresty na místě
ulx goto, ulx bring, ulx returnTeleport k hráči, teleport hráče sem, poslat zpět
ulx map <map> [gamemode]Změnit mapu, volitelně gamemode
ulx asay <message>Zpráva, kterou vidí jen admini (také @ v chatu)
ulx whoVypsat hráče s jejich skupinami

ULX zapisuje akce adminů do garrysmod/data/ulx_logs/, když je logování zapnuté, jeden soubor na den. Podle toho logu odpovíš na otázku „kdo zabanoval mého kamaráda“ i o týden později; drž ulx logFile 1 (s ulx logEvents 1 a ulx logChat 1, pokud chceš kontext) v data/ulx/config.txt a týdně ho prolistuj. Pravidla serveru, moderace a štáb popisuje, jak vést štáb, který to všechno používá konzistentně.

Rezervované sloty a výhody pro VIP

Skupina vip je místo, kam většina serverů dává výhody pro podporovatele a štamgasty, a nejčastější výhodou je rezervovaný slot. ULX si to zajišťuje sám: nastavení rezervovaných slotů žije v data/ulx/config.txt jako ulx rslotsMode, ulx rslots a ulx rslotsVisible a skupina, která slot dostane, je ta, které je přidělen přístup k rezervovanému slotu. Režimy se liší tím, zda se sloty drží prázdné pro adminy, nebo se někdo kickne, aby se uvolnilo místo; komentáře v config.txt každý z nich popisují a stojí za přečtení, než nějaký vybereš, protože režim s kickem, který uvolňuje místo, překvapí štamgasty vyhozené uprostřed kola.

Drž výhody pro VIP kosmetické nebo pohodlné. Placená skupina, která smí noclip, spawnovat zbraně nebo se vyhnout trestu, dělá z komunitního serveru pay-to-win a podle hry může také porušit pravidla vydavatele pro komunitní servery. Monetizace herního serveru v rámci pravidel popisuje, kde ta hranice leží.

Jak navrhnout žebříček štábu, který vydrží#

Oprávnění jsou ta snadná část. Aby admin nastavení vydrželo roky, rozhoduje proces kolem něj.

  1. Nové členy štábu začni na zkušební skupině. Skupina trialmod, která dědí od vip, s kick, gag, mute a ničím dalším. Povyšuj po několika týdnech dobrého úsudku, viditelného v lozích.
  2. Dej nejmenší sadu, která stačí. Každý příkaz, který moderátor nemá, je chyba, kterou udělat nemůže. Bany delší než den mohou počkat na admina.
  3. Napiš, k čemu každá skupina slouží. Jeden řádek na skupinu v kanálu štábu. Když někdo žádá o nové oprávnění, otázka se změní na „odpovídá to účelu skupiny“ místo „mám toho člověka rád“.
  4. Prohlížej logy. Deset minut týdně se čtením ulx_logs zachytí zneužití dlouho předtím, než si hráči začnou stěžovat.
  5. Odeber přístup ve stejný den, kdy někdo odejde. ulx removeuserid <steamid> ve hře, jeho subuživatel v panelu odstraněn a každé sdílené heslo - RCON, databáze - rotováno, pokud je někdy měl. Bývalý člen štábu se starým záznamem superadmina je způsob, jak se vymaže mnoho serverů.

Stejný žebříček se přímo přenáší na hodnosti v SAM, takže nic z toho nepřijde nazmar, pokud později přejdeš.

SAM: nastavení a v čem se liší#

SAM se prodává přes tržiště addonů pro Garry's Mod, instaluje se jako běžná složka addonu a licencuje se za každý nákup. Stejně jako ULX začíná bez adminů, takže první hodnost se nastavuje z konzole serveru - příkaz konzole SAM pro to je sam setrank se jménem nebo SteamID a hodností, ale zkontroluj dokumentaci své verze, kdyby se syntaxe změnila. Potom už zbytek zvládne menu ve hře.

Rozdíly, na kterých při výběru záleží:

  • Úložiště. SAM používá ve výchozím stavu SQLite a podporuje MySQL přes modul MySQLOO, takže několik serverů může sdílet hodnosti a bany z jedné databáze. ULX to umí jen s MySQL addonem třetí strany.
  • Váha pro klienta. Menu SAM je lehčí než XGUI, což pomáhá na serverech s mnoha addony, kde je načítání Lua u klienta už tak dlouhé.
  • Model. Hodnosti s oprávněními a dědičností, cílení podle imunity hodnosti místo cílových řetězců ULib. Koncepty si odpovídají; příkazy ne.
  • Ekosystém. ULX má deset let addonů psaných přímo proti němu - balíčky příkazů pro TTT, logovací addony, pluginy MOTD. SAM podporuje CAMI a má vlastní moduly pro běžné gamemody.

Pro MySQL je MySQLOO binární modul: soubor .dll v garrysmod/lua/bin/ sestavený pro platformu a větev serveru. Na 64bitové větvi serveru potřebuje 64bitové sestavení. Každý herní tarif na RE:NODE zahrnuje slot pro databázi s vygenerovaným hostem, uživatelem a heslem; než do ní přesuneš hodnosti, porovnej engine, který poskytuje, s tím, co očekává SAM nebo tvůj MySQL addon pro ULX.

smí tento hráč?ano nebo neHráčspustí příkazLibovolný addonnapř. systém dveříULX nebo SAMskupiny a hodnostiÚložištěsoubory, SQLite, MySQLCAMIsdílené API oprávnění
Jak se addony ptají na oprávnění přes CAMI

CAMI: proč je tvým addonům jedno, který zvolíš#

CAMI, Common Admin Mod Interface, je malá sdílená knihovna, která umožňuje jakémukoli addonu zaregistrovat oprávnění a ptát se, zda ho hráč má, aniž by věděl, který admin mod je nainstalovaný. ULX i SAM ji podporují. Gamemode, který přes CAMI zaregistruje „smí upravovat dveře“, se automaticky objeví jako oprávnění v XGUI nebo v menu SAM a přidělíš ho skupině jako kterýkoli jiný příkaz.

Dva praktické důsledky. Když měníš admin mod, addony s podporou CAMI dál fungují; jen znovu přidělíš jejich oprávnění v novém modu. A když členu štábu chybí funkce addonu, hledej v admin modu oprávnění, které addon zaregistroval - obvykle tam je, ve výchozím stavu přidělené jen superadminovi.

Přístup do panelu je samostatná otázka#

Admin ve hře a správa serveru jsou různé práce. Moderátor, který potřebuje po pádu restartovat server, nepotřebuje soubory, přihlašovací údaje k databázi ani fakturaci. Na RE:NODE dávají subuživatelé a role v panelu přístup jen ke konzoli, jen k souborům nebo jiné úzké sady oprávnění, s protokolem aktivity pro každý server, a přístup lze časově omezit. Spáruj to s žebříčkem ve hře: důvěryhodný admin může mít konzoli v panelu a admin v ULX, zatímco přístup k souborům a superadmina nemá nikdo kromě majitele. Subuživatelé a nejnižší nutná oprávnění obsahuje podrobnosti a zabezpečení účtů správce herního serveru popisuje ochranu samotných účtů.

Řešení potíží#

`ulx adduser` hlásí, že hráč nebyl nalezen. Je offline nebo je jeho jméno nejednoznačné. Použij ulx adduserid se SteamID.

Příkazy fungují superadminům, ale ne nové skupině. Skupina byla vytvořena bez dědění od user, nebo byl příkaz přidělen skupině, od které nedědí. Zkontroluj rodiče skupiny v XGUI.

Moderátor zabanoval admina. Žádné pravidlo cílení. Nastav ulx setgroupcantarget pro každou skupinu štábu.

Otevřou se dvě menu, nebo příkazy v chatu nic nedělají. Jsou nainstalované dva admin mody - často FAdmin na DarkRP. Jeden vypni.

Hodnosti se po restartu resetují. Do datových souborů nešlo zapisovat, nebo aktualizace z workshopu nahradila složku starého addonu. Zkontroluj časová razítka data/ulib/ a drž zálohu.

Po ruční úpravě `groups.txt` ses zamkl venku. Chybějící složená závorka nebo uvozovka způsobí, že ULib soubor zahodí a vrátí se k výchozím hodnotám, takže nikdo nemá práva. Zastav server, obnov soubor ze zálohy nebo oprav syntaxi, spusť znovu a pokud stále nemáš práva, použij z konzole ulx adduserid.

Funkce addonu pro adminy chybí členům štábu. Zaregistroval oprávnění CAMI, které má ve výchozím stavu jen superadmin. Najdi ho v seznamu oprávnění v XGUI nebo v editoru hodností SAM a přiděl ho správné skupině.

MySQLOO se nenačte. Špatné sestavení pro platformu nebo architekturu v lua/bin/. Přizpůsob modul větvi serveru.

FAQ#

Mám použít ULX, nebo SAM?

ULX, pokud provozuješ jeden server, chceš něco zdarma a spoléháš na addony psané pro ULX. SAM, pokud provozuješ několik serverů, které mají sdílet hodnosti a bany, nebo chceš lehčí klientské menu a rád za něj zaplatíš.

Jak se v ULX udělám superadminem?

Z konzole serveru, ne z chatu: ulx adduserid <your SteamID> superadmin. Příkazy ve hře vyžadují oprávnění, která ještě nemáš.

Můžu přejít z ULX na SAM bez ztráty banů?

Ano, ale je to migrace, ne přepnutí. SAM nabízí importní nástroje pro běžné admin mody; podívej se do jeho dokumentace, nejdřív zálohuj data/ulib a sv.db a vyzkoušej to na kopii.

Kde ULX ukládá skupiny a uživatele?

V garrysmod/data/ulib/groups.txt a garrysmod/data/ulib/users.txt. Nastavení ULX je v garrysmod/data/ulx/config.txt a novější verze ULib ukládají bany do garrysmod/sv.db.

Proč moji moderátoři mohou kickovat adminy?

Protože jim to ve výchozím stavu nic nebrání. Použij ulx setgroupcantarget moderator !%moderator, aby moderátoři nemohli cílit na svou vlastní skupinu ani na nikoho nad ní.


Komentáře

Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.

0/2000