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

Call of Duty: Black Ops II · handler “Call of Duty: Black Ops II Multiplayer”

Version 1

Release notes

First R4 release

Released
Size
2.1 MB
Downloads
416
Check
Unverified
SHA-256
398f455086ea50a49cd26e926306369a435453b3a63dc14c09d1bd25f8294a15
Download v1 (.nc)All versions

Files 31

PathSize
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Cloud/iotd-english.jpg72 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Cloud/iotd-english.jpg.Manifest2 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Cloud/iotd-english.png30 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Cloud/iotd-english.png.Manifest2 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/dedicatedleaderboards.csv36 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/ffotd_tu0_mp_147.ff2.6 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/ffotd_tu17_mp_147.ff.0043 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/ffotd_tu17_zm_147.ff.0062 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/ffotd_tu17_zm_147.ff.018.6 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/iotd-english.jpg72 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/iotd-english.png30 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/largeheatmap.raw7.8 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/lsssk059 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/lsssk159 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/online_tu17_mp_english.wad46 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/online_tu17_zm_english.wad24 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/online_tu8_mp_english.wad5.9 KB
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/statskeyPRIVATE.dat59 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/statskeyPUBLIC.dat59 B
codblops2mp/Ayria/Assets/Alwaysoffline/18397/Server/sv_ffotd_tu8_mp_147.ff.0042 KB
codblops2mp/Ayria/Plugins/Alwaysoffline.Localnet321.7 MB
codblops2mp/Ayria/Plugins/Localnetworking.Ayria32511 KB
codblops2mp/Ayria/Plugins/Platformwrapper.Ayria32701 KB
codblops2mp/binkw32.dll212 KB
codblops2mp/binkw32.dll.2212 KB
codblops2mp/Bootstrapper32.dll132 KB
codblops2mp/Dll3.dll456 KB
codblops2mp/hardware_mp.chp4.0 KB
codblops2mp/user_common.cgp.music1000 B
codblops2mp/user_common.cgp.nomusic1000 B
handler.js19 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sat Nov 07 2020 17:05:54 GMT+0000 (UTC).
Hub.Handler.Id = "2W4NKZCTYmLqpwxrY";
Hub.Maintainer.Name = "PoundlandBacon";
Hub.Maintainer.Id = "AdiAjSyfZPMvu3a4M";

var answers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18"];
var answers1 = ["No", "Yes"];
var answers2 = ["Manual/Current Settings", "Yes", "No"];
Game.AddOption("Enable music only in the first instance?", '"Manual/Current Settings" will not touch the instances current settings.', "Mus", answers2);
Game.AddOption("Change graphics settings?", "Allows you to change graphics settings, for all players, in the first instance", "Gra", answers1);
Game.AddOption("PC-ID", "If you are playing with other PCs in LAN, be sure to have different IDs", "Id", answers);
Game.AddOption("Add PC-ID number in nicknames?", "If different nicknames are not set in Nucleus, this will still allow LAN.", "Nik", answers1);

Game.FileSymlinkExclusions = ["binkw32.dll", "t6mp.exe", "t6sp.exe", "t6zm.exe", "hardware_mp.chp", "user_common.cgp"];
Game.GameName = "Call of Duty Black Ops 2 Multiplayer";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.KeepSymLinkOnExit = true;
Game.ForceSymlink = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "t6mp.exe";
Game.SteamID = "202970";
Game.GUID = "CallofDutyBlackOps2MP";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = false;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Call of Duty: Black Ops II - Multiplayer";
Game.HasDynamicWindowTitle = true;
Game.ForceWindowTitle = true;
Game.HookFocus = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.DInputEnabled = false;
Game.PauseBetweenStarts = 20;
Game.PreventWindowDeactivation = true;
Game.SetForegroundWindowElsewhere = true;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.ResetWindows = true;
Game.Description =
  "Requires the steam version of the game, it's recommended you have the dlc too. Steam doesn't need to be running when you use the script. The game needs to be set to English language for the script to work. You can change this by right clicking the game in your steam library and selecting the properties menu, then selecting the Language tab. Select English from the dropdown menu and the required files will be downloaded. Your antivirus may delete files the script needs, if the script doesn't work this is the first thing to check. If you find it has deleted files you may need to remove and redownload the script. The settings files for the game are encrypted, so you will need so set your resolution in game or it will render at the default resolution, even after the windows resize. We included an option to let you change your settings for the first player, which will be copied to all other players. Alternatively you can change them in game per player. Not all changes will be made until the next launch of the game. There are two ways to start a game: 1) The first player starts searching for an online game (it will only find players connected to your local network) after around 7 seconds it will stop searching and start hosting instead, at this point the other players can join by searching the same game mode via the online menu. This mode fully simulates online, automatically populating the empty player slots with bots. You can also rank up/unlock as you would online. 2) The first player creates a custom game and then uses the friends menu to send invites to the other players. For invites to work reliably make sure you select Online at the main menu BEFORE the next instance opens. Credits/Thanks to The Project Nova Team https://projectnova.us/ for the LAN mod, and Pinecone from their forums for his invaluable advice! Script contributors: Rip3535, Pizzo and Zerofox. Also huge thanks to Talos, Dr.Oldboi and the rest of the SplitScreenDreams discord.";

Game.Play = function() {
  if (Context.AspectRatioDecimal > 1.8) {
    Context.PatchFile(System.IO.Path.Combine(Context.RootInstallFolder, "t6mp.exe"), System.IO.Path.Combine(Context.RootFolder, "t6mp.exe"), [0x39, 0x8e, 0xe3, 0x3f], [0x39, 0x8e, 0x63, 0x40]);
  } else if (Context.AspectRatioDecimal < 1.3) {
    Context.PatchFile(System.IO.Path.Combine(Context.RootInstallFolder, "t6mp.exe"), System.IO.Path.Combine(Context.RootFolder, "t6mp.exe"), [0x39, 0x8e, 0xe3, 0x3f], [0x39, 0x8e, 0x63, 0x3f]);
  } else {
    Context.PatchFile(System.IO.Path.Combine(Context.RootInstallFolder, "t6mp.exe"), System.IO.Path.Combine(Context.RootFolder, "t6mp.exe"), [0x39, 0x8e, 0xe3, 0x3f], [0x39, 0x8e, 0xe3, 0x3f]);
  }

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Cloud");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper\\209170");
  System.IO.Directory.CreateDirectory(filePath);

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Plugins");
  System.IO.Directory.CreateDirectory(filePath);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Bootstrapper32.dll");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Bootstrapper32.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.jpg");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.jpg");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.jpg.Manifest");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.jpg.Manifest");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.png");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.png");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.png.Manifest");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Cloud\\iotd-english.png.Manifest");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\dedicatedleaderboards.csv");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\dedicatedleaderboards.csv");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu0_mp_147.ff");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu0_mp_147.ff");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_mp_147.ff.00");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_mp_147.ff.00");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_zm_147.ff.00");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_zm_147.ff.00");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_zm_147.ff.01");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\ffotd_tu17_zm_147.ff.01");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\iotd-english.jpg");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\iotd-english.jpg");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\iotd-english.png");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\iotd-english.png");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\largeheatmap.raw");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\largeheatmap.raw");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\lsssk0");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\lsssk0");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\lsssk1");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\lsssk1");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu8_mp_english.wad");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu8_mp_english.wad");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu17_mp_english.wad");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu17_mp_english.wad");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu17_zm_english.wad");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\online_tu17_zm_english.wad");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\statskeyPRIVATE.dat");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\statskeyPRIVATE.dat");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\statskeyPUBLIC.dat");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\statskeyPUBLIC.dat");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Alwaysoffline\\18397\\Server\\sv_ffotd_tu8_mp_147.ff.00");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Assets\\Alwaysoffline\\18397\\Server\\sv_ffotd_tu8_mp_147.ff.00");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Plugins\\Alwaysoffline.Localnet32");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Plugins\\Alwaysoffline.Localnet32");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Plugins\\Localnetworking.Ayria32");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Plugins\\Localnetworking.Ayria32");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Plugins\\Platformwrapper.Ayria32");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Ayria\\Plugins\\Platformwrapper.Ayria32");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var nik = Context.Options["Nik"];
  var id = Context.Options["Id"];

  if (nik == "No") {
    var UserName = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper\\Username.txt";
    var lines = [Context.Nickname];
    Context.WriteTextFile(UserName, lines);
  }
  if (nik == "Yes") {
    if (id == "1") {
      var UserName = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper\\Username.txt";
      var lines = [Context.Nickname];
      Context.WriteTextFile(UserName, lines);
    }

    if (id != "1") {
      var UserName = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper\\Username.txt";
      var lines = [Context.Nickname + "(" + id + ")"];
      Context.WriteTextFile(UserName, lines);
    }
  }

  var UserID = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Ayria\\Assets\\Platformwrapper\\UserID.txt";
  var lines = [11111110 + 19 * id + Context.PlayerID];
  Context.WriteTextFile(UserID, lines);

  if (Context.PlayerID == 0) {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\binkw32.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "binkw32.dll");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    if (!System.IO.Directory.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players")) {
      var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players");
      System.IO.Directory.CreateDirectory(filePath);
    }

    if (!System.IO.File.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp")) {
      var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp");
      var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "hardware_mp.chp");
      System.IO.File.Copy(savePkgOrigin, savePath, true);
    }
  } else {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\binkw32.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "binkw32.dll.2");
    System.IO.File.Copy(savePkgOrigin, savePath, true);
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Dll3.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Dll3.dll");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    if (!System.IO.Directory.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players")) {
      var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players");
      System.IO.Directory.CreateDirectory(filePath);
    }

    if (!System.IO.File.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp")) {
      var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp");
      var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "hardware_mp.chp");
      System.IO.File.Copy(savePkgOrigin, savePath, true);
    }

    if (System.IO.File.Exists(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp")) {
      var NucleusRoot = System.IO.Path.Combine(Game.Folder, "..", "..");
      System.IO.File.Delete(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp");
      System.IO.File.Copy(NucleusRoot + "\\content\\CallofDutyBlackOps2MP\\Instance0\\players\\hardware_mp.chp", Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\hardware_mp.chp");
    }

    var mus = Context.Options["Mus"];
    if (mus == "Manual/Current Settings") {
    }
    if (mus == "Yes") {
      var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\user_common.cgp");
      var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "user_common.cgp.nomusic");
      System.IO.File.Copy(savePkgOrigin, savePath, true);
    }
    if (mus == "No") {
      var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\players\\user_common.cgp");
      var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "user_common.cgp.music");
      System.IO.File.Copy(savePkgOrigin, savePath, true);
    }
  }

  var gra = Context.Options["Gra"];
  if (gra == "No") {
    Game.PromptBetweenInstances = false;
    Game.SetWindowHookStart = true;
  }
  if (gra == "Yes") {
    Game.PromptBetweenInstances = true;
    Game.SetWindowHookStart = false;
  }
};