Halo: The Master Chief Collection · handler “Halo: The Master Chef Collection”
Version 13
Release notes
Minor fix.
- Released
- Size
- 1.3 MB
- Downloads
- 7,688
- Check
- Verified
- SHA-256
- 17f8f85be8699227b15e920f219ade80c38ac63692aa018b19e24605813d8afe
Files 4
| Path | Size |
|---|---|
| Halo The Master Chief Collection/steam_api64.dll | 2.7 MB |
| Halo The Master Chief Collection/unlockdb.xml | 190 KB |
| Halo The Master Chief Collection/xlive64.dll | 528 KB |
| handler.js | 13 KB |
handler.js
Plain textHub.Handler.Version = 13; // Released at https://hub.splitscreen.me/ on Mon Feb 01 2021 21:32:15 GMT+0000 (UTC).
Hub.Handler.Id = "xjBSwFNj3ndRntsZh";
Hub.Maintainer.Name = "dr.oldboi";
Hub.Maintainer.Id = "dPRj3q6kFtT4HvMGg";
var answers1 = ["Yes", "No"];
var answers2 = ["LAN", "Online"];
var answers3 = ["Default", "Enable", "Disable"];
var answers4 = ["Default", "Enable", "Disable"];
Game.AddOption("Unlock all?", "Unlocks all armors, skins, emblems and nameplates.", "Unlock", answers1);
Game.AddOption("LAN or Online?", "Online requires multiple xboxlive acc. and the diff. users option to be enabled.", "LAN", answers2);
Game.AddOption("Enable Launch as different users? Status: Disabled.", "When the instances launch close Nucleus, open the app again for it to enable.", "Users", answers3);
Game.AddOption("Enable experimental Xinput Reroute? Status: Disabled.", "When the instances launch close Nucleus, open it again for Reroute to enable.", "Reroute", answers4);
Game.KillMutex = ["Chelankenstein"];
Game.DirSymlinkExclusions = ["MCC\\Binaries\\Win64", "MCC\\Content\\Movies"];
Game.DirSymlinkCopyInstead = ["halo1\\original\\build\\shaders"];
Game.DirSymlinkCopyInsteadIncludeSubFolders = true;
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_api.dll", "xlive64.dll", "xinput1_3.dll", "FMS_logo_microsoft_7_1_.bk2", "unlockdb.xml"];
Game.FileSymlinkCopyInstead = ["xaudio2_9redist.dll"];
Game.CopyEnvFoldersToNucleusAccounts = ["AppData\\LocalLow\\MCC\\LocalFiles"];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergNoLocalSave = true;
Game.UseNucleusEnvironment = true;
Game.LaunchAsDifferentUsers = false;
Game.TransferNucleusUserAccountProfiles = true;
Game.UseCurrentUserEnvironment = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.HardlinkGame = true;
Game.SupportsKeyboard = true;
Game.KeyboardPlayerFirst = true;
Game.ExecutableName = "MCC-Win64-Shipping.exe";
Game.SteamID = "976730";
Game.GUID = "Halo MCC";
Game.GameName = "Halo: The Master Chief Collection";
Game.MaxPlayers = 16;
Game.MaxPlayersOneMonitor = 16;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.BinariesFolder = "MCC\\Binaries\\Win64";
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Halo: The Master Chief Collection";
Game.RefreshWindowAfterStart = true;
Game.ResetWindows = true;
Game.HookFocus = true;
Game.Hook.DInputEnabled = false;
Game.UseDInputBlocker = true;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.UseForceBindIP = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\976730\\remote";
Game.UserProfileSavePathNoCopy = true;
Game.Description =
"IMPORTANT: Your game and Nucleus need to be in the same drive for this to work but do not place Nucleus inside the game files. Change network type to LAN in the game settings for all instances then press x on your gamepad to join the other players. If the mouse stops responding, alt+tab to your mouse and keyboard instance if you launched one. The new offline LAN option is the default now and the recommended one being a lot easier to use but if you still want to use the old Online connection method you have to select the Online UI option and enable the launch as different users option too, this will allow you to play with other people through Xbox Live but modes that require EAC enabled (such as Matchmaking) will not work. Using these, Nucleus will launch all instances under different temporary windows users so each instance can log-in using different accounts and can connect to each other, you need to launch Nucleus as admin for this. Log in using different microsoft accounts in each instance, once it's done setting up, press OK on the prompt. To connect the instances open the rooster (by pressing X on the menu or hovering over it with the mouse) and invite all other players, you can also invite the other instaces if you use the invite friends option or press left shift+tab to invite the other players via the overlay that appears, use the mouse cursor, right click on them and select invite, close the overlay and accept the invitation quickly in the other instances with the cursor too. For this script to work Nucleus needs to be in the root of the drive you have your game on outside any users folders, C: is recommended, for example C:\\NucleusCoop, you can also try giving full permissions to the game and Nucleus folders to all users. You need internet connection if you are using the online option cause the instances connect via the xbox live servers. The Xinput Reroute UI option reroutes directinput back to xinput to track more than 4 gamepads on xinput at once allowing you to play with more than 4 xinput gamepads. Xbox one gamepads do not work with focus when using reroute because of the driver background input issue.";
Game.KeepSymLinkOnExit = false;
Game.PauseBetweenStarts = 40;
Game.Play = function() {
var Args = (Context.Args = " -windowed " + " -AlwaysFocus " + " -nosplash " + " -ResX= " + Context.Width + " -ResY= " + Context.Height);
Context.StartArguments = Args;
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\xaudio2_9redist.dll");
var savePkgOrigin = System.IO.Path.Combine(Context.OrigRootFolder, "xaudio2_9redist.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\load_dlls");
System.IO.Directory.CreateDirectory(filePath);
var dlc = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\DLC.txt";
var lines = [
"1109621=MCC - Reach: Extended Language Pack",
"1108760=MCC - H1: Extended Language Pack",
"1108761=MCC - H2: Extended Language Pack",
"1108762=MCC - H3: Extended Language Pack",
"1108763=MCC - ODST: Extended Language Pack",
"1109620=MCC - H4: Extended Language Pack",
"1097224=MCC - Reach (Content Pack 2)",
"1080080=MCC - H1: Multiplayer",
"1097223=MCC - H2: Multiplayer",
"1097222=MCC - H3: Multiplayer",
"1097220=MCC - H4: Multiplayer",
"1064273=Halo 4",
"1064272=Halo 3: ODST",
"1064271=Halo 3",
"1064270=Halo 2: Anniversary",
"1064221=Halo: Combat Evolved Anniversary",
"1064220=Halo: Reach"
];
Context.WriteTextFile(dlc, lines);
var depots = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\depots.txt";
var lines = [
"228987",
"228990",
"229005",
"976731",
"976732",
"976733",
"976734",
"976735",
"976736",
"976737",
"976738",
"976739",
"1064222",
"1064223",
"1064224",
"1064225",
"1064226",
"1064227",
"1064228",
"1064229",
"1064274",
"1064275",
"1064276"
];
Context.WriteTextFile(depots, lines);
var nolan = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\disable_lan_only.txt";
var lines = [""];
Context.WriteTextFile(nolan, lines);
var appid = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\steam_appid.txt";
var lines = ["976730"];
Context.WriteTextFile(appid, lines);
if (Context.NumControllers < 5) {
Game.Hook.XInputReroute = false;
} else {
Game.XInputPlusDll = ["dummy"];
Game.InjectHookXinput = true;
Game.InjectDinputToXinputTranslation = true;
}
if (Context.HasKeyboardPlayer == true) {
Game.PromptBetweenInstances = true;
Game.PreventWindowDeactivation = true;
Game.KeyboardPlayerSkipPreventWindowDeactivate = true;
} else {
Game.FakeFocus = true;
Game.SetForegroundWindowElsewhere = true;
}
var unlock = Context.Options["Unlock"];
var lan = Context.Options["LAN"];
var users = Context.Options["Users"];
var reroute = Context.Options["Reroute"];
if (unlock == "Yes") {
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\data\\ui\\unlockdb.xml");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "unlockdb.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
if (unlock == "No") {
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\data\\ui\\unlockdb.xml");
var savePkgOrigin = System.IO.Path.Combine(Context.OrigRootFolder, "data\\ui\\unlockdb.xml");
System.IO.File.Copy(savePkgOrigin, savePath, true);
}
if (lan == "LAN") {
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_api64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "steam_api64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_api64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "steam_api64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\load_dlls\\xlive64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "xlive64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var nonet = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings\\disable_networking.txt";
var lines = [""];
Context.WriteTextFile(nonet, lines);
}
if (lan == "Online") {
}
if (users == "Default") {
}
if (users == "Enable") {
var txtPath = Context.NucleusFolder + "\\scripts\\Halo The Master Chief Collection.js";
var dict = [
Context.FindLineNumberInTextFile(txtPath, 'Game.AddOption("Enable Launch as different users? Status:', Nucleus.SearchType.StartsWith) +
'|Game.AddOption("Enable Launch as different users? Status: Enabled.", "When the instances launch close Nucleus, open the app again for it to enable.", "Users", answers3);',
Context.FindLineNumberInTextFile(txtPath, "Game.LaunchAsDifferentUsers", Nucleus.SearchType.StartsWith) + "|Game.LaunchAsDifferentUsers = true;",
Context.FindLineNumberInTextFile(txtPath, "Game.UseNucleusEnvironment", Nucleus.SearchType.StartsWith) + "|Game.UseNucleusEnvironment = false;"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
}
if (users == "Disable") {
var txtPath = Context.NucleusFolder + "\\scripts\\Halo The Master Chief Collection.js";
var dict = [
Context.FindLineNumberInTextFile(txtPath, 'Game.AddOption("Enable Launch as different users? Status:', Nucleus.SearchType.StartsWith) +
'|Game.AddOption("Enable Launch as different users? Status: Disabled.", "When the instances launch close Nucleus, open the app again for it to enable.", "Users", answers3);',
Context.FindLineNumberInTextFile(txtPath, "Game.LaunchAsDifferentUsers", Nucleus.SearchType.StartsWith) + "|Game.LaunchAsDifferentUsers = false;",
Context.FindLineNumberInTextFile(txtPath, "Game.UseNucleusEnvironment", Nucleus.SearchType.StartsWith) + "|Game.UseNucleusEnvironment = true;"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
}
if (reroute == "Default") {
}
if (reroute == "Enable") {
var txtPath = Context.NucleusFolder + "\\scripts\\Halo The Master Chief Collection.js";
var dict = [
Context.FindLineNumberInTextFile(txtPath, 'Game.AddOption("Enable experimental Xinput Reroute? Status:', Nucleus.SearchType.StartsWith) +
'|Game.AddOption("Enable experimental Xinput Reroute? Status: Enabled.", "When the instances launch close Nucleus, open it again for Reroute to enable.", "Reroute", answers4);',
Context.FindLineNumberInTextFile(txtPath, "Game.UseDInputBlocker", Nucleus.SearchType.StartsWith) + "|Game.UseDInputBlocker = false;",
Context.FindLineNumberInTextFile(txtPath, "Game.Hook.XInputReroute", Nucleus.SearchType.StartsWith) + "|Game.Hook.XInputReroute = true;"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
}
if (reroute == "Disable") {
var txtPath = Context.NucleusFolder + "\\scripts\\Halo The Master Chief Collection.js";
var dict = [
Context.FindLineNumberInTextFile(txtPath, 'Game.AddOption("Enable experimental Xinput Reroute? Status:', Nucleus.SearchType.StartsWith) +
'|Game.AddOption("Enable experimental Xinput Reroute? Status: Disabled.", "When the instances launch close Nucleus, open it again for Reroute to enable.", "Reroute", answers4);',
Context.FindLineNumberInTextFile(txtPath, "Game.UseDInputBlocker", Nucleus.SearchType.StartsWith) + "|Game.UseDInputBlocker = true;",
Context.FindLineNumberInTextFile(txtPath, "Game.Hook.XInputReroute", Nucleus.SearchType.StartsWith) + "|Game.Hook.XInputReroute = false;"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
}
};