CertiFried-MultiplayerFixes icon

MultiplayerFixes

Runtime patcher that adds NetworkServer.active checks to mods for multiplayer safety. Prevents desync without modifying original mod files.

Last updated 6 days ago
Total downloads 17
Total rating 0 
Categories
Dependency string CertiFried-MultiplayerFixes-1.0.1
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

MultiplayerFixes

A runtime Harmony patcher that adds NetworkServer.active checks to popular Techtonica mods, preventing multiplayer desync issues.

What It Does

Many Techtonica mods modify game state (inventories, machine progress, etc.) without checking if the code is running on the host/server. In multiplayer, this causes desync - each player's game runs the same logic independently, leading to duplicate items, corrupted saves, and crashes.

MultiplayerFixes patches these mods at runtime using Harmony, ensuring only the host runs state-modifying code. The changes are synced to clients via Mirror networking automatically.

Key Features

  • No modified DLLs - Original mod files remain untouched
  • Legal to distribute - Just patches at runtime, doesn't redistribute code
  • Automatic - Just install and play, no configuration needed
  • Soft dependencies - Only patches mods that are installed

Mods Patched

Mod Methods Patched
VoidChests FixedUpdate
CreativeChests FixedUpdate
WormholeChests GetWormholeInsteadOfInventory, UpdateChestMap
VirtualCores AddVirtualCore
MorePlantmatter AddMorePlantmatter
Blueprints FixedUpdate
SmartInserters ShouldGiveItems
caspersLoaders FixedUpdate, BlockVisuals
CrusherCoreBoost ResetAtStartOfFrame_Prefix, HandleEndOfFrame_Postfix
EMUBuilder BuildMachine (all overloads)

Installation

  1. Install with r2modman or manually place in BepInEx/plugins/
  2. Ensure all players have the same mods installed
  3. Play multiplayer without desync!

Multiplayer Mod Guide

Everyone Must Install (Identical):

  • MultiplayerFixes (this mod)
  • EquinoxsModUtils
  • EMUAdditions
  • CasperEquinoxGUI
  • caspersLoaders
  • CreativeChests
  • VoidChests
  • WormholeChests
  • CrusherCoreBoost
  • CrusherPerformanceFix (same config)
  • StackLimits (same config)
  • BeltHub2x2 (same config)
  • SmarterRail (same config)
  • LongStackInserters (same config)

Host Only:

  • EMUBuilder
  • VirtualCores
  • MorePlantmatter
  • Blueprints
  • SmartInserters
  • Restock
  • MachineHugging
  • BiggerExplosives

Client-Side (Anyone):

  • KnowEncumbrance
  • UnityAudio
  • FlightFixes
  • ScanGrenade
  • EquinoxsDebuggingTools

Avoid in Multiplayer:

  • SmeltingEfficiency (modifies core recipes)

Technical Details

This mod uses Harmony to prefix target methods with a simple check:

if (!NetworkServer.active) return;

This ensures the method only runs on the host/server. Mirror networking handles syncing the results to clients.

Credits

  • Created by CertiFried
  • Original mods by their respective authors (Equinox, Casper, jrinker, etc.)

Source Code

Available at: https://github.com/xXDeath420Xx/CertiFried-EMU613-Mods