MobChaseControl
Server-side control over how far and how long mobs chase you. Bosses excluded.
模組介紹 作者原文
MobChaseControl
Legt global fest, wie weit und wie lange Mobs dich verfolgen. Bosse bleiben außen vor.
Deutsch
Auf meinem eigenen Server hat mich irgendwann gestört, dass Mobs entweder nach ein paar Metern aufgeben oder einen halb über die Karte verfolgen, je nachdem was gerade gespawnt ist. Es gibt Mods, die Kreaturenwerte einzeln umschreiben, aber ich wollte zwei Regler für alles - und die vom Server aus setzen, ohne dass jeder Mitspieler seine Config anfassen muss.
Einstellungen
| Option | Bedeutung |
|---|---|
| MaxChaseDistance | Meter, ab denen ein Mob sein Ziel verliert. -1 lässt den Vanilla-Wert der jeweiligen Kreatur stehen, 0 heißt unbegrenzt. Standard 60. |
| GiveUpTime | Sekunden ohne Wahrnehmung des Ziels bis zum Aufgeben. Vanilla sind 30. -1 lässt es unverändert. |
| ViewRangeMultiplier | Multiplikator auf die Sichtweite aller Mobs. 1 = Vanilla. |
| HearRangeMultiplier | Multiplikator auf die Hörweite. |
| ExcludeBosses | Standard an. Bosse behalten ihr normales Verhalten. |
| ExcludeTamed | Gezähmte Tiere bleiben außen vor, damit dein Wolf weiter hinterherläuft. |
| ExcludedPrefabs | Kommagetrennte Liste einzelner Kreaturen, die unangetastet bleiben, z.B. Greydwarf,Neck,Boar |
Änderungen greifen sofort, auch bei bereits gespawnten Mobs. Kein Neustart nötig.
Server und Clients
Das sorgt regelmäßig für Verwirrung, deshalb vorweg: die Mob-KI rechnet in Valheim der Client, dem die Kreatur gerade gehört, nicht der Server. Die DLL muss deshalb bei jedem Spieler liegen, sonst verhalten sich Mobs unterschiedlich, je nachdem wer in der Nähe ist.
Die Werte kommen trotzdem aus einer Hand. Der Server schickt seine Konfiguration an alle Verbundenen, lokale Dateien der Spieler werden ignoriert und die Felder im ConfigurationManager sind gesperrt. Du pflegst nur die Datei auf dem Server.
Wer in der adminlist.txt steht, darf die Werte im ConfigurationManager im laufenden Spiel ändern. Die Änderung geht an den Server, der prüft nochmal selbst, wer da sendet, speichert es in seiner Config und verteilt es an alle. Abgelehnte Versuche landen im Log.
Im Einzelspieler oder als Host gilt die eigene Datei wie gewohnt.
Installation
BepInEx vorausgesetzt:
- MobChaseControl.dll nach BepInEx\plugins\
- Einmal starten, dann liegt BepInEx\config\flo.mobchasecontrol.cfg bereit
- Werte anpassen
Auf dem Server dasselbe. Und dran denken: die Mitspieler brauchen die DLL auch.
Kompatibilität
Hängt sich an MonsterAI.Awake und per Transpiler an MonsterAI.UpdateTarget. Arbeitet pro Prefab statt über eine feste Kreaturenliste, Mobs aus Content-Mods sind also automatisch dabei.
Die Mod merkt sich, welche Werte sie zuletzt bei einer Kreatur gesetzt hat. Hat danach eine andere Mod an derselben Kreatur gedreht, lässt sie die in Ruhe statt sie beim nächsten Refresh zu überschreiben. Konflikte mit Mods, die Sicht- oder Hörweite einzelner Viecher anpassen, sollten damit erledigt sein.
Läuft bei mir auf einem Dedicated Server mit über 50 Mods parallel.
Bekannte Grenzen
- Baut ein Spielpatch die Verfolgungslogik größer um, findet der Transpiler sein Muster nicht mehr. Dann steht eine Zeile im Log und die Aufgabezeit bleibt bei 30 Sekunden, der Rest arbeitet weiter.
- Kreaturen, die andere Mods gezielt manipulieren, bleiben absichtlich unangetastet.
Bug gefunden? Kommentare, am besten mit dem passenden Ausschnitt aus dem LogOutput.log.
English
On my own server I got tired of mobs either giving up after a few steps or following me halfway across the map, depending on what happened to spawn. There are mods that rewrite creature stats one by one, but I wanted two sliders covering everything - set from the server, without asking everyone to edit their own config.
Settings
| Option | What it does |
|---|---|
| MaxChaseDistance | Distance in meters at which a mob drops its target. -1 keeps each creature's vanilla value, 0 means unlimited. Default 60. |
| GiveUpTime | Seconds without sensing the target before giving up. Vanilla is 30. -1 leaves it
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: