BepInEx ConfigurationManager je klientský mód, který vykreslí nastavení každého nainstalovaného pluginu v okně otevíraném ve hře, ve výchozím stavu klávesou F1. Změna hodnoty tam se zapíše přímo do souboru .cfg toho pluginu na tvém vlastním PC. Na dedikovaném serveru je to přesně to, co lidé špatně chápou: menu upravuje klienta, ne server. Výjimkou jsou nastavení, která mód synchronizuje ze serveru přes ServerSync nebo Jotunn - po dobu připojení ukazují hodnoty serveru, jsou jen pro čtení, pokud nejsi na seznamu adminů serveru, a úprava admina se pošle na server a tam uloží. Všechno ostatní na serveru, včetně každého módu, který běží jen na serveru, se mění úpravou souboru ve složce BepInEx/config na serveru. Samotný server ConfigurationManager nikdy nepotřebuje.
Co je ConfigurationManager#
BepInEx drží nastavení každého pluginu v souboru INI pod BepInEx/config, vygenerovaném při prvním načtení pluginu. Ty soubory jsou čitelné, ale pracné: velký mód může mít sto nastavení ve tuctu sekcí a většinu změn uvidíš až po ukončení hry. ConfigurationManager čte stejná nastavení z paměti a ukazuje je jako formulář - přepínače jako zaškrtávátka, čísla jako posuvníky nebo pole, seznamy jako rozbalovací nabídky, klávesové zkratky jako tlačítko, na které klikneš a pak stiskneš novou klávesu.
Originál napsal ManlyMarco v rámci projektu BepInEx obecně. Hráči Valheimu si většinou instalují jeho balení pro Valheim z Thunderstore; v době psaní je to, na které odkazuje většina stránek módů, „Official BepInEx ConfigurationManager“ od Azumatta, a existují forky s dalšími funkcemi specifickými pro Valheim. Všechny čtou stejný konfigurační systém, takže pokyny níže platí pro každý z nich; přesné rozložení okna se liší.
Nainstaluj ho jako jakýkoli klientský mód, přes mod manager nebo umístěním do BepInEx/plugins. Nemá žádné závislosti kromě BepInExPack.
Otevření a hledání nastavení#
Stiskni F1 v hlavním menu nebo ve hře. Okno vypíše každý plugin s nastavením, sbalený podle názvu; kliknutím na název ho rozbalíš, nebo piš do vyhledávacího pole nahoře a filtruj napříč všemi pluginy najednou.
Ovládací prvky, které stojí za to znát:
| Ovládací prvek | Co dělá |
|---|---|
| Vyhledávací pole | Filtruje nastavení podle názvu napříč všemi pluginy |
| Show settings | Přepíná běžná nastavení |
| Show keyboard shortcuts | Přepíná nastavení kláves |
| Show advanced | Odhalí nastavení, která autor označil jako pokročilá a která jsou ve výchozím stavu skrytá |
| Tlačítko reset / default | Vrátí jedno nastavení na výchozí hodnotu, kterou mód deklaruje |
Najeď na nastavení a uvidíš popis, který napsal autor - stejný text, který stojí nad klíčem v .cfg. Přečti si ho, než něco změníš; často říká, zda změna vyžaduje restart nebo zda je nastavení synchronizované se serverem.
Pokud se F1 kryje s jiným módem nebo s něčím, co máš namapované, změň ji. ConfigurationManager má vlastní konfigurační soubor, normálně BepInEx/config/com.bepis.bepinex.configurationmanager.cfg, s klávesovou zkratkou pod [General]:
[General]## The shortcut used to toggle the config manager window on and off.# Setting type: KeyboardShortcut# Default value: F1Show config manager = F1Název klíče i sekce jsou stabilní dlouho, ale forky mohou věci přejmenovat. Pokud tvůj soubor vypadá jinak, zkratka je pořád uvnitř nastavení ConfigurationManageru, takže ji můžeš změnit i z okna samotného.
Co úprava ve hře skutečně mění#
Každá změna provedená v okně se okamžitě zapíše na disk, do .cfg pluginu na počítači, na kterém hra běží. BepInEx ukládá konfigurační soubor při každém nastavení hodnoty, takže žádný samostatný krok ukládání neexistuje.
Zda nová hodnota hned něco udělá, je na módu:
- Použije se hned. Mnoho nastavení se čte pokaždé, když se použijí - pozice HUD, kontrola velikosti stacku, barva. Ty se změní v okamžiku úpravy.
- Použije se při příštím načtení. Nastavení čtená při startu módu - recepty předmětů, registrované stavební kousky, definice tvorů - se uloží, ale projeví se až po restartu hry. Popis to obvykle říká.
- Použije se při příštím vstupu do světa. Některá nastavení se čtou při načtení do světa, takže stačí odejít do hlavního menu a znovu se připojit.
Pokud se zdá, že změna nic nedělá, zjisti, které ze tří to je, dřív než usoudíš, že ji mód ignoroval.
Připojen k serveru: synchronizovaná, zamčená a lokální nastavení#
Připojení k dedikovanému serveru s módy mění význam okna. Nastavení se dělí do tří skupin a okno je vždy jasně neoznačí.
| Druh nastavení | Zobrazeno v tvém F1 | Kdo určuje hodnotu | Úprava hráčem |
|---|---|---|---|
| Lokální (nesynchronizované) | Ano | Ty | Mění jen tvoji hru |
| Synchronizované, zamčené | Ano, s hodnotou ze serveru | Server | Jen pro čtení, pokud nejsi admin |
| Synchronizované, odemčené | Ano | Podle módu | Různé; nespoléhej na to |
| Mód jen pro server | Ne, mód nemáš | Soubor na serveru | Z klienta nelze |
Lokální nastavení se chovají přesně jako v singleplayeru. Tvůj HUD, klávesy a grafické volby módů jsou tvoje a server je nikdy nevidí.
Synchronizovaná nastavení jsou ta, která mód posílá ze serveru přes ServerSync nebo admin-only synchronizaci Jotunn. Po dobu připojení okno ukazuje hodnotu serveru. Pokud je u módu zapnuté Lock Configuration - obvyklá výchozí hodnota u módů s ServerSync - ne-admin je nemůže měnit; většina módů je vykreslí jako zakázaná. Po odchodu se obvykle vrátí tvoje vlastní hodnoty. Mechanismus i zámek podrobně vysvětluje ServerSync a vynucení konfigurace.
Módy jen pro server se neobjeví vůbec. Most na Discord, zálohovací mód nebo serverový admin nástroj běží jen na serveru, takže tvůj klient nemá plugin, který by mohl zobrazit. ConfigurationManager se přes síť nedostane k módu, který nemáš.
Admini upravující server z F1#
Hráči na adminlist.txt serveru dostanou jednu schopnost navíc: u synchronizovaných nastavení jdou jejich úpravy na server. Průběh je:
- Admin změní synchronizovanou hodnotu v okně během připojení.
- Mód pošle novou hodnotu na server, který odesílatele zkontroluje podle svého seznamu adminů.
- Server ji aplikuje, zapíše do vlastního
.cfga rozešle všem připojeným klientům.
Je to nejrychlejší způsob, jak ladit běžící server - uprav poškození nepřátel nebo šance na drop během relace a všichni změnu vidí. Má to svou cenu. Není potvrzení ani vrácení, takže uklouznutí posuvníku platí okamžitě pro všechny. Změna přistane v souboru serveru, takže přežije restarty, aniž by ji někdo zapsal. A žádná historie neexistuje kromě toho, co zaznamená log serveru, což je u většiny módů nic.
Dvě pravidla to udrží bezpečné:
- Drž seznam adminů krátký. Každé ID v
adminlist.txtmůže ze svého PC přepisovat synchronizovaná nastavení vyvážení, stejně jako kickovat a banovat. Tři seznamové soubory popisuje formáty včetně ID s prefixem platformy, která crossplay servery potřebují. - Po ladicí relaci zkopíruj konfigurační složku serveru. Stáhni
BepInEx/config, jakmile je parta spokojená, a ulož ji k zálohám. To je tvůj záznam toho, co se změnilo.
Pokud úpravy admina nic nedělají, obvyklé příčiny jsou chybějící ID admina nebo ID ve špatném formátu, mód nepodporující úpravy adminem (některé synchronizují hodnoty jen ze souboru), nebo nastavení, které se vůbec nesynchronizuje - a pak úprava změnila jen hru admina a nikoho jiného.
Místo toho upravit soubor#
Pro cokoli na serveru, co není synchronizované nastavení, a pro každou změnu, kterou chceš provést záměrně a ne za běhu, uprav soubor. U módů jen pro server je to také jediná možnost.
- Čistě zastav server a nech svět uložit.
- Otevři
BepInEx/config/<plugin GUID>.cfgna serveru. - Změň hodnotu za
=. Název klíče, sekci i formát ponech přesně tak, jak jsou napsané. - Spusť server a v jeho konzoli zkontroluj řádek
Loadingdaného módu.
Zastavení předem je důležitější, než se zdá. BepInEx drží každou konfiguraci v paměti a přepíše celý soubor, když se nastaví hodnota nebo mód ukládá. Pokud upravíš soubor běžícího serveru a pak na serveru něco nastaví hodnotu - úprava admina z F1, mód ukládající svůj stav - kopie v paměti tvoji úpravu přepíše. Některé módy sledují vlastní soubor a po uložení ho znovu načtou, díky čemuž jsou úpravy za běhu pro daný mód bezpečné; pokud mód neřekne, že ano, předpokládej, že ne.
Totéž platí na tvém PC. Upravit .cfg v textovém editoru, zatímco hra běží, a pak sáhnout na ten mód v F1, může tvoji textovou úpravu potichu zahodit. Za relaci používej jedno nebo druhé.
Mod managery nabízejí třetí cestu. r2modman i Gale mají editor konfigurace, který otevře soubory profilu bez hledání složky, což je pohodlné pro klientská nastavení a k ničemu pro server, jehož soubory leží na serveru. Na RE:NODE je BepInEx/config serveru ve správci souborů v panelu, který upravuje soubory .cfg v prohlížeči se zvýrazněním syntaxe, takže cyklus zastav-uprav-spusť nepotřebuje žádné stahování.
Příklad z praxe: ladění serveru pro skupinu#
Skupina šesti chce štědřejší nosnost a pomalejší časovač plodin s jedním módem na ServerSync a jedním obsahovým módem na Jotunn. Úhledný postup:
- Základ nastav v souborech. Se zastaveným serverem uprav
.cfgobou módů na serveru na dohodnuté hodnoty. OvěřLock Configuration = Onu módu s ServerSync. - Spusť a zkontroluj. Připoj se jako běžný hráč, otevři F1 a ověř, že synchronizovaná nastavení ukazují hodnoty serveru a jsou zakázaná. Pokud jdou upravit, jsi admin nebo je zámek vypnutý.
- Doladění za běhu, pokud je třeba. Jeden admin upravuje hodnoty v F1 během první relace, zatímco parta hraje. Všichni změnu vidí hned.
- Zafixuj to. Po relaci stáhni
BepInEx/configserveru a ulož ho se zálohou světa. Změněné hodnoty si poznamenej do seznamu módů skupiny. - Případně dodej klientské výchozí hodnoty. Lokální nastavení, která se mají shodovat - třeba sdílené rozložení značek na mapě - patří na stranu klienta, přes exportovaný profil nebo modpack se složkou config.
Častá chyba je opačná: každý hráč si ladí svůj F1, na serveru není nastaveno nic a parta po týdnech zjistí, že se synchronizovala jen polovina nastavení.
Řešení potíží#
F1 nic nedělá. Mód není načtený, nebo klávesu zabral jiný mód. V BepInEx/LogOutput.log klienta zkontroluj řádek Loading s ConfigurationManager; pokud tam je, změň zkratku v jeho vlastní konfiguraci.
Nastavení módu nejsou v seznamu. Mód žádná nastavení nemá, používá vlastní samostatný soubor jako YAML, nebo není na tvém klientovi nainstalovaný. Módy, které drží konfiguraci v YAML, často ukazují v F1 jen pár přepínačů.
Nastavení jsou zašedlá. Jsou synchronizovaná a zamčená serverem a ty nejsi admin. Požádej admina nebo uprav soubor na serveru.
Moje změna se při připojení k serveru resetovala. Nastavení je synchronizované a hodnota serveru na dobu relace nahradila tvoji.
Změna admina z F1 se po restartu vrátila. Mód ji aplikoval v paměti, ale admin úpravy neukládá, nebo byl soubor serveru nahrazen ze zálohy či deployem. Nastav hodnotu v souboru na serveru.
Okno zakrývá obrazovku nebo je text drobný. Forky se liší; většina má nastavení velikosti okna nebo měřítka písma ve vlastní konfigurační sekci. Hledej pod ConfigurationManager přímo v okně.
U všeho, co vypadá jako mód, který se nenačte, a ne jako nastavení, které se neaplikuje, začni logem - čtení logů BepInEx tě jím provede.
FAQ#
Potřebuju ConfigurationManager na serveru?
Ne. Dedikovaný server nemá obrazovku ani vstup, takže není kam okno vykreslit. Instaluj ho jen na klienty. Admini upravují synchronizovaná nastavení ze svého klienta a všechno ostatní na serveru se upravuje v souborech serveru.
Je ConfigurationManager cheat, když ho ostatní hráči nemají?
Ne. Upravuje jen nastavení, která tvůj klient už má. U synchronizovaných zamčených nastavení nemůže server přebít a u lokálních nastavení by stejnou změnu mohl udělat kdokoli v textovém editoru.
Proč nemůžu najít nastavení, o kterém mi řekl majitel serveru?
Buď patří módu, který běží jen na serveru, takže se ve tvém okně nikdy neobjeví, nebo je skryté za Show advanced. Zkus vyhledávací pole se zobrazenými pokročilými nastaveními.
Platí změny ve hře pro všechny na serveru?
Jen pokud je nastavení synchronizované a ten, kdo změnu dělá, je na seznamu adminů serveru. Každá jiná změna v F1 ovlivní hru toho hráče a nic jiného.
Můžu upravovat konfigurace z hlavního menu?
Ano. Okno se otevře v hlavním menu stejně jako ve hře. Nastavení čtená při startu se projeví až po restartu hry, ať je změníš kdekoli.


