Hollow Knight: Silksong
Install

Details

Last Updated
First Uploaded
Downloads
1.2K
Likes
2
Size
154KB
Dependency string
Brothergaming52-BasicEnemySync-1.0.1
Dependants

Categories

✦ SSMP Enemy Syncing Addon ✦

Comprehensive Enemy, Boss & Revive Syncing for Hollow Knight: Silksong Multiplayer (SSMP)

Version Game SSMP Ko-fi

Real-Time Enemy Sync · Boss Phase Sync · Downed Cocoon System · Teammate Revives


🧩 What is SSMP Enemy Syncing Addon?

SSMP Enemy Syncing Addon is an expansion mod for Hollow Knight: Silksong Multiplayer (SSMP). It enables complete, real-time multiplayer synchronization for all standard enemies, mini-bosses, and complex multi-phase bosses throughout Pharloom.

In addition to enemy synchronization, it introduces a Co-op Downed & Cocoon Revive System, allowing teammates to rescue each other in battle!

[!WARNING]

⚠️ Work in Progress & Development Disclaimer

This mod is still actively in development and is not perfect. You may encounter desyncs, glitches, or game-breaking bugs during multiplayer sessions.

Please back up your save files, report bugs on the GitHub Issues page, and share your feedback!


✨ What's New in v1.0.1

  • 🔌 Native BepInEx Plugin Integration: Added EnemySyncingPlugin entry point (bg52.enemysync.ssmp) allowing the mod to be loaded directly by BepInEx and managed via Thunderstore / r2modman seamlessly.
  • 🎯 Boss Aggro & Target HUD Indicators: When a boss targets a player in combat, that player's nametag dynamically turns red, giving immediate tactical feedback to teammates.
  • 💀 Corpse Snapshot & Death Sync: Enemy deaths now synchronize exact knockback velocity, position, rotation, and attack angles across all clients.
  • 🛡️ Scene Owner Death Verification: Implemented authoritative death validation (VerifyEnemyDieRequest) to prevent client-side desync and duplicate phantom enemies.
  • 🏹 Enhanced Projectile Synchronization: Added support for projectile animation clip states, custom scaling (ScaleX), and improved trajectory tracking.
  • 🧠 PlayMaker FSM Target Patches: Overhauled FSM distance/position calculations (GetDistance, GetXDistance, GetYDistance, GetPosition) so enemies consistently navigate toward their active network target.
  • 🔄 Anti-Duplication & Desync Recovery: Background watchdog monitors and restores missing scene enemies while cleaning up stale or dead entities.

⚡ Core Features

⚔️ Complete Network Synchronization

Feature Description
Transform & Animation Smooth interpolation for enemy position, rotation, scale, and active animation states
Damage & Health Synchronized health bars, damage tracking, Scene Owner death verification, and remote death triggers
Projectile Sync Synchronized enemy projectiles, spell attacks, custom scales, and spawned sub-objects
FSM & Boss Phases Syncs PlayMaker Finite State Machines (FSMs) & child state changes across multi-phase boss fights

👑 Dynamic Authority & Claiming System

  • Proximity & FOV Claiming: The nearest player looking at an enemy automatically claims authority to control its AI and movement.
  • Boss Target Highlighting: Players currently targeted by active bosses are highlighted with a red username tag.
  • Host Fallback: Unclaimed or distant enemies cleanly fall back to host-side simulation to eliminate desync.
  • Auto-Spawner for Missing Enemies: Automatically instantiates missing scene prefabs for late-joining players.

🕸️ Downed & Cocoon Revive System

  • Multiplayer Downed State: Upon taking fatal damage, players enter a protective Cocoon state instead of instantly dying.
  • Teammate Revives: Nearby teammates can strike a fallen player's cocoon with their weapon to break them free and revive them back into action.
  • Hazard Auto-Settling: Cocoons falling into spikes or environmental hazards automatically settle onto the nearest safe ground.
  • Hold-to-Suicide Action: Stuck or isolated players can hold their Quick Map key (default: TAB / Controller equivalent) to surrender and respawn.
  • Team-Wipe Logic: If all players in the active scene are cocooned simultaneously, the mod triggers a synchronized native team defeat.

🎮 How It Works

1. Take Fatal Damage  →  Player enters Cocoon State (Invulnerable to hazards)
2. Teammate Hits      →  Striking the cocoon reduces HP & breaks player free!
3. Team Wipe Check    →  If everyone is downed → Sync'd team defeat & respawn

📥 Installation Guide

Via Thunderstore / r2modman (Recommended)

  1. Install SSMP Enemy Syncing Addon directly through the Thunderstore Mod Manager or r2modman.
  2. Launch the game via the mod manager.

Manual Installation

  1. Prerequisites:
  2. Install Addon:
    • Extract EnemySyncing.dll into your BepInEx plugins directory: path\to\Hollow Knight Silksong\BepInEx\plugins\EnemySyncing\ (or inside BepInEx\plugins\SSMP\).
  3. Run the Game:
    • Launch Silksong. BepInEx and SSMP will automatically load EnemySyncing.dll.
    • Note: Both Host and joining clients must have EnemySyncing installed.

⚙️ Keybinds & Controls

Action Control
Revive Teammate Melee Attack (Nail / Needle) on a remote player's Cocoon
Cocoon Suicide / Give Up Hold Quick Map Key (Default: TAB or Controller Button) while cocooned

🛠️ Building from Source

Requirements

  • .NET 8.0 SDK or later
  • Visual Studio 2022 / JetBrains Rider / VS Code

Steps

# 1. Clone the repository
git clone https://github.com/Brothergaming52/EnemySyncing.git
cd EnemySyncing

# 2. Build the solution
dotnet build EnemySyncing.csproj -c Release

The compiled binary will be placed in bin/Release/netstandard2.1/EnemySyncing.dll.


🙌 Credits & Acknowledgements

  • Brothergaming52 – Creator & Lead Developer
  • FieryCGamingz – Addon Tester & Quality Assurance

☕ Support the Project

If this addon improved your Silksong co-op experience, consider supporting the development & testing team!

Brothergaming52 Ko-fi FieryCGamingz Ko-fi

ko-fi.com/brothergaming52 · ko-fi.com/fierycgamingz


📜 License

This project is licensed under the MIT License.


Made with ❤️ by Brothergaming52

SSMP Project · Ko-fi · GitHub Repo

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.