Skip to content

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Entanglement Redux

A multiplayer mod for BONEWORKS. This is a continuation of the original Entanglement mod, rebuilt on Steamworks instead of the (now dead) Discord Game SDK, with a mostly rewritten networking and object sync layer.

It is not affiliated with the original boneworks-mp project. It shares no code with it.

Status

This is a work in progress. Expect bugs. Current version is 2.0.0.

What it does

  • Steam-based lobbies and P2P networking (public, friends-only, or private)
  • Synced object physics with velocity-based dead reckoning, so held and thrown objects don't stutter or snap
  • Player representations (the models you see for other players) with interpolated movement and full hand/finger tracking
  • Story mode sync: buttons, keys, levers, valves, pull boxes, and NPC deaths/despawns all replicate across clients
  • Ragdoll death sync
  • Zone-aware culling that won't hide a player who's still standing in a zone with someone else
  • Automatic file sync — if someone's running a custom item or playermodel you don't have, you just get it from them, no manual downloading. A radial progress readout shows on your hand while a download's in flight, and you stay hidden from other players until yours finish
  • Built-in gamemodes (Deathmatch, Team Battle, Last Man Standing) with scoring, teams, elimination, and a BoneMenu scoreboard, plus an API so other mods can add their own

Installing

You'll need:

  • MelonLoader installed on your BONEWORKS install
  • ModThatIsNotMod — required dependency, the mod won't load without it
  • Steam running before you launch the game

Drop EntanglementRedux.dll and ModThatIsNotMod.dll into your Mods folder. Both Steamworks.NET and steam_api64.dll are embedded in the mod and it tries to sort itself out on startup — steam_api64.dll gets extracted to %AppData%/EntanglementMod/ and preloaded automatically.

If Steam still fails to initialize on launch (check the MelonLoader console for a steam_api64.dll error), fall back to installing it manually:

  1. Download Steamworks.NET and open the x64 folder inside it
  2. Put Steamworks.NET.dll into BONEWORKS\MelonLoader\Managed
  3. Put steam_api64.dll into the BONEWORKS root folder (next to BONEWORKS.exe)

Building from source

Open Entanglement.sln in Visual Studio. You'll need MelonLoader's Managed folder (the unhollowed game assemblies) referenced by the project — point the project at your own BONEWORKS install, or drop the DLLs into a managed folder next to the project.

The build outputs EntanglementRedux.dll.

Modding

Want your mod to sync over the network, or to add your own gamemode without touching this codebase? Both are supported:

  • Modding.md — how to hook a third-party mod into Entanglement's networking, send your own messages, and get your custom items/playermodels synced for free
  • Gamemodes.md — how the gamemode framework works, and how to write your own using the built-in ones as reference

Contributing

Bug reports and pull requests are welcome. If you're fixing something, a short description of what was broken and why your fix addresses it goes a long way — this codebase has a lot of history and it's easy to accidentally reintroduce something that was already fixed once.

License

MIT. See LICENSE.

Credits

Built on the original Entanglement by zCubed and Lakatrazz. Maintained by willpsdk & datgingeguy.

About

A Updated & Improved version of the BONEWORKS Multiplayer Mod "Entanglement" Using Steam Networking.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages