Hollow Knight · handler “Hollow Knight Multiplayer Mod”
Version 1
Release notes
First Release
- Released
- Size
- 13.1 MB
- Downloads
- 216
- Check
- Verified
- SHA-256
- ecb3dc7a40b76a5884307900130bf4064090af9c0be8e6af0b89f5bedadb3cdc
Files 9
| Path | Size |
|---|---|
| handler.js | 9.2 KB |
| HollowKnight/P2/Assembly-CSharp.dll | 14.2 MB |
| HollowKnight/P2/Assembly-CSharp.xml | 108 KB |
| HollowKnight/P3/Assembly-CSharp.dll | 14.2 MB |
| HollowKnight/P3/Assembly-CSharp.xml | 108 KB |
| HollowKnight/P4/Assembly-CSharp.dll | 14.2 MB |
| HollowKnight/P4/Assembly-CSharp.xml | 108 KB |
| HollowKnight/P5/Assembly-CSharp.dll | 14.2 MB |
| HollowKnight/P5/Assembly-CSharp.xml | 108 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sun Feb 14 2021 19:48:37 GMT+0000 (UTC).
Hub.Handler.Id = "sWgnoTqjmk8M49QML";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["Yes", "No"];
Game.AddOption("Letterboxing/Pillarboxing fix?", "Removes the black bars in splitscreen.", "Pillar", answers1);
Game.DirSymlinkExclusions = ["hollow_knight_Data\\Plugins", "hollow_knight_Data\\Managed\\Mods\\Disabled"];
Game.FileSymlinkExclusions = [
"steam_api.dll",
"steam_appid.txt",
"MultiplayerClient.dll",
"MultiplayerServer.dll",
"Assembly-CSharp.dll",
"Assembly-CSharp.xml",
"dinput8.dll",
"xinput1_3.dll",
"xinput1_4.dll"
];
Game.FileSymlinkCopyInstead = ["ModCommon.dll", "CustomKnight.dll"];
Game.GameName = "Hollow Knight";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SupportsKeyboard = true;
Game.ExecutableName = "hollow_knight.exe";
Game.SteamID = "367520";
Game.GUID = "Hollow Knight";
Game.MaxPlayers = 5;
Game.MaxPlayersOneMonitor = 5;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Hollow Knight";
Game.FakeFocus = true;
Game.Hook.DInputEnabled = false;
Game.UseDInputBlocker = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll", "xinput1_4.dll"];
Game.Hook.CustomDllEnabled = false;
Game.BlockRawInput = true;
Game.UserProfileSavePath = "AppData\\LocalLow\\Team Cherry\\Hollow Knight";
Game.Description =
"IMPORTANT: This script only works with the Hollow Knight Multiplayer mod, make sure you install the Mod Common, Multiplayer Client and Multiplayer Server mods using the Hollow Knight Mod Installer/Mod Manager by Gradow in your main game files first. Use a different save slot per instance. If you start a new game wait until you reach Dirthmouth after the tutorial to connect the instances. To connect the instances press start in the first instance and click connect using the mouse cursor, do the same in the other instances, alt-tab between instances to use the keyboard to change name.";
Game.KeepSymLinkOnExit = false;
Game.PauseBetweenStarts = 40;
Game.Play = function() {
var Args = (Context.Args = " -screen-fullscreen 0 -popupwindow " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);
Context.StartArguments = Args;
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\Team Cherry\\Hollow Knight", "Screenmanager Is Fullscreen mode_h3981298716", 0, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\Team Cherry\\Hollow Knight", "Screenmanager Resolution Height_h2627697771", Context.Height, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\Team Cherry\\Hollow Knight", "Screenmanager Resolution Width_h182942802", Context.Width, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\Team Cherry\\Hollow Knight", "NativeInput_h1840871570", 1, Nucleus.RegType.DWord);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Mods\\Disabled");
System.IO.Directory.CreateDirectory(filePath);
if (Context.PlayerID == 0) {
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Assembly-CSharp.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Assembly-CSharp.dll"),
true
);
}
if (Context.PlayerID == 1) {
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\Disabled\\MultiplayerServer.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
true
);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P2\\Assembly-CSharp.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.xml");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P2\\Assembly-CSharp.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
if (Context.PlayerID == 2) {
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\Disabled\\MultiplayerServer.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
true
);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P3\\Assembly-CSharp.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.xml");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P3\\Assembly-CSharp.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
if (Context.PlayerID == 3) {
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\Disabled\\MultiplayerServer.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
true
);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P4\\Assembly-CSharp.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.xml");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P4\\Assembly-CSharp.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
if (Context.PlayerID == 4) {
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerServer.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\Disabled\\MultiplayerServer.dll"),
true
);
System.IO.File.Copy(
System.IO.Path.Combine(Context.RootInstallFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Mods\\MultiplayerClient.dll"),
true
);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P5\\Assembly-CSharp.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\hollow_knight_Data\\Managed\\Assembly-CSharp.xml");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "P5\\Assembly-CSharp.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
var pillar = Context.Options["Pillar"];
if (pillar == "Yes") {
//remove pillar boxing
Context.PatchFileFindAll(
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Assembly-CSharp.dll"),
System.IO.Path.Combine(Context.RootFolder, "hollow_knight_Data\\Managed\\Assembly-CSharp.dll"),
[0x39, 0x8e, 0xe3, 0x3f],
Context.ConvertToBytes(Context.AspectRatioDecimal)
);
}
if (pillar == "No") {
}
};