<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.shroudforge.net/index.php?action=history&amp;feed=atom&amp;title=DLL_Manager%2Fen-gb</id>
	<title>DLL Manager/en-gb - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.shroudforge.net/index.php?action=history&amp;feed=atom&amp;title=DLL_Manager%2Fen-gb"/>
	<link rel="alternate" type="text/html" href="https://wiki.shroudforge.net/index.php?title=DLL_Manager/en-gb&amp;action=history"/>
	<updated>2026-11-07T23:23:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.shroudforge.net/index.php?title=DLL_Manager/en-gb&amp;diff=432&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://wiki.shroudforge.net/index.php?title=DLL_Manager/en-gb&amp;diff=432&amp;oldid=prev"/>
		<updated>2026-11-06T21:44:17Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ShroudForge Modloader Wiki Post&lt;br /&gt;
title: DLL Manager&lt;br /&gt;
description: In the Modloader, open Compatibility → DLL Manager. The guide is shown at the top of that panel. It lists the mod DLLs ShroudForge found and whether they loaded. Known mods have prepared profiles. For other DLLs, select and confirm them there.&lt;br /&gt;
language: en-GB&lt;br /&gt;
picture:ShroudForge-Wiki-dll-manager.svg&lt;br /&gt;
creator: Bonsaibauer&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ShroudForge-Wiki-dll-manager.svg|thumb|left|600px|DLL Manager]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the Modloader, open &amp;#039;&amp;#039;&amp;#039;Compatibility → DLL Manager&amp;#039;&amp;#039;&amp;#039;. The guide is shown at the top of that panel. It lists the mod DLLs ShroudForge found and whether they loaded. Known mods have prepared profiles. For other DLLs, select and confirm them there.&lt;br /&gt;
&lt;br /&gt;
== Can I use more than one native DLL mod? ==&lt;br /&gt;
&lt;br /&gt;
Yes. Install each mod in its own folder directly under &amp;lt;code&amp;gt;mods/&amp;lt;/code&amp;gt;, and keep the files and subfolders supplied by the author. A matching profile may already provide the right DLL selection. For a mod without a matching profile, open &amp;#039;&amp;#039;&amp;#039;Adjust DLL selection&amp;#039;&amp;#039;&amp;#039; in the DLL Manager. Select only the entry DLLs named by the author. Choose the load target and confirm that you trust the DLL. Keep &amp;#039;&amp;#039;&amp;#039;Normal DLL&amp;#039;&amp;#039;&amp;#039; for ordinary native libraries. Choose &amp;#039;&amp;#039;&amp;#039;DirectInput proxy&amp;#039;&amp;#039;&amp;#039; only for a DLL intended to provide DirectInput that exports &amp;lt;code&amp;gt;DirectInput8Create&amp;lt;/code&amp;gt;. Click &amp;#039;&amp;#039;&amp;#039;Apply selection&amp;#039;&amp;#039;&amp;#039;, then restart the game. Detection alone does not load an unprofiled DLL. It needs a confirmed DLL Manager selection, a declaration in &amp;lt;code&amp;gt;native-plugin.ini&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;dinput8-chain.ini&amp;lt;/code&amp;gt;, or registration by its Lua mod.&lt;br /&gt;
&lt;br /&gt;
== What should I do with a downloaded mod? ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;No DLL included:&amp;#039;&amp;#039;&amp;#039; Install the mod as usual. Mods made for ShroudForge or EML do not need an extra native DLL.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DLL included:&amp;#039;&amp;#039;&amp;#039; Put the mod DLL in its mod folder as shown below. It then appears in the DLL Manager. A known profile already has its selection prepared. Otherwise, select the DLL there and confirm it.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Other mod files included:&amp;#039;&amp;#039;&amp;#039; Keep the complete mod folder. Do not remove files such as &amp;lt;code&amp;gt;mod.json&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;native-plugin.ini&amp;lt;/code&amp;gt; or configuration files.&lt;br /&gt;
&lt;br /&gt;
== If one mod contains several DLL files ==&lt;br /&gt;
&lt;br /&gt;
Many mod folders contain DLLs that are only helper files. Select only the DLLs named for loading by the mod profile or the mod author&amp;#039;s instructions. The up and down controls set the order of selected DLLs within that mod folder. They do not set a global manual order for ordinary DLLs across separate mod folders.&lt;br /&gt;
&lt;br /&gt;
== Installing a mod DLL ==&lt;br /&gt;
&lt;br /&gt;
If the ShroudForge installer recognizes the downloaded mod package, install it there. For a manual install, give each mod its own folder directly under &amp;lt;code&amp;gt;mods/&amp;lt;/code&amp;gt; and put the mod&amp;#039;s DLL in that folder. If the DLL sits beside the mod folder in the archive, put it with the mod. Keep the original filename and the package&amp;#039;s subfolders.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mods/&lt;br /&gt;
  my-mod/&lt;br /&gt;
    mod.json        (if included)&lt;br /&gt;
    dinput8.dll     (or the mod&amp;#039;s DLL)&lt;br /&gt;
    config.ini      (if included)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A DLL does not load just because it is in the folder. Select it in the DLL Manager as described above.&lt;br /&gt;
&lt;br /&gt;
== Why can the mod file also be named dinput8.dll? ==&lt;br /&gt;
&lt;br /&gt;
ShroudForge&amp;#039;s own startup file is &amp;lt;code&amp;gt;dinput8.dll&amp;lt;/code&amp;gt; in the game folder. The mod file is separate at &amp;lt;code&amp;gt;mods/&amp;amp;lt;mod-folder&amp;amp;gt;/dinput8.dll&amp;lt;/code&amp;gt;. ShroudForge loads it from that full path. With a matching profile or DLL Manager selection, ShroudForge forwards DirectInput calls to it. Both files can keep the same name. Do not rename the mod file or put it in the game folder. Do not replace ShroudForge&amp;#039;s startup file there.&lt;br /&gt;
&lt;br /&gt;
== Understanding profiles ==&lt;br /&gt;
&lt;br /&gt;
A profile is a prepared setting for a known mod. It tells ShroudForge which files to load and how. ShroudForge matches it by the mod ID in &amp;lt;code&amp;gt;mod.json&amp;lt;/code&amp;gt;, or by the folder name if there is no ID. You can also choose a profile in the DLL Manager. Profiles do not change mod files. A saved custom DLL selection replaces the profile&amp;#039;s file selection.&lt;br /&gt;
&lt;br /&gt;
== Existing DirectInput chain ==&lt;br /&gt;
&lt;br /&gt;
An existing game-folder &amp;lt;code&amp;gt;dinput8-chain.ini&amp;lt;/code&amp;gt; uses the established format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Chain]&lt;br /&gt;
mods\my-mod\dinput8.dll&lt;br /&gt;
mods\another-mod\native.dll&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries must resolve to files inside direct mod packages such as &amp;lt;code&amp;gt;mods/&amp;amp;lt;mod-folder&amp;amp;gt;/&amp;lt;/code&amp;gt;. Game-root DLLs and paths outside those packages are rejected. Their order takes priority over automatically derived declarations. This file sets order for the DirectInput provider chain, not for ordinary DLLs across mod folders. The same resolved file path is loaded only once. The first valid DLL exporting its own &amp;lt;code&amp;gt;DirectInput8Create&amp;lt;/code&amp;gt; receives forwarded calls. Later DirectInput proxy DLLs may still load, but their DirectInput exports are not active in the chain. Do not assume that multiple proxies will work together. Own startup files are skipped, and recursive forwarding falls back to the original Windows library.&lt;br /&gt;
&lt;br /&gt;
== Switches, process target and restarting ==&lt;br /&gt;
&lt;br /&gt;
The main switch controls all native loading performed by ShroudForge, including INI, profile, chain and Lua registration. A disabled selection suppresses automatic loading for that folder. Client, server or both determines the target process. Filename exclusions apply immediately before loading. They do not identify a mod&amp;#039;s functionality from its name.&lt;br /&gt;
&lt;br /&gt;
Loaded DLLs remain in memory until the process exits. Disabling them, changing the order or choosing another profile therefore requires restarting the game. Duplicate declarations of one file do not create another instance.&lt;br /&gt;
&lt;br /&gt;
== A loading error appears ==&lt;br /&gt;
&lt;br /&gt;
Check the mod name, file path and cause. Windows error 126 can mean a missing main file or one of its required libraries. If the DirectInput export is missing, check the selected file and its loading mode. “Loaded” confirms loading, rather than every feature of the mod.&lt;br /&gt;
&lt;br /&gt;
An unknown native plugin format, Vulkan layer, additional complete loader or external program needs its intended integration. Loading a library alone does not replace that interface.&lt;br /&gt;
&lt;br /&gt;
== Installing packages ==&lt;br /&gt;
&lt;br /&gt;
The installer also finds a single mod package in nested archive folders. Known profiles import explicitly named companion files. A fresh archive containing several mod packages is not installed automatically as a group. Extract it and install one mod folder at a time. Normal runtime operation does not open archives or start external programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:guide:Shroudforge]]&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>