Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

Halo: The Master Chief Collection · handler “Halo: The Master Chef Collection”

Version 7

Release notes

H4 Update

Released
Size
2.1 KB
Downloads
4,715
Check
Verified
SHA-256
b66ee1a047dc40896316821093b1e9fd9304bf921936b430e2d88c57272637fc
Download v7 (.nc)All versions

Files 1

PathSize
handler.js6.5 KB

handler.js

Plain text
Hub.Handler.Version = 7; // Released at https://hub.splitscreen.me/ on Tue Nov 17 2020 17:23:26 GMT+0000 (UTC).
Hub.Handler.Id = "xjBSwFNj3ndRntsZh";
Hub.Maintainer.Name = "dr.oldboi";
Hub.Maintainer.Id = "dPRj3q6kFtT4HvMGg";

Game.KillMutex = ["Chelankenstein"];
Game.DirSymlinkExclusions = ["MCC\\Binaries\\Win64", "MCC\\Content\\Movies", "halo1\\original\\build\\shaders"];
Game.FileSymlinkCopyInstead = ["xaudio2_9redist.dll"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_api.dll", "xinput1_3.dll", "FMS_logo_microsoft_7_1_.bk2", "fx.bin", "fx_xbox1.bin", "psh.bin", "psh_xbox1.bin", "vsh.bin", "vsh_xbox1.bin"];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergExperimental = true;
Game.LaunchAsDifferentUsers = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.HardlinkGame = true;
Game.SupportsKeyboard = false;
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.SupportsPositioning = true;
Game.HideTaskbar = false;
Game.BinariesFolder = "MCC\\Binaries\\Win64";
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Halo: The Master Chief Collection";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.FakeFocus = true;
Game.HookFocus = true;
Game.UseForceBindIP = true;
Game.Hook.CustomDllEnabled = false;
Game.Description =
  "The script launches all the instances under different temporary users so you need to launch Nucleus as admin. Your game and Nucleus need to be in the same drive for this to work but do not place Nucleus inside the game files. Log in using different microsoft accounts in each instance. To connect the instances press x on gamepad and use the invite friends or the find other players option, if you use the invite friends option or press left shift+tab you can 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. If the script doesn't work or you get a game crash error try moving Nucleus or the full game outside user folders like Documents, moving them to C: is recommended, you can also try giving full permissions to the game and nucleus folders to all users. You need internet connection cause the instances connect via the xbox live servers.";
Game.PauseBetweenStarts = 30;

Game.Play = function() {
  var haloroot = Context.RootInstallFolder.slice(0, -19);
  var SourcePath = System.IO.Path.Combine(haloroot, "halo1\\original\\build\\shaders");
  var DestinationPath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo1\\original\\build\\shaders\\";

  if (System.IO.Directory.Exists(SourcePath)) {
    // Game.DirSymlinkCopyInstead = ["halo1\\original\\build\\shaders"];

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "fx.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "fx.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "fx_xbox1.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "fx_xbox1.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "psh.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "psh.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "psh_xbox1.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "psh_xbox1.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "vsh.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "vsh.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);

    var savePkgOrigin = System.IO.Path.Combine(SourcePath, "vsh_xbox1.bin");
    var savePkgDest = System.IO.Path.Combine(DestinationPath, "vsh_xbox1.bin");
    System.IO.File.Copy(savePkgOrigin, savePkgDest, true);
  }

  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.RootFolder, "xaudio2_9redist.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\MCC\\Binaries\\Win64\\steam_settings");
  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 = [
    "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);
};