Dark Souls III · handler “Dark Souls 3 Seamless Co-op”
Version 1
Release notes
New year release!
- Released
- Size
- 8.9 MB
- Downloads
- 50
- Check
- Verified
- SHA-256
- 95acb3c9d511e37b04cbf5c51cf0b14d62d1b30b678ae179d6793cdcdf17e6d9
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.1 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sat Jan 01 2022 06:23:17 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 import server and select the server.ds3osconfig file that is located in the same path as the DarkSoulsIII exe you see in the open server loader window "DarkSoulsIII.exe Location", 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.';
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");
}
};