You are viewing a potentially older version of this package. View all versions.
Botaniclas-BotanicPupPatch-1.10.4 icon

BotanicPupPatch

PUP FPS collision/statics guards, crystal-wall exclusion and optional FGN AI-target ownership with nearby-player server fallback. Logs off by default.

Date uploaded 5 days ago
Version 1.10.4
Download link Botaniclas-BotanicPupPatch-1.10.4.zip
Downloads 29
Dependency string Botaniclas-BotanicPupPatch-1.10.4

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351
PUP82-PUP_FPS-1.0.34 icon
PUP82-PUP_FPS

A smart building combiner for massive Valheim bases with single-player and client-server multiplayer support. Controls: [ combine, ] restore, \ highlight, F8 emergency restore.

Preferred version: 1.0.34

README

BotanicPupPatch 1.10.4

Zusatzmod für PUP FPS, der Kollisions- und Statikprobleme beim Laden von Clustern und bei Besitzerwechseln im Multiplayer abfangen soll.

Funktionen

  • Hält Carts, Tiere und Monster an, solange benötigte Cluster-Kollision fehlt.
  • Pausiert Gebäudestatik, solange die benötigte Kollision noch nicht bereit ist.
  • Zusätzlicher Schutz bei Mob-Besitzerwechseln mit FiresGhettoNetworking (FGN).
  • Mit FGN bleibt PUPs konkurrierende Server-Netzwerkoptimierung aus; Cluster und Kollisionsschutz bleiben aktiv.
  • Schließt normale Kristallwände vom Clustern aus, damit ihr ursprüngliches Aussehen erhalten bleibt.

Funktionsweise

Der Mod prüft die benötigte Kollision vor Ort. Solange sie fehlt, warten Bewegung, AI beziehungsweise Statik. Sobald sie bereit ist, läuft das normale Verhalten weiter. Benötigte Kollision bleibt auch außerhalb von PUPs normalem Spieler-Abstand aktiv.

Fertige Prüfungen werden wiederverwendet und bei relevanten Änderungen erneuert. Nicht mehr benötigte Prüfdaten werden freigegeben. Keine zusätzlichen Welt-Scans oder Warte-Timer. Eigene Logs sind standardmäßig aus.

Optional: BotanicServerAuthority

Für Authority 2.1.2 schützt PupPatch zusätzlich Besitzerwechsel: offenes Inventar, ausstehende Inventarantworten, Reiten/Steuern/Ziehen und bekannte laufende Aktionen verhindern die Übergabe. Der bisherige Besitzer übergibt selbst; fehlende Antworten erlauben keine erzwungene Übernahme. Das Ziel bestätigt seine lokal geladenen Collider. Bestehende Collider- und Statik-Guards bleiben aktiv.

Authority kommt nur auf den Dedicated Server; PupPatch 1.10.2 auf Server und alle Clients. Ohne Authority entstehen keine Übergabeanfragen. Das Zusatzmodul hat keinen eigenen Timer oder Update-Aufruf. Bereits erkannte Inventar-/Nachfüllsperren vermeiden zusätzliche Aktionsscans; vor Freigabe greifen sämtliche Prüfungen wieder. Neu erfasste physische Objekte verwenden bei Bedarf den bestehenden Physik-Guard.

Nachfüllen: Material, Brennstoff oder Munition per Interaktion startet zehn Sekunden Schutz vor Authority-Besitzerwechseln; jedes weitere Nachfüllen verlängert ihn. Gilt für Smelter-basierte Öfen/Meiler/Mühlen, Kochstellen, Feuerstellen, Gärfässer, Schildgeneratoren und Geschütztürme. Automatische Brennstoffverbrauchs-Updates verlängern den Schutz nicht. Bei einem getrennten oder nicht mehr verfügbaren Besitzer bleibt die native Wiedervergabe möglich; kein Warten auf diese zehn Sekunden. Vanilla prüft im vorhandenen Takt (ungefähr zwei Sekunden), FGN kann bei einer neuen Stationsinteraktion früher übernehmen. Alle Collider-/Inventar-Guards bleiben bestehen.

Optional: FGN-Kampfziel-Besitz

Bei vorhandener FGN-Installation standardmäßig an. Auf Server und allen Clients dieselbe Einstellung verwenden; Änderungen erfordern Neustart. Datei: BepInEx/config/botanic.pup.patch.cfg.

[FGN AI Ownership]
EnableAIOwnership = true
ServerFallbackPingMs = 200
ServerFallbackRadius = 6
  • FGN bevorzugt das aktive Spielerziel der KI statt des letzten Schadensverursachers. Normaler Ping- und Übergabeschutz bleibt erhalten.
  • FGNs bestehende Zwei-Sekunden-Prüfung aktiviert Zielmeldungen nur bei mindestens zwei geeigneten Spielern im aktiven Bereich. Echte Zielwechsel lösen dann direkt eine Übergabeprüfung aus; unveränderte Ziele erzeugen keine Meldungen. Ein neues Nichtspielerziel löst keine direkte Übergabe aus.
  • Verschwundene Spielerziele werden ebenfalls per Ereignis verworfen, auch wenn die KI ihre zerstörte Zielreferenz noch behält. Wechsel zwischen Nichtspieler-Zielen erzeugen keine Meldungen.
  • Ziel-Ping über dem Grenzwert und anderer geeigneter Spieler aus FGNs bestehender Kandidatenliste höchstens sechs Meter vom Mob entfernt: Server übernimmt nach Collider-Freigabe. Der Mob muss zusätzlich innerhalb dessen ursprünglichem 3×3-Suchbereich liegen.
  • Kein anderer geeigneter Spieler so nah: Das KI-Ziel behält/erhält den Mob auch bei hohem Ping. Diese gewünschte Ausnahme geht vor FGNs relativem Kampf-Ping-Schutz.
  • Entfällt die Ausnahme, geht Besitz zurück zum aktuellen KI-Ziel; ohne Spielerziel an einen geeigneten Spieler.
  • Distanz/Grenzwert sind serverseitig einstellbar. ServerFallbackPingMs = 0 nutzt 250 ms Abstand zum besten anderen aktiven FGN-Kandidaten. Unbekannter Ping löst keine Server-Übernahme aus.
  • EnableAIOwnership = false: keine FGN-/Besitz-/KI-Hooks dieser Zusatzfunktion. Eine einmalige Verbindungsabfrage bestätigt den Server-Modus; keine laufende Abfrage. Clients mit fehlender/abgeschalteter Funktion behalten FGNs ursprüngliche Auswahl. Vorhandene Config-Werte werden nicht überschrieben.

Benötigt originales FGN 1.5.36, serverseitig Balance Creature Ownership = true; für Server-Übernahme zusätzlich SSS aktiv. Beide FGN-Optionen Server ZDO Ownership Transfer müssen aus sein. Gezähmte, gerittene/gesteuerte Mobs und Bosse bleiben außerhalb dieser Regel. ServerBuildings ist dafür nicht erforderlich.

Keine laufende Zielbeobachtung pro KI-Update. Zieländerungen eines markierten Mobs werden nach dem laufenden KI-Aufruf zusammengefasst; Übergaben warten weiterhin auf FGNs Schutzregeln und fertige Collider. Ping, Abstand, Markierungen und ausstehende Übergaben werden im bestehenden Zwei-Sekunden-Takt geprüft. Kein zusätzlicher Timer oder Zielscan. Fehlende Erstmeldungen werden nur während der Aktivierung erneut angefordert.

Server und Clients auf 1.10.4 aktualisieren. Clients vor 1.9.0 nehmen an der Ereignisfunktion nicht teil; für sie bleibt die originale FGN-Auswahl bestehen.

Besitzerwechsel prüfen: In der F5-Konsole botanic_ai_status vor und nach einem Treffer ausführen, auf beiden Clients. Zeigt Aktivierung, Serverbestätigung, Protokoll und bis zu sechs Mobs innerhalb von 30 Metern samt Besitzer, KI-Ziel und verwendeter Regel. Nur das KI-Ziel beim aktuellen Besitzer ist autoritativ; andere Clients zeigen eine Replik. stock FGN nennt den Grund für die ursprüngliche Auswahl. Auf dem Server zeigt die Abfrage zusätzlich Client-Teilnahme und letzten Angreifer. Keine Dauerlogs, zusätzliche Timer oder automatischen Scans.

1.10.4 behebt den Installationsabbruch Ambiguous match found. Nach Update und Neustart soll hooks=True erscheinen; bei aktivem Dedicated-Server-Modus zusätzlich clientseitig server confirmed=True und Current session=True. Besitzregeln, Ping-/Collider-Schutz und Config bleiben erhalten. Ein Treffer kann bei einem Mob ohne Ziel den Angreifer als echtes KI-Ziel setzen; dann ist die Übergabe beabsichtigt.

Abhängigkeiten

  • BepInExPack Valheim 5.4.2351
  • PUP FPS 1.0.33 – andere Versionen sind nicht unterstützt.
  • Optional: FiresGhettoNetworking; bisherige Guards mit 1.5.36 und 1.5.28 geprüft. Neue Kampfziel-Funktion ausschließlich mit originaler 1.5.36.

Installation

  1. Spiel und Server beenden.
  2. ZIP im Modmanager importieren oder BotanicPupPatch.dll nach BepInEx/plugins/BotanicPupPatch/ kopieren.
  3. Auf Dedicated Server und allen Clients dieselbe Version installieren, dann neu starten. Vorige Zusatz-DLL ersetzen.

Bereits geclusterte Kristallwände müssen mit PUP wiederhergestellt und neu geclustert werden. Für die Kollisionsfixes ist kein Cache-Reset nötig.

Bereits zerstörte Objekte werden nicht wiederhergestellt. Automatisiert geprüft; echter Dedicated-Spieltest der neuen Funktion steht aus.