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 mod | Cena | Úložiště | Poznámky |
|---|---|---|---|
| ULX + ULib | Zdarma, open source | Textové soubory a SQLite serveru | Výchozí volba už deset let; obrovská podpora addonů |
| SAM | Placený | SQLite, nebo MySQL pro sítě serverů | Lehčí klientské menu, stavěný pro víc serverů |
| FAdmin | Součást DarkRP | Databáze DarkRP | Fajn 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:
ulx adduser "YourName" superadminulx adduserid STEAM_0:1:12345678 superadminulx 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/:
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 dayJsou 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:
superadmin -> admin -> operator -> userObvykle budeš chtít vlastní názvy a o něco delší žebříček. Skupiny vytvářej s uvedením skupiny, od které dědí:
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:
| Skupina | Dědí | Typické příkazy |
|---|---|---|
user | - | ulx motd, ulx votemap |
vip | user | Kosmetické výhody, rezervovaný slot |
moderator | vip | Kick, gag, mute, slay, goto, bring, krátké bany |
admin | moderator | Delší bany, změna mapy, noclip, jail |
superadmin | admin | Vš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íl | Vý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í |
$id | Hráč podle SteamID nebo unikátního ID |
! | Neguje následující cíl |
ulx setgroupcantarget nastaví omezení cílení skupiny:
ulx setgroupcantarget moderator !%moderatorulx setgroupcantarget admin !%adminPrvní řá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 jail | Tresty na místě |
ulx goto, ulx bring, ulx return | Teleport 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 who | Vypsat 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.
- Nové členy štábu začni na zkušební skupině. Skupina
trialmod, která dědí odvip, s kick, gag, mute a ničím dalším. Povyšuj po několika týdnech dobrého úsudku, viditelného v lozích. - 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.
- 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“.
- Prohlížej logy. Deset minut týdně se čtením
ulx_logszachytí zneužití dlouho předtím, než si hráči začnou stěžovat. - 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.
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.