Globální systém banů je jeden společný ban list, ze kterého čte několik serverů. Obvykle jde o databázi, plugin na každém serveru a často i webový panel pro staff. Pro vlastní síť serverů je to skoro nezbytnost, jakmile jich provozuješ víc než dva: jeden ban platí všude, jeden unban ho zruší všude a záznam leží na jednom místě. Sdílení banů s jinými komunitami je něco jiného - je to rozhodnutí s reálnými riziky, protože spolu s jejich cheatery přebíráš i jejich chyby a osobní spory. Funguje to jen se shodnými standardy důkazů, s rozsahem omezeným na cheating a s možností odvolání.
Tento článek pokrývá obojí: nástroje pro jednotlivé rodiny her, zapojení sdílené databáze, co se pokazí a jaká pravidla dělají sdílení mezi komunitami použitelným. Mechaniku banování a důkazů na jednom serveru najdeš v článku jak řešit cheatery a ban listy.
Dva různé problémy pod jedním názvem#
Pojem „globální bany“ se používá pro dvě dost odlišná nastavení a pomáhá je držet od sebe.
| Tvoje vlastní síť | Mezi komunitami | |
|---|---|---|
| Kdo uděluje bany | Tvůj staff | Několik nezávislých týmů |
| Důvěra | Důvěřuješ vlastnímu postupu | Důvěřuješ postupům cizích lidí |
| Rozsah | Jakékoli pravidlo na tvých serverech | Obvykle jen cheating |
| Odvolání | Tvůj postup | Musí se dohodnout napříč skupinami |
| Nástroje | Ban plugin se sdílenou databází | Odebírané seznamy, sdílené databáze |
První případ je provozní pohodlí s minimem nevýhod. Druhý je rozhodnutí o pravidlech a technika je u něj to snazší.
Existuje i třetí druh, který nemáš pod kontrolou: globální bany od výrobce anti-cheatu a vývojáře hry, které platí na všech serverech dané hry. Ty rozebírá článek BattlEye a Easy Anti-Cheat na serverech.
Jak sdílený systém banů funguje#
Každý sdílený systém banů má stejnou stavbu. Na každém herním serveru běží plugin, který připojující se hráče ověřuje proti centrálnímu úložišti a nové bany do něj zapisuje. Staff spravuje bany pomocí příkazů ve hře, webového panelu, nebo obojího.
Při výběru záleží na třech vlastnostech:
- Co se stane, když je databáze nedostupná. Dobrý plugin bany cachuje lokálně a dál je vynucuje; slabý pustí dovnitř všechny, dokud se databáze nevrátí.
- Jestli se bany kontrolují jen při připojení, nebo se na servery posílají živě. Živé posílání znamená, že hráč zabanovaný na jednom serveru je z druhého odstraněn okamžitě, ne až při dalším připojení.
- Jaké identifikátory ukládá. Minimálně ID účtu; IP adresy pro odhalování alternativních účtů; historii, aby byly vidět i zrušené bany.
Celá síť, nebo jeden server
Ne každý ban by měl hráče následovat všude. Hráč, který porušuje pravidla stavění na tvém creative serveru, může být na PvP serveru naprosto vítaný, a ban za spawn-camping na deathmatch serveru nic neříká o jeho chování v kooperativní kampani. Několik níže uvedených nástrojů umí omezit ban na jeden server nebo skupinu serverů místo celé sítě; kde to nejde, veď si samostatný lokální ban list pro pravidla, která dávají smysl jen na jednom serveru.
Rozumné rozdělení pro většinu sítí:
- Celá síť: cheating, obcházení banů, výhrůžky, doxxing, nenávistné projevy, cokoli, kvůli čemu by někoho vyhodili i z Discordu tvé komunity.
- Jeden server: pravidla vázaná na herní mód, mapu nebo kulturu konkrétního serveru.
Rozdělení napiš staffu. Bez něj se výchozím stane „zabanovat všude“ a drobné porušení pravidel na jednom serveru vyřadí štamgasta ze všeho, co provozuješ.
Source hry: SourceBans++#
Na hrách se Source enginem se SourceModem - Team Fortress 2, Garry's Mod, Left 4 Dead 2, Counter-Strike: Source a další - je standardem SourceBans++. Je to udržované pokračování původního SourceBans a má tři části: webový panel v PHP, databázi a sadu pluginů pro SourceMod. Hlavní plugin obsluhuje bany, doplňkové pluginy blokování komunikace (gag a mute) a synchronizaci adminů, a existuje i volitelný, který označí připojující se hráče, jejichž IP odpovídá zabanovanému účtu.
Každý herní server se k databázi připojuje přes soubor SourceModu databases.cfg:
"Databases"{ "driver_default" "mysql" "sourcebans" { "driver" "default" "host" "db-host-from-your-panel" "database" "sourcebans" "user" "generated-user" "pass" "generated-password" "port" "3306" }}Každý server navíc potřebuje vlastní ID serveru, nastavené v konfiguračním souboru pluginu v configs/sourcebans/, odpovídající serveru, který jsi přidal ve webovém panelu. Potom sm_ban na kterémkoli serveru zapíše do sdílené databáze a ban platí na všech serverech.
SourceBans++ pro webový panel i pluginy očekává databázi kompatibilní s MySQL, takže si tento požadavek ověř u databáze, kterou máš, ještě před začátkem.
SourceMod má také vlastní adminský systém postavený na databázi, což je jednodušší volba, pokud chceš sdílet adminy místo banů: plugin admin-sql-threaded čte adminy a skupiny z databáze definované jako "admins" v databases.cfg, takže povýšení nebo odebrání člena staffu je jedna změna pro celou síť. Oprávnění, která tito admini používají, popisuje příznaky adminů a immunity v SourceModu.
Minecraft: jeden ban plugin, jedna databáze#
Minecraftová síť má obvykle před několika backend servery proxy (Velocity nebo BungeeCord). Ban pluginy to řeší jedním ze dvou způsobů: jsou nainstalované na proxy, kde ban zastaví hráče dřív, než se dostane na jakýkoli backend; nebo jsou na každém backendu se sdílenou databází. Instalace na proxy je jednodušší a hůř se obchází, pokud na backendy nejde přistupovat přímo.
| Plugin | Licence | Úložiště | Poznámky |
|---|---|---|---|
| LiteBans | Placený | Lokální soubor nebo SQL databáze | Hodně používaný, k dispozici webové rozhraní |
| LibertyBans | Zdarma, open source | Lokální soubor nebo SQL databáze | Moderní, důsledný v konzistenci dat |
| AdvancedBan | Zdarma, open source | Lokální soubor nebo SQL databáze | Jednodušší sada funkcí |
Každý z nich dokumentuje, které databázové systémy podporuje; přečti si to dřív, než databázi vytvoříš, protože ne každý plugin podporuje každý systém. Všechny tři umí dočasné bany s délkou, mute, varování, důvody a historii, což je hlavní důvod, proč opustit vanilla banned-players.json i na jediném serveru. Většina umí importovat z vanilla souborů i jeden z druhého, takže začni s vanilla seznamem a migruj.
Ban plugin spouštěj tam, kde se hráči připojují. V síti je to proxy plus databáze, kterou mohou číst i backendy, pokud backendový plugin potřebuje informace o banech. Uspořádání sítě popisuje síť Minecraft s proxy Velocity a připojení pluginů k databázi MySQL pro pluginy Minecraftu.
Rust, DayZ, Arma a další hry spravované přes RCON#
Mnoho survivalových a vojenských her se spravuje přes RCON, ne přes pluginový framework ve hře, a běžným nástrojem pro sdílené bany je tady BattleMetrics. Jeho RCON služba se připojí k tvým serverům, zaznamenává hráče a jejich identifikátory a drží bany v ban listech, které použiješ na jeden nebo více svých serverů. Organizace může svůj ban list sdílet s jinou organizací nebo si cizí odebírat, čímž si bany vyměňuje spousta komunit kolem Rustu a DayZ. Bany na seznamu služba vynucuje přes RCON, když se připojí odpovídající hráč.
Nevýhodou je, že tvoje data o banech i přístup přes RCON jsou u služby třetí strany. Pro mnoho komunit je to rozumný kompromis, ale znamená to, že heslo k RCON drží ta služba a kdokoli z tvé organizace s příslušným oprávněním tam může zasahovat do tvých serverů. S jejími účty nakládej stejně jako s panelem: dvoufázové ověření, nejnižší nutná oprávnění a odebrání přístupu, když někdo odejde. Stranu RCON pokrývá bezpečné používání RCON.
V Rustu nabízejí pluginové frameworky i ban pluginy s databází, pokud chceš data držet u sebe. U her s BattlEye je lokální bans.txt jen pro daný server, takže sdílení vyžaduje nástroj, který zapisuje stejné bany na každý server.
Některé hry mají vestavěný seznam podle URL. Nastavení Palworldu obsahuje BanListURL, seznam, který server stahuje přes HTTP; výchozí hodnota míří na seznam vývojáře. Než ji změníš, zjisti, jaká je výchozí hodnota ve tvé verzi, a uvědom si, že nasměrování na vlastní soubor nahradí vše, co výchozí seznam poskytoval.
Sdílení s jinými komunitami#
Výměna banů s jinými majiteli serverů zní jako samozřejmá kolektivní obrana. V praxi selhává předvídatelnými způsoby a komunity, kterým to funguje, se na pravidlech dohodnou předem.
Způsoby selhání:
- Jeden špatný admin otráví každý seznam. Moderátor z jiné komunity zabanuje svého bývalého kamaráda za „cheating“; ban dorazí na tvoje servery se stejnou vahou jako ten skutečný.
- Různé standardy důkazů. Tvoje komunita banuje na základě nahraných dem, jejich na základě hlášení v chatu.
- Rozšiřování rozsahu. Bany za toxicitu, porušení pravidel specifických pro jeden server nebo za „drama“ prosakují do seznamu určeného pro cheatery.
- Žádná cesta k odvolání. Neprávem zabanovaný hráč je vyřazen z tuctu serverů a nemá se koho zeptat.
- Odveta. Spor mezi komunitami se zvrhne v hromadné bany hráčů druhé strany.
Pravidla, díky kterým to funguje:
- Sdílej jen bany za cheating. Porušení pravidel závislých na pravidlech konkrétního serveru zůstává lokální.
- U každého sdíleného banu vyžaduj důkaz uložený tam, kde ho ostatní strany mohou zkontrolovat: demo, nahrávka, výřez z logu.
- Dohodněte cestu k odvolání, normálně k té komunitě, která ban udělila, se závazkem zrušit bany, které nelze podložit.
- Odebírej jen pro čtení, kde to jde, a importované bany před vynucením zkontroluj, pokud to nástroj umožňuje.
- Zachovej si možnost přepsat. Hráče musíš na svých serverech umět odbanovat bez ohledu na sdílený seznam.
- Drž skupinu malou. Tři komunity, jejichž majitelé se znají, sdílejí bany dobře. Třicet cizích lidí ne.
Pak to provozuj jako sdílený zdroj, ne jako kanál, který jednou nastavíš a zapomeneš. Urči jednoho kontaktního člověka z každé komunity pro spory. Čas od času si importované bany prohlédni: kolik jich je, která komunita je udělila a jestli důvody pořád splňují dohodnutý standard. Pokud bany některého partnera začnou vypadat nedbale - mnoho banů, chabé důkazy, odvolání, na která nikdo neodpovídá - přestaň jeho bany importovat dřív, než se z toho stane tvůj problém, a řekni mu proč. Odejít z dohody by mělo být stejně snadné jako do ní vstoupit a dohoda by měla říkat, co se stane s už importovanými bany, když komunita odejde: obvykle zůstanou a rušení probíhá jednotlivě na základě odvolání.
Soukromí a právní stránka#
Ban list jsou osobní údaje: ID účtů, často IP adresy, čas a obvinění. Jejich sdílení s dalšími lidmi je další použití těchto dat. U party kamarádů to sotva záleží; u komunity jakékoli velikosti, a zvlášť v EU nebo s hráči z EU, ano.
Praktické minimum:
- Sdílej co nejméně. ID účtu a kategorie („cheating, potvrzeno demem“) obvykle stačí. Logy chatu, skutečná jména a IP adresy jen zřídka potřebují opustit tvé servery.
- Uveď v pravidlech serveru nebo v zásadách ochrany soukromí, že bany za cheating mohou být sdíleny s partnerskými komunitami.
- Nech propadnout to, na čem už nezáleží. Staré dočasné bany a zrušené bany není třeba sdílet donekonečna.
- Buď přesný. Zveřejnit někoho jako cheatera, když jím nebyl, je jiný druh problému než nesprávný lokální ban.
Základy podrobněji rozebírá soukromí na herních serverech a data hráčů.
Kde hostovat databázi#
Databáze banů musí být dosažitelná z každého serveru, který ji kontroluje, spolehlivá a zálohovaná. Několik možností:
- Databázový slot v herním tarifu. Každý herní tarif RE:NODE obsahuje jeden databázový slot, vytvářený v panelu s vygenerovaným hostem, uživatelem a heslem a tlačítkem „Open in phpMyAdmin“ pro rychlou kontrolu. Pro malou síť je to často vše, co potřebuješ, pokud plugin daný databázový systém podporuje.
- Vyhrazený databázový server. Databázové řady RE:NODE jsou PostgreSQL a MongoDB, což sedí ban pluginům podporujícím PostgreSQL. Připojení z herního serveru popisuje vzdálené připojení k PostgreSQL.
- Služba třetí strany, například BattleMetrics, která data drží za tebe.
Ať zvolíš cokoli, zálohuj ji odděleně od herních serverů. Síť, která přijde o databázi banů, přijde najednou o roky moderování a první, kdo si toho všimne, jsou ti zabanovaní. Postup popisují zálohy a obnovy databáze a platí tu stejná rada: záloha, kterou nikdo nezkusil obnovit, je jen hypotéza.
FAQ#
Potřebuju globální systém banů pro dva servery?
Ne nutně. Dva servery mohou sdílet bany ručně nebo kopírováním ban souborů. Jakmile máš tři a víc serverů nebo víc než pár lidí ve staffu, sdílená databáze ušetří čas a předejde tomu, aby hráč zabanovaný na jednom serveru v klidu hrál na druhém.
Můžu odebírat velký veřejný seznam cheaterů?
Na některých platformách ano, přes služby jako BattleMetrics. Nejdřív si přečti pravidla toho seznamu: za co banuje, jaké důkazy vyžaduje a jak funguje odvolání. Za to, koho na svých serverech nepustíš, odpovídáš ty, i když rozhodl někdo jiný.
Co když databáze banů přestane fungovat?
Záleží na pluginu. Dobré si drží lokální cache a známé bany dál vynucují. Ověř si to dřív, než se na to spolehneš, a databázi monitoruj stejně jako herní servery.
Mají sdílené bany obsahovat IP adresy?
Obvykle ne. IP adresy se mění a sdílejí je domácnosti i mobilní operátoři, takže na serverech jiných komunit způsobují falešné shody. Sdílej ID účtů a odhalování alternativních účtů podle IP nech lokální.
Jak řešit odvolání proti banu, který udělila jiná komunita?
Pošli hráče ke komunitě, která ban udělila, a pokud ho nepodloží důkazy, zruš ho na svých serverech. Dohoda s partnery by to měla dělat normální věcí, ne sporem.




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.