<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hoodedhorse.com/Terra_Invicta/index.php?action=history&amp;feed=atom&amp;title=TI_Multiplayer%2FMod_Compatibility</id>
	<title>TI Multiplayer/Mod Compatibility - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hoodedhorse.com/Terra_Invicta/index.php?action=history&amp;feed=atom&amp;title=TI_Multiplayer%2FMod_Compatibility"/>
	<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Terra_Invicta/index.php?title=TI_Multiplayer/Mod_Compatibility&amp;action=history"/>
	<updated>2026-10-24T01:07:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.hoodedhorse.com/Terra_Invicta/index.php?title=TI_Multiplayer/Mod_Compatibility&amp;diff=12690&amp;oldid=prev</id>
		<title>76561198239355112: Created page with &quot;&lt;!-- Wiki page: TI Multiplayer/Mod Compatibility --&gt; &#039;&#039;This page is part of the TI Multiplayer mod.&#039;&#039;  TI Multiplayer runs the whole game on the host and copies the result to the other players. A mod that adds its own player actions or its own game data must know about this, or its changes only happen on one computer. Such &#039;&#039;&#039;multiplayer-aware&#039;&#039;&#039; mods connect to TI Multiplayer through a small interface (the &#039;&#039;mod bridge&#039;&#039;).  == For players == === Multiplayer-awar...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Terra_Invicta/index.php?title=TI_Multiplayer/Mod_Compatibility&amp;diff=12690&amp;oldid=prev"/>
		<updated>2026-10-15T21:54:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;!-- Wiki page: TI Multiplayer/Mod Compatibility --&amp;gt; &amp;#039;&amp;#039;This page is part of the &lt;a href=&quot;/Terra_Invicta/TI_Multiplayer&quot; title=&quot;TI Multiplayer&quot;&gt;TI Multiplayer&lt;/a&gt; mod.&amp;#039;&amp;#039;  &lt;a href=&quot;/Terra_Invicta/TI_Multiplayer&quot; title=&quot;TI Multiplayer&quot;&gt;TI Multiplayer&lt;/a&gt; runs the whole game on the host and copies the result to the other players. A mod that adds its own player actions or its own game data must know about this, or its changes only happen on one computer. Such &amp;#039;&amp;#039;&amp;#039;multiplayer-aware&amp;#039;&amp;#039;&amp;#039; mods connect to TI Multiplayer through a small interface (the &amp;#039;&amp;#039;mod bridge&amp;#039;&amp;#039;).  == For players == === Multiplayer-awar...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- Wiki page: TI Multiplayer/Mod Compatibility --&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;This page is part of the [[TI Multiplayer]] mod.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[TI Multiplayer]] runs the whole game on the host and copies the result to the other players. A mod that adds its own player actions or its own game data must know about this, or its changes only happen on one computer. Such &amp;#039;&amp;#039;&amp;#039;multiplayer-aware&amp;#039;&amp;#039;&amp;#039; mods connect to TI Multiplayer through a small interface (the &amp;#039;&amp;#039;mod bridge&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
== For players ==&lt;br /&gt;
=== Multiplayer-aware mods ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Mod !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| [[TI Fleet Manager]] || All fleet hierarchy commands, recalls, commissioning and reserve operations are carried out by the host. Generated fleet names use the host&amp;#039;s game language.&lt;br /&gt;
|-&lt;br /&gt;
| [[TI Space Nations]] || Founding nations, unions, settlement, troop transports, the AI and the aliens run on the host. Only the host&amp;#039;s settings count.&lt;br /&gt;
|-&lt;br /&gt;
| TI Missile Rework || Missile design actions are carried out by the host.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rules ===&lt;br /&gt;
* Every player needs &amp;#039;&amp;#039;&amp;#039;the same multiplayer-aware mods in the same versions&amp;#039;&amp;#039;&amp;#039;. This is checked when joining a lobby, when joining a running game and when reconnecting. A difference is refused with &amp;#039;&amp;#039;Your loaded mods do not match the host&amp;#039;s.&amp;#039;&amp;#039; and a list of what is missing or extra on each side.&lt;br /&gt;
* Mods that only change game data (JSON templates, texts, images) are &amp;#039;&amp;#039;&amp;#039;not checked&amp;#039;&amp;#039;&amp;#039;. Make sure everybody installs exactly the same ones - different data leads to desyncs.&lt;br /&gt;
* Other code mods (DLL mods without the bridge) are not supported in multiplayer and can cause problems. TI Crew Extended, for example, has no multiplayer support.&lt;br /&gt;
&lt;br /&gt;
=== DLC ===&lt;br /&gt;
A host who owns a DLC can host the base game for players without it. They see fallback models for DLC ship hulls. A scenario that requires a DLC (for example the Dark Skies scenarios) needs it on every computer - players without it are refused with &amp;#039;&amp;#039;This campaign requires content you don&amp;#039;t have: …&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== For mod authors ==&lt;br /&gt;
The bridge is the class &amp;lt;code&amp;gt;TIMultiplayer.Sync.MPModBridge&amp;lt;/code&amp;gt; (API version 1). Use it only through reflection - never reference the TIMultiplayer DLL directly, so your mod also runs without it. Load order is not guaranteed: look the type up from the main menu with a short retry (for example every second for 30 seconds).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Member !! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;InSandboxSession&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;IsHost&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;IsRemoteClient&amp;lt;/code&amp;gt; || Session state. Skip everything your mod changes on its own (daily ticks, repairs after loading, reactions to removed objects) when &amp;lt;code&amp;gt;IsRemoteClient&amp;lt;/code&amp;gt; is true - the host does it and sends the result.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RegisterForwardedAction(typeFullName, mode)&amp;lt;/code&amp;gt; || Register a player action type that must be sent to the host. Mode 0 = forward only, mode 1 = forward and also run locally. Register on every computer at load. Anything that can create game objects must be forward-only. Action fields must be plain values. Delegates arrive as null on the host.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RegisterOperationPolicy(opTypeFullName, runLocal)&amp;lt;/code&amp;gt; || For fleet or hab operations confirmed through the vanilla operation dialog.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RequestBroadcast(ids, reason)&amp;lt;/code&amp;gt; || The host pushes changed objects to the clients within about a second.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;event MergeApplied(bool fullSave)&amp;lt;/code&amp;gt; || Fires on clients after the host&amp;#039;s update was applied - refresh your UI here.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;RegisterModIdentity(modId, version)&amp;lt;/code&amp;gt; || Adds your mod to the join check. Even data-only mods should register through a tiny loader, so mismatches are caught.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ForwardingFaction&amp;lt;/code&amp;gt; (since 0.8.0) || The faction whose forwarded command the host is applying right now, otherwise null. While it is set, your mod&amp;#039;s actions should refuse to touch another faction&amp;#039;s entities. The host itself already drops a forwarded operation whose actor (fleet, hab or army) does not belong to the sender. Look the property up optionally, older versions do not have it.&lt;br /&gt;
|}&lt;br /&gt;
Further rules: custom game-state types should set their owning faction, and always test with two game instances. [[TI Fleet Manager]], [[TI Space Nations]] and TI Missile Rework are working examples of the bridge.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Mods]] - community mods&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
&lt;br /&gt;
{{TI Multiplayer Navbox}}&lt;/div&gt;</summary>
		<author><name>76561198239355112</name></author>
	</entry>
</feed>