Halo: The Master Chief Collection · handler “Halo: The Master Chef Collection”
Version 18
Release notes
S7 fix
- Released
- Size
- 1.3 MB
- Downloads
- 254
- Check
- Verified
- SHA-256
- 7d93396936e070806267851313356fa84e00fa1a08a1e0b64b391d9444c8eeb5
Files 4
| Path | Size |
|---|---|
| Halo The Master Chief Collection/steam_api64.dll | 2.7 MB |
| Halo The Master Chief Collection/unlockdb.xml | 248 KB |
| Halo The Master Chief Collection/xlive64.dll | 530 KB |
| handler.js | 13 KB |
handler.js
Plain textHub.Handler.Version = 18; // Released at https://hub.splitscreen.me/ on Sat Jun 26 2021 20:26:59 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\\steam_settings\\load_dlls", "mcc\\Content\\Movies", "data\\ui", "halo1\\original\\build\\shaders"];
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"];
Game.FileSymlinkCopyInstead = [
"gametiplist.xml",
"playercustomization.xml",
"scoredb.xml",
"texturepacks.xml",
"unlockdb.xml",
"app.config",
"BuildOptions_PC64Content.xml",
"d3dcompiler_47.dll",
"SC_DLL.dll",
"SwitchSandbox.cmd",
"fmod_event_net64.dll",
"fmodex64.dll",
"game.cfg",
"halo1.dll",
"user.cfg",
"bink2w64.dll",
"cell_release_x64_4_0.dll",
"halonetworklayer_ship.dll",
"liblz4.dll",
"PartyWin.dll",
"PartyWin7.dll",
"simplenetworklibrary-x64-release.dll",
"xaudio2_9redist.dll",
"xforgelibrary_release.dll"
];
Game.CopyEnvFoldersToNucleusAccounts = ["AppData\\LocalLow\\MCC\\LocalFiles"];
Game.UseNucleusEnvironment = true;
Game.UseGoldberg = true;
Game.GoldbergExperimental = true;
Game.GoldbergNoLocalSave = true;
Game.LaunchAsDifferentUsers = false;
Game.TransferNucleusUserAccountProfiles = true;
Game.UseCurrentUserEnvironment = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.HardlinkGame = false;
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.HookFocus = true;
Game.ResetWindows = true;
Game.RefreshWindowAfterStart = true;
Game.Hook.DInputEnabled = false;
Game.UseDInputBlocker = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.InjectHookXinput = false;
Game.InjectDinputToXinputTranslation = false;
Game.Hook.CustomDllEnabled = false;
Game.UseForceBindIP = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\976730\\remote";
Game.UserProfileConfigPath = "AppData\\LocalLow\\MCC";
Game.UserProfileSavePathNoCopy = true;
Game.UserProfileConfigPathNoCopy = true;
Game.Description =
"IMPORTANT: 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, 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, easy anticheat modes not supported. 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 your drive 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() {
Context.StartArguments = "-windowed -AlwaysFocus -nosplash" + " -ResX=" + Context.Width + " -ResY=" + Context.Height;
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",
"1109620=MCC - H4: Extended Language Pack",
"1108763=MCC - ODST: Extended Language Pack",
"1108762=MCC - H3: Extended Language Pack",
"1108761=MCC - H2: Extended Language Pack",
"1108760=MCC - H1: Extended Language Pack",
"1097224=MCC - Reach (Content Pack 2)",
"1097223=MCC - H2: Multiplayer",
"1097222=MCC - H3: Multiplayer",
"1097220=MCC - H4: Multiplayer",
"1080080=MCC - H1: 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 = [
"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.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") {
}
if (lan == "LAN") {
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.XInputPlusDll", Nucleus.SearchType.StartsWith) + '|Game.XInputPlusDll = ["xinput1_0.dll"];',
Context.FindLineNumberInTextFile(txtPath, "Game.InjectHookXinput", Nucleus.SearchType.StartsWith) + "|Game.InjectHookXinput = true;",
Context.FindLineNumberInTextFile(txtPath, "Game.InjectDinputToXinputTranslation", Nucleus.SearchType.StartsWith) + "|Game.InjectDinputToXinputTranslation = true;",
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.XInputPlusDll", Nucleus.SearchType.StartsWith) + '|Game.XInputPlusDll = ["xinput1_3.dll"];',
Context.FindLineNumberInTextFile(txtPath, "Game.InjectHookXinput", Nucleus.SearchType.StartsWith) + "|Game.InjectHookXinput = false;",
Context.FindLineNumberInTextFile(txtPath, "Game.InjectDinputToXinputTranslation", Nucleus.SearchType.StartsWith) + "|Game.InjectDinputToXinputTranslation = false;",
Context.FindLineNumberInTextFile(txtPath, "Game.Hook.XInputReroute", Nucleus.SearchType.StartsWith) + "|Game.Hook.XInputReroute = false;"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
}
};