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

Satisfactory · handler “Satisfactory”

Version 2

Release notes

updated script to work in latest update 4 of the game.

Released
Size
1.7 KB
Downloads
248
Check
Verified
SHA-256
47db8b94be473e3fed69ee69c2894e0501e198abae4d4fc2f020b01f7509a7e1
Download v2 (.nc)All versions

Files 1

PathSize
handler.js4.4 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Mon Apr 19 2021 23:31:14 GMT+0000 (UTC).
Hub.Handler.Id = "uAoSw4LaK2j6tuJME";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.KillMutex = ["UnrealEngine4"];
Game.DirSymlinkExclusions = ["FactoryGame\\Binaries\\Win64", "Engine\\Binaries\\Win64", "Engine\\Binaries\\ThirdParty\\EOS\\SDK-1.9.0", "Engine\\Binaries\\ThirdParty\\Steamworks\\Steamv147\\Win64"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "XInput1_3.dll", "EOSSDK-Win64-Shipping.dll", "Splash.bmp"];
Game.FileSymlinkCopyInstead = ["FactoryGame.exe"];
Game.GameName = "Satisfactory";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.KeepSymLinkOnExit = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = false;
Game.SupportsKeyboard = false;
Game.ExecutableName = "UE4-Win64-Shipping.exe";
Game.SteamID = "526870";
Game.GUID = "Satisfactory";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "Engine\\Binaries\\Win64";
Game.UseNucleusEnvironment = false;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.UseNemirtingasEpicEmu = true;
Game.EpicEmuArgs = true;
Game.LauncherTitle = "";
Game.LauncherExe = "FactoryGame.exe";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Satisfactory";
Game.FakeFocus = true;
Game.FakeFocusSendActivate = false;
Game.HookFocus = true;
Game.RefreshWindowAfterStart = true;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.UserProfileConfigPath = "AppData\\Local\\FactoryGame\\Saved\\Config\\WindowsNoEditor";
Game.UserProfileSavePath = "AppData\\Local\\FactoryGame\\Saved\\SaveGames";
Game.Description =
  "Set the session type to friends only and create/load the world before opening the next instance, the other instances then can join, join before pressing ok in the last prompt. Gamepad input only works in-game. Press the END key in your keyboard to unlock the input and the main cursor when you finish playing. You can also use CTRL+Q to close Nucleus and all its instances. If you get uneven fps in the instances try alt-tabbing to the NucleusCo-op app window, the game windows will remain on top. You can also try reducing graphic settings in-game.";
Game.PromptBetweenInstances = true;
Game.PauseBetweenStarts = 40;

Game.SupportsMultipleKeyboardsAndMice = true;

Game.HookSetCursorPos = true;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = true;
Game.HookGetAsyncKeyState = true;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = true;
Game.HookFilterMouseMessages = true;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;

Game.SendNormalMouseInput = true;
Game.SendNormalKeyboardInput = true;
Game.SendScrollWheel = true;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = true;
Game.HookReRegisterRawInputMouse = true;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = false;
Game.LockInputAtStart = true;
Game.LockInputToggleKey = 0x23;

Game.Play = function() {
  var Args = (Context.Args = " -windowed -AlwaysFocus -nosplash -NO_EOS_OVERLAY " + " -ResX= " + Context.Width + " -ResY= " + Context.Height);

  Context.StartArguments = Args;

  if (System.IO.File.Exists(Context.NucleusUserRoot + "\\AppData\\Local\\FactoryGame\\Saved\\Config\\WindowsNoEditor\\GameUserSettings.ini")) {
    Context.BackupFile(Context.NucleusUserRoot + "\\AppData\\Local\\FactoryGame\\Saved\\Config\\WindowsNoEditor\\GameUserSettings.ini", true);

    var GUS = Context.NucleusUserRoot + "\\AppData\\Local\\FactoryGame\\Saved\\Config\\WindowsNoEditor\\GameUserSettings.ini";
    Context.ModifySaveFile(GUS, GUS, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("/Script/FactoryGame.FGGameUserSettings", "FullscreenMode", "2"),
      new Nucleus.IniSaveInfo("/Script/FactoryGame.FGGameUserSettings", "DesiredScreenWidth", Context.Width),
      new Nucleus.IniSaveInfo("/Script/FactoryGame.FGGameUserSettings", "DesiredScreenHeight", Context.Height)
    ]);
  } else {
  }

  if (Context.HasKeyboardPlayer !== true) {
    Game.SupportsMultipleKeyboardsAndMice = false;
  }
};