Dark Souls III · handler “Dark Souls 3 Seamless Co-op”
Version 2
Release notes
Fixed notes.
- Released
- Size
- 8.9 MB
- Downloads
- 3,468
- Check
- Verified
- SHA-256
- 72631443062359642eaeac8cc8bcfdf219ab2f38856a25d38ccd39cbe7e427d8
Files 16
| Path | Size |
|---|---|
| DarkSouls3/Loader/Loader.deps.json | 414 B |
| DarkSouls3/Loader/Loader.dll | 762 KB |
| DarkSouls3/Loader/Loader.exe | 303 KB |
| DarkSouls3/Loader/Loader.runtimeconfig.dev.json | 182 B |
| DarkSouls3/Loader/Loader.runtimeconfig.json | 154 B |
| DarkSouls3/Loader/ref/Loader.dll | 194 KB |
| DarkSouls3/Server/libcrypto-1_1-x64.dll | 3.3 MB |
| DarkSouls3/Server/libcurl.dll | 497 KB |
| DarkSouls3/Server/Saved/config.json | 4.4 KB |
| DarkSouls3/Server/Saved/database.sqlite | 7.4 MB |
| DarkSouls3/Server/Saved/private.key | 1.7 KB |
| DarkSouls3/Server/Saved/public.key | 434 B |
| DarkSouls3/Server/Saved/server.ds3osconfig | 701 B |
| DarkSouls3/Server/Server.exe | 2.3 MB |
| DarkSouls3/Server/zlib1.dll | 85 KB |
| handler.js | 7.5 KB |
handler.js
Plain textHub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Sat Jan 01 2022 12:19:37 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "8ToryPKXFmff7D8h7";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["No", "Yes"];
Game.AddOption("Souls Unsqueezed mod?", "Only select yes if you have it installed, fixes stretching in split-screen.", "Mod", answers1);
Game.ExecutableContext = ["binkw64.dll"];
Game.KillMutex = ["DarkSoulsIIIMutex"];
Game.DirSymlinkExclusions = ["Server\\Saved", "Loader\\ref"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "steam_interfaces.txt"];
Game.FileSymlinkCopyInstead = ["SoulsUnsqueezed.ini", "dxgi.ini"];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "DarkSoulsIII.exe";
Game.SteamID = "374320";
Game.GUID = "DARK SOULS III";
Game.GameName = "DARK SOULS III";
Game.MaxPlayers = 6;
Game.MaxPlayersOneMonitor = 6;
Game.LauncherTitle = "";
Game.LauncherExe = "Loader\\Loader.exe";
Game.LauncherExeIgnoreFileCheck = true;
Game.StartArguments = "";
Game.HideTaskbar = false;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "DARK SOULS III";
Game.HookFocus = true;
Game.SetForegroundWindowElsewhere = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.UserProfileSavePath = "AppData\\Roaming\\DarkSoulsIII";
Game.Description =
'IMPORTANT: Launch with Steam opened. When launching this the DarkSouls III server and server loader windows will open, in the open server loader window select and remove all the servers in the list if you see any, then click on the ... to the right of "DarkSoulsIII.exe Location" and select the first instance DarkSoulsIII exe inside Nucleus content folder, the path in the "DarkSoulsIII.exe Location" should look like NucleusCo-op\\content\\DARK SOULS III\\Instance0\\DarkSoulsIII.exe. Next click import server and select the server.ds3osconfig file that is located in the same path as the DarkSoulsIII exe Location you now see in the open server loader window. After importing the file select the Nucleus server in the list and click launch game, once the game instance launches you can close the launcher window, repeat the same process for all instances, select a different instance folder per instance, the path in the "DarkSoulsIII.exe Location" should look like \\content\\DARK SOULS III\\Instance1\\ for the second instance for example.';
Game.KeepSymLinkOnExit = false;
Game.PromptBetweenInstances = true;
Game.PauseBetweenContextAndLaunch = 7;
Game.PauseBetweenProcessGrab = 35;
Game.PauseBetweenStarts = 35;
Game.Play = function() {
var interfaces = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_interfaces.txt";
var lines = [
"SteamClient012",
"SteamGameServer011",
"SteamGameServerStats001",
"SteamUser016",
"SteamFriends013",
"SteamUtils005",
"SteamMatchMaking009",
"SteamMatchMakingServers002",
"STEAMUSERSTATS_INTERFACE_VERSION011",
"STEAMAPPS_INTERFACE_VERSION005",
"SteamNetworking005",
"STEAMREMOTESTORAGE_INTERFACE_VERSION010",
"STEAMSCREENSHOTS_INTERFACE_VERSION002",
"STEAMHTTP_INTERFACE_VERSION002",
"STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001"
];
Context.WriteTextFile(interfaces, lines);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\ref");
System.IO.Directory.CreateDirectory(filePath);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\Loader.exe");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\Loader.exe");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\Loader.deps.json");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\Loader.deps.json");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\Loader.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\Loader.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\Loader.runtimeconfig.dev.json");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\Loader.runtimeconfig.dev.json");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\Loader.runtimeconfig.json");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\Loader.runtimeconfig.json");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Loader\\ref\\Loader.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Loader\\ref\\Loader.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\server.ds3osconfig");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Server\\Saved\\server.ds3osconfig");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var xml = Context.NucleusUserRoot + "\\AppData\\Roaming\\DarkSoulsIII\\GraphicsConfig.xml";
var Gamefolder = System.IO.Path.Combine(Game.Folder);
Context.RunAdditionalFiles(["1|" + Gamefolder + "\\Server\\Server.exe"], false, 1);
Game.KillProcessesOnClose = ["Server", "Loader", "cmd"];
if (System.IO.File.Exists(xml)) {
System.IO.File.SetAttributes(xml, System.IO.File.GetAttributes(xml) & ~System.IO.FileAttributes.ReadOnly);
}
var mod = Context.Options["Mod"];
if (mod == "Yes") {
var path = Context.NucleusUserRoot + "\\AppData\\Roaming\\DarkSoulsIII\\GraphicsConfig.xml";
Context.ChangeXmlNodeInnerTextValue(path, "//ScreenMode", "WINDOW");
Context.ChangeXmlNodeInnerTextValue(path, "//Resolution-WindowScreenWidth", Context.Width);
Context.ChangeXmlNodeInnerTextValue(path, "//Resolution-WindowScreenHeight", Context.Height);
var videoconfig = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\SoulsUnsqueezed.ini");
Context.ModifySaveFile(videoconfig, videoconfig, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SUS.Window", "Borderless", "false"),
new Nucleus.IniSaveInfo("SUS.Window", "Fullscreen", "false"),
new Nucleus.IniSaveInfo("SUS.Window", "Center", "false"),
new Nucleus.IniSaveInfo("SUS.Display", "HUDResX", Context.Width),
new Nucleus.IniSaveInfo("SUS.Display", "HUDResY", Context.Height),
new Nucleus.IniSaveInfo("SUS.Display", "StretchHUD", "false"),
new Nucleus.IniSaveInfo("SUS.Render", "CorrectAspect", "true"),
new Nucleus.IniSaveInfo("SUS.Render", "StartFullscreen", "false"),
new Nucleus.IniSaveInfo("SUS.Render", "DefaultResX", Context.Width),
new Nucleus.IniSaveInfo("SUS.Render", "DefaultResY", Context.Height)
]);
}
if (mod == "No") {
var path = Context.NucleusUserRoot + "\\AppData\\Roaming\\DarkSoulsIII\\GraphicsConfig.xml";
Context.ChangeXmlNodeInnerTextValue(path, "//ScreenMode", "WINDOW");
}
};