Nejbezpečnější způsob, jak z někoho udělat admina herního serveru, je přes ID platformy - SteamID64, UUID z Minecraftu v online režimu, licenční identifikátor ve FiveM - zapsané do souboru, který můžeš upravovat jen ty, jeden řádek na osobu. Nejméně bezpečný je jedno adminské heslo, které všichni zadávají ve hře, protože se nedá dohledat, nejde ho jednomu člověku odebrat a rozšíří se dál, než čekáš. Většina her nabízí jednu z možností nebo obě; tvým úkolem je všude, kde to jde, zvolit variantu přes ID, heslo tam, kde jinak nic není, držet dlouhé, vzácně používané a pravidelně měněné, a postarat se o to, aby účty za těmi ID byly samy těžko ukradnutelné.
Tento článek je o adminských pravomocích ve hře: kdo může vyhazovat hráče, banovat, vytvářet předměty a spouštět příkazy v konzoli zevnitř hry. Účet v panelu, který server vlastní, je samostatný a větší cíl a má vlastní článek o dvoufázovém ověření na účtu v panelu. Přístup týmu do panelu bez sdílení tvého hesla popisují podúčty a nejmenší nutná oprávnění.
Tři způsoby, jak hry určují, kdo je admin#
Každá hra používá jeden ze tří modelů, někdy dva zároveň.
| Model | Příklad | Dohledatelné | Odebratelné po jednom |
|---|---|---|---|
| Seznam ID v souboru | ops.json, adminlist.txt, admins_simple.ini | Ano | Ano |
| Sdílené adminské heslo | ARK ServerAdminPassword, Palworld AdminPassword | Ne | Ne |
| Herní účet pro každého hráče | Účty v Project Zomboid | Ano | Ano |
Seznamy ID jsou ten dobrý případ. Adminský status se váže na účet na platformě, platforma tento účet už ověřila a odebrání jednoho člověka znamená smazat jeden řádek. Slabá místa jsou účet za daným ID a hry či režimy, kde se ID ve skutečnosti neověřuje.
Sdílená hesla jsou ten špatný případ. Admin je každý, kdo heslo zná, log málokdy řekne, kdo ho použil, a odebrat jednoho člověka znamená změnit heslo všem. Prozradí se navíc předvídatelnými cestami: screenshoty, streamy, zpráva vložená do špatného kanálu na Discordu, bývalý člen týmu, který si ho pořád pamatuje.
Účty pro jednotlivé hráče jsou něco mezi tím. Hra má vlastní systém jmen a hesel, takže adminská moc patří pojmenovanému účtu, ale hesla jsou jen tak silná, jak si je hráči zvolí.
Kde admini žijí, hra po hře#
| Hra | Kde se definují admini | Model |
|---|---|---|
| Minecraft (Java) | ops.json, úroveň z op-permission-level | Seznam UUID |
| Valheim | adminlist.txt | Seznam ID platformy |
| Rust | ownerid / moderatorid, uloženo do users.cfg | Seznam SteamID |
| Hry na Source | SourceMod admins_simple.ini nebo admins.cfg | Seznam SteamID |
| CS 1.6 | AMX Mod X users.ini | ID, IP nebo jméno |
| FiveM | add_principal a ACE v server.cfg | Seznam identifikátorů |
| 7 Days to Die | serveradmin.xml | Seznam ID platformy |
| ARK | ServerAdminPassword, AllowedCheaterSteamIDs.txt | Heslo nebo seznam ID |
| Palworld | AdminPassword v PalWorldSettings.ini | Sdílené heslo |
| Project Zomboid | Úroveň přístupu u účtu na serveru | Účet pro každého hráče |
| Unturned | Owner v Commands.dat, plus admin | Seznam SteamID |
Pár z nich si zaslouží poznámku.
V Rustu příkazy ownerid 76561198012345678 "Name" "reason" a moderatorid udělují dvě adminské úrovně a server.writecfg je zapíše do users.cfg ve složce cfg identity serveru. Pokud na server.writecfg zapomeneš, oprávnění po dalším restartu zmizí, což je překvapivě častý důvod hlášky „admin mi pořád mizí“.
V ARKu ti zadání enablecheats <password> do herní konzole dá admina na dobu relace. SteamID uvedená v AllowedCheaterSteamIDs.txt (v ShooterGame/Saved) dostanou admina i bez hesla. Pro tým používej soubor a heslo drž jako dlouhé tajemství, které nikdo nezadává běžně.
V Palworldu je admin příkaz /AdminPassword <password> v chatu a ve vanilla serveru neexistuje alternativa pro jednotlivé hráče. Heslo je jediná kontrola, kterou máš, takže ho udělej dlouhé, nikdy ho nepoužívej na streamu a změň ho pokaždé, když někdo z týmu odejde - zbytek najdeš v článku admin příkazy a RCON v Palworldu.
Ve 7 Days to Die leží serveradmin.xml ve složce s uloženými daty a vypisuje uživatele s úrovní oprávnění, kde 0 je nejvyšší. Formát XML se kolem verze 1.0 změnil a k ID přidává platformu, takže formát opisuj ze souboru, který si server vygeneroval, ne ze starého návodu.
Ve FiveM je admin ACE oprávnění navázané na identifikátor:
add_ace group.admin command allowadd_ace group.admin command.quit denyadd_principal identifier.fivem:1234567 group.adminadd_principal identifier.discord:123456789012345678 group.moderatorPreferuj identifikátory license:, fivem: nebo steam:. Identifikátor discord: je jen tak bezpečný jako Discord účet dotyčného, a tím se dostáváme ke skutečnému slabému místu.
Skutečným cílem je účet za ID#
Adminský seznam založený na ID problém jen přesouvá, nezbavuje se ho. Nikdo nepotřebuje tvé adminské heslo, pokud se může přihlásit jako jeden z tvých adminů.
Steam účty jsou hlavním cílem u adminů na Source, Rustu, Valheimu, ARKu a 7 Days to Die a neustále se na ně útočí phishingem. Běžné metody jsou falešné stránky pro výměny nebo turnaje, které zobrazují kopii přihlašovací stránky Steamu, odkazy typu „hlasuj pro můj tým“ a falešné zprávy „tvůj účet byl nahlášen“, které vedou na přihlašovací formulář. Člen týmu, který se přihlásí na takové stránce, předal adminská práva k tvému serveru spolu se svým inventářem.
Co vyžadovat po každém, koho uděláš adminem:
- Steam Guard s mobilním autentizátorem na účtu, jehož ID zapisuješ do seznamu. E-mailové kódy jsou lepší než nic; autentizátor je ještě lepší.
- Dvoufázové ověření na Discordu, pokud role na Discordu nesou nějakou adminskou moc nebo pokud se tým koordinuje tam. Napadený Discord účet s rolí člena týmu může ostatním pošlat přesvědčivou zprávu o „novém adminském heslu“.
- Unikátní heslo pro každý zúčastněný účet, ze správce hesel.
- Žádné sdílené účty. „Adminský Steam účet“, do kterého se přihlašují tři lidé, je sdílené heslo s přidanou námahou a obvykle nemá dvoufázové ověření, protože sdílet kód je nepohodlné.
Nic z toho nemusí být tvrdé. Udělej z toho součást vstupu do týmu, jednou vysvětli proč a při povýšení to nenápadně zkontroluj.
Admini podle jména a neověřená ID#
Některé adminské systémy umí hledat shodu podle jména hráče, a jméno je to, co hráč napíše do svého nastavení. Z adminského seznamu se tak stává hádanka.
AMX Mod X na CS 1.6 je klasický případ. users.ini přijímá jméno, IP nebo SteamID a příznaky určují, jak se záznam kontroluje:
; "name/ip/steamid" "password" "access flags" "account flags""STEAM_0:1:1234567" "" "abcdefghijkmnopqrstu" "ce""Moderator Tom" "a-long-password" "bcdefij" "a"Příznak účtu c znamená, že identita je SteamID, a e znamená, že se heslo nekontroluje, což je správná kombinace pro hráče ověřeného přes Steam. Záznam se jménem s příznakem a vyhodí každého, kdo toto jméno používá a nezadá heslo. Heslo se zadává pomocí setinfo _pw "password" v klientské konzoli (název pole pochází z amx_password_field v amxx.cfg).
Heslo přes setinfo má nepříjemnou vlastnost: hodnoty setinfo se odesílají na každý server, ke kterému se hráč připojí, a každý majitel serveru si je může přečíst. Admin, který má setinfo _pw uložené ve své konfiguraci a hraje na jiných serverech, heslo rozesílá. Preferuj záznamy se SteamID.
Je tu ještě druhý háček. SteamID je důvěryhodné jen tehdy, když ho server ověřil přes Steam. Servery, které přijímají klienty bez Steamu, nemohou ID, které klient tvrdí, ověřit, a na takových serverech se dají záznamy se SteamID zfalšovat. Pokud tvůj server na CS 1.6 přijímá hráče bez Steamu, použij pro adminy záznamy jméno plus heslo s příznakem a a hesla drž v soukromí.
Minecraft v offline režimu má stejný problém. S online-mode=false a bez proxy, která provádí ověřování, se UUID hráče odvozuje od jména, které napíše, takže kdokoli, kdo se připojí pod tvým jménem, je operátor. Offline režim je v pořádku za proxy Velocity nebo BungeeCord, která hráče ověřuje a předává jejich identitu - ale jen pokud se na backend servery nedá dostat přímo. Bezpečné uspořádání popisuje whitelist a oprávnění v Minecraftu a nahrazení hrubého statusu operátora skutečnými skupinami oprávnění najdeš v průvodci LuckPerms pro Minecraft.
Dát týmu méně než všechno#
Většina her dělá z admina jediný přepínač, ale téměř každý adminský framework nabízí úrovně a jejich využití omezuje, co může napáchat jeden napadený účet člena týmu.
- Minecraft:
op-permission-levelvserver.propertiesurčuje, co mohou operátoři, od1(obejití ochrany spawnu) po4(všechno, včetně/stop). Ještě lepší je opovat jen majitele a moderátorům dát skupinu v LuckPerms s přesně těmi příkazy, které potřebují. - Rust:
moderatoridmístoowneridpro moderátory. Owneři mohou spravovat další adminy; moderátoři ne. - SourceMod: příznaky pro každého zvlášť, takže moderátor dostane kick, ban a chat (
bcdj) bez RCon (m) nebo cheatů (n). Příznaky adminů a imunita v SourceModu pokrývají skupiny a imunitu do detailu. - FiveM: skupiny ACE s explicitním zákazem nebezpečných příkazů, jako v příkladu výše.
- 7 Days to Die: úrovně oprávnění v
serveradmin.xmla úrovně pro jednotlivé příkazy ve stejném souboru, takže moderátor na úrovni 1 může vyhodit hráče, ale nevytvářet předměty.
Princip je všude stejný: člověk, který v úterý večer hlídá chat, nepotřebuje příkazy, kterými jde smazat svět. Pro většinu komunit stačí dvě úrovně - owner a moderátor.
Rotace, odchod z týmu a odcházející člen#
Přístup, který nejde čistě odebrat, je přístup, který jsi navždy rozdal. Když někdo opouští tým, ať v dobrém, nebo ve zlém, projdi seznam týž den:
- Odeber jeho ID ze všech adminských souborů a ze všech serverů v síti. Sdílená adminská databáze (popsaná v článku globální ban systémy pro komunity) z toho dělá jednu změnu místo pěti.
- Změň každé sdílené heslo, které znal: adminské heslo do ARKu nebo Palworldu, heslo k RCON, jakékoli heslo pro připojení k serveru, jakékoli přihlášení do nástrojů. Ano, všechna, i když mu důvěřuješ.
- Odeber mu přístup jako podúčtu v panelu a jeho roli člena týmu na Discordu.
- Zkontroluj log aktivity kvůli změnám, které jeho účet provedl za posledních pár dní.
- Hledej věci, které mohl nechat za sebou: další záznam v adminském souboru pod jiným ID, naplánovanou úlohu, plugin, který nepoznáváš.
Ten pátý krok zní paranoidně, dokud poprvé nenarazíš na někoho, koho jsi odebral, a on se vrátil jako admin pod záložním účtem, protože SteamID toho účtu přidal před týdny.
Logování toho, co admini dělají#
Adminská moc bez záznamu se nedá kontrolovat ani obhájit. Když hráč řekne, že ho moderátor zneužil, chceš odpovědět logem, ne pocitem.
- SourceMod loguje adminské akce do
addons/sourcemod/logsasm_show_activityurčuje, jak se adminské akce ve hře oznamují. - Minecraft zapisuje každý příkaz spuštěný hráčem do logu serveru a pluginy jako CoreProtect zaznamenávají změny bloků a kontejnerů.
- Rust, 7 Days to Die a většina survival her loguje příkazy konzole a adminské akce do logu serveru.
- Panel vede log aktivity pro každý server, který pokrývá lidi s přístupem do panelu, ne lidi ve hře.
Uchovávej tyto logy dost dlouho na to, aby pokryly spor - o době uchování píše článek logy, které stojí za to uchovávat - a občas si je přečti, i když je všechno v pořádku. Zneužití málokdy začne něčím dramatickým.
Na RE:NODE se adminská hesla, hesla k RCON a k databázi pro nový herní server generují pro každý server zvlášť a nenechávají se na výchozí hodnotě, a konzole v panelu funguje, aniž by vystavovala RCON, což vyřazuje z oběhu jedno sdílené tajemství. Podúčtům v panelu lze dát přístup ke konzoli bez přístupu k souborům a fakturaci, takže člen týmu, který potřebuje spustit příkaz, nepotřebuje nic dalšího.
Řešení problémů s adminským přístupem#
Moje adminská práva po restartu mizí (Rust). Spustil jsi ownerid, ale ne server.writecfg. Udělej oprávnění znovu a zapiš konfiguraci.
Přidal jsem se do ops.json a nic se nestalo. Server čte ops.json při startu; použij místo toho z konzole /op <name>, nebo restartuj. Zkontroluj, že UUID je to z online režimu pro tvůj účet, ne offline.
Admin v SourceModu není rozpoznán. Formát SteamID v souboru neodpovídá tomu, co vidí server, nebo má soubor syntaktickou chybu. Zkopíruj ID z status, spusť sm_reloadadmins a v addons/sourcemod/logs zkontroluj chybu týkající se souboru.
Někdo, kdo není v týmu, má admina. Ber to jako kompromitaci, dokud se neprokáže opak. Odeber záznam, změň všechna sdílená hesla, zkontroluj log aktivity a adminské soubory na každém serveru a pokud najdeš něco, co si neumíš vysvětlit, přečti si co dělat, když ti hacknou server.
FAQ#
Je adminské heslo bezpečné, když je dost dlouhé?
Dlouhá hesla odolávají hádání, ale většina adminských hesel se ztratí tím, že se sdílí, ne že se uhodnou. Problém sdíleného hesla je, že nepoznáš, kdo ho použil, a nemůžeš ho odebrat jednomu člověku. Všude, kde hra má seznam ID, používej ten.
Mám svému spolumajiteli dát stejná práva jako sobě?
Jen pokud by ti nevadilo, že všechno smaže. Nejvyšší úroveň ve hře dej co nejméně lidem, často jen tomu, kdo server platí, a pro všechny ostatní používej úroveň moderátora.
Může hráč zfalšovat SteamID, aby získal admina?
Na serveru s ověřováním přes Steam ne. ID se při připojení ověřuje přes Steam. Zfalšovat se dá na serverech, které přijímají klienty bez Steamu, a ve hrách či režimech, které ověření platformou přeskakují, třeba v Minecraftu v offline režimu bez proxy.
Jak často mám měnit hesla k RCON a admina?
Kdykoli odejde někdo, kdo je znal, kdykoli mohla být viděna na streamu nebo na screenshotu, a jinak dvakrát třikrát za rok. Rotace jen podle kalendáře míjí okamžiky, na kterých skutečně záleží.
Potřebuju adminská práva ve hře, když mám konzoli v panelu?
Pro většinu úkolů ne. Konzole spustí jakýkoli příkaz serveru, aniž bys musel být ve hře, což je pro majitele při občasné administraci často bezpečnější cesta.




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.