Jump to content

Space Engineers With Torch API Integration


Adam

Recommended Posts

Space Engineers With Torch API Integration


Installation

Please ensure that you have .net framework 4.8 installed as Torch API requires it

Recommended

  • Simply install it via the plugin repository in TCAdmin (Settings > Plugin Repository > Game Configs > Space Engineers With Torch API Integration
  • For windows only

Manual Install

  1. Download the config
  2. Go to TCAdmin > System > Settings > Game & Voice Hosting > Game & Other Voice Servers > Import
  3. Save the config as a new config or chose "Overwrite existing config" if you wish to overwrite your current Space Engineers config. Remember to select Space Engineers in the 'Update Game' field if you do
  4. Leave all other settings

Features

  • Downloads and installs the latest version of Torch API on deployment
  • Downloads and installs the latest version of Torch API on Re-install
  • Downloads and installs the latest version of Torch API on steam update
  • Small config editor for SpaceEngineers-Dedicated.cfg
  • Steam Workshop working
  • Query working
  • Web console working
  • Can update Torch API via updates tab
  • Logs

TO-DO

  • Finish config editor for SpaceEngineers-Dedicated.cfg
  • config editor for torch.cfg

 

Please note: This is a semi un-tested config if you find any issues or would like improvements comment below


 

Edited by Adam
Link to comment
Share on other sites

  • 3 months later...
Log details
Updating service xxxxxxxxxxxx
Searching for a file source
Downloading file from URL...
Downloading file (100%)
The file "T:\TCAFiles\Users\772b192a\torch-server.zip" could not be found.

When I create the server I get this message

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

I have a problem starting the server, after starting it it throws "PID 0", I attach the log

 

2022-02-25 17:30:44.837 - Thread:   1 ->  Log Started
2022-02-25 17:30:44.837 - Thread:   1 ->  Timezone (local - UTC): -3h
2022-02-25 17:30:44.838 - Thread:   1 ->  App Version: 01_200_030
2022-02-25 17:30:44.846 - Thread:   1 ->  Is official: True [NO][NIS][NAMP]
2022-02-25 17:30:44.848 - Thread:   1 ->  Branch / Sandbox: DedicatedServer
2022-02-25 17:30:44.848 - Thread:   1 ->  Environment.ProcessorCount: 8
2022-02-25 17:30:45.015 - Thread:   1 ->  Environment.OSVersion: Microsoft Windows Server 2019 Standard (Microsoft Windows NT 6.2.9200.0)
2022-02-25 17:30:45.015 - Thread:   1 ->  Environment.CommandLine: DedicatedServer64\SpaceEngineersDedicated.exe  -console -path "WORLD" -maxPlayers 8 -ip 141.521.33.22 -port 27026 
2022-02-25 17:30:45.016 - Thread:   1 ->  Environment.Is64BitProcess: True
2022-02-25 17:30:45.016 - Thread:   1 ->  Environment.Is64BitOperatingSystem: True
2022-02-25 17:30:45.016 - Thread:   1 ->  Environment.Version: .NET Framework 4.8.3928.0
2022-02-25 17:30:45.016 - Thread:   1 ->  Environment.CurrentDirectory: C:\TCAFiles\Users\admin\1822
2022-02-25 17:30:45.016 - Thread:   1 ->  CPU Info: Intel(R) Xeon(R) CPU E3-1280 v5 @ 3.70GHz
2022-02-25 17:30:45.016 - Thread:   1 ->  IntPtr.Size: 8
2022-02-25 17:30:45.016 - Thread:   1 ->  Default Culture: 
2022-02-25 17:30:45.016 - Thread:   1 ->  Default UI Culture: 
2022-02-25 17:30:45.105 - Thread:   1 ->  Exception during DS config load: System.InvalidOperationException: There is an error in XML document (150, 49). ---> System.Xml.XmlException: Invalid character in the given encoding. Line 150, position 49.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.InvalidCharRecovery(Int32& bytesCount, Int32& charsCount)
   at System.Xml.XmlTextReaderImpl.GetChars(Int32 maxCharsCount)
   at System.Xml.XmlTextReaderImpl.ReadData()
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlReader.ReadElementString()
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMyConfigDedicatedData1.Read11_Item(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderMyConfigDedicatedData1.Read12_MyConfigDedicated()
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)
   at Sandbox.Engine.Utils.MyConfigDedicated`1.Load(String path)
2022-02-25 17:30:45.139 - Thread:   1 ->  MyScreenManager()
2022-02-25 17:30:45.225 - Thread:   1 ->  MySandboxGame.Constructor() - START
2022-02-25 17:30:45.227 - Thread:   1 ->     Game dir: DedicatedServer64
2022-02-25 17:30:45.227 - Thread:   1 ->     Content dir: Content
2022-02-25 17:30:46.721 - Thread:   1 ->     Preallocate - START
2022-02-25 17:30:46.726 - Thread:   1 ->        MySpaceWorldGenerator - START
2022-02-25 17:30:46.736 - Thread:   1 ->        MySpaceWorldGenerator - END
2022-02-25 17:30:46.736 - Thread:   1 ->        MySpaceBuildComponent - START
2022-02-25 17:30:46.736 - Thread:   1 ->        MySpaceBuildComponent - END
2022-02-25 17:30:46.737 - Thread:   1 ->        MyEntities - START
2022-02-25 17:30:46.762 - Thread:   1 ->        MyEntities - END
2022-02-25 17:30:46.762 - Thread:   1 ->        MyObjectBuilder_Base - START
2022-02-25 17:30:46.762 - Thread:   1 ->        MyObjectBuilder_Base - END
2022-02-25 17:30:46.762 - Thread:   1 ->        MyTransparentGeometry - START
2022-02-25 17:30:46.762 - Thread:   1 ->        MyTransparentGeometry - END
2022-02-25 17:30:46.762 - Thread:   1 ->        MyCubeGridDeformationTables - START
2022-02-25 17:30:46.775 - Thread:   1 ->        MyCubeGridDeformationTables - END
2022-02-25 17:30:46.775 - Thread:   1 ->        MyMath - START
2022-02-25 17:30:46.775 - Thread:   1 ->        MyMath - END
2022-02-25 17:30:46.775 - Thread:   1 ->        MySimpleObjectDraw - START
2022-02-25 17:30:46.775 - Thread:   1 ->        MySimpleObjectDraw - END
2022-02-25 17:30:46.790 - Thread:   1 ->        MyEntityComponentsDebugDraw - START
2022-02-25 17:30:46.790 - Thread:   1 ->        MyEntityComponentsDebugDraw - END
2022-02-25 17:30:46.790 - Thread:   1 ->        MyGuiIngameScriptsPage - START
2022-02-25 17:30:46.848 - Thread:   1 ->        MyGuiIngameScriptsPage - END
2022-02-25 17:30:46.848 - Thread:   1 ->        MyGuiScreenAdminMenu - START
2022-02-25 17:30:46.849 - Thread:   1 ->        MyGuiScreenAdminMenu - END
2022-02-25 17:30:46.849 - Thread:   1 ->        MySyncDestructions - START
2022-02-25 17:30:46.849 - Thread:   1 ->        MySyncDestructions - END
2022-02-25 17:30:46.849 - Thread:   1 ->        MySyncEntity - START
2022-02-25 17:30:46.849 - Thread:   1 ->        MySyncEntity - END
2022-02-25 17:30:46.849 - Thread:   1 ->        MyCommandCharacter - START
2022-02-25 17:30:46.851 - Thread:   1 ->        MyCommandCharacter - END
2022-02-25 17:30:46.851 - Thread:   1 ->        MyCommandConsole - START
2022-02-25 17:30:46.851 - Thread:   1 ->        MyCommandConsole - END
2022-02-25 17:30:46.851 - Thread:   1 ->        MyCommandEntity - START
2022-02-25 17:30:46.852 - Thread:   1 ->        MyCommandEntity - END
2022-02-25 17:30:46.852 - Thread:   1 ->        MyAiTargetManager - START
2022-02-25 17:30:46.852 - Thread:   1 ->        MyAiTargetManager - END
2022-02-25 17:30:46.852 - Thread:   1 ->        MyClientDebugCommands - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyClientDebugCommands - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyDedicatedServer - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyDedicatedServer - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyDedicatedServerBase - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyDedicatedServerBase - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerBase - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerBase - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerClient - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerClient - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerClientBase - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerClientBase - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerLobby - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerLobby - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerLobbyClient - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerLobbyClient - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerServerBase - START
2022-02-25 17:30:46.853 - Thread:   1 ->        MyMultiplayerServerBase - END
2022-02-25 17:30:46.853 - Thread:   1 ->        MyServerDebugCommands - START
2022-02-25 17:30:46.854 - Thread:   1 ->        MyServerDebugCommands - END
2022-02-25 17:30:46.854 - Thread:   1 ->        MyCubeGridDefinitions - START
2022-02-25 17:30:46.927 - Thread:   1 ->        MyCubeGridDefinitions - END
2022-02-25 17:30:46.927 - Thread:   1 ->        MyDefinitionManager - START
2022-02-25 17:30:46.952 - Thread:   1 ->        MyDefinitionManager - END
2022-02-25 17:30:46.954 - Thread:   1 ->     Preallocate - END
2022-02-25 17:30:46.954 - Thread:   1 ->     Bind IP : 141.521.33.22:27026
2022-02-25 17:30:50.717 - Thread:   1 ->     Networking service: Steam
2022-02-25 17:30:50.717 - Thread:   1 ->     Server successfully started
2022-02-25 17:30:50.717 - Thread:   1 ->     Product name: Space Engineers
2022-02-25 17:30:50.717 - Thread:   1 ->     Desc: Space Engineers
2022-02-25 17:30:50.717 - Thread:   1 ->     Public IP: 141.521.33.22
2022-02-25 17:30:50.717 - Thread:   1 ->     User ID: [009...611]
2022-02-25 17:30:50.720 - Thread:   1 ->     Server connected to Steam
2022-02-25 17:30:50.829 - Thread:   1 ->     MyCampaignManager.Constructor() - START
2022-02-25 17:30:51.134 - Thread:   1 ->     MyCampaignManager.Constructor() - END
2022-02-25 17:30:51.134 - Thread:   1 ->  MySandboxGame.Constructor() - END
2022-02-25 17:30:51.135 - Thread:   1 ->  Server Name: 
2022-02-25 17:30:51.135 - Thread:   1 ->  World Name: 
2022-02-25 17:30:51.154 - Thread:   1 ->  Auto Restart Enabled
2022-02-25 17:30:51.158 - Thread:  25 ->  Remote API unable to start. Run dedicated server in administrator mode or use AllowRemoteHttp.bat file. Also check nothing else is running on port 8080.
2022-02-25 17:30:51.161 - Thread:   1 ->  MySandboxGame.Initialize() - START
2022-02-25 17:30:51.161 - Thread:   1 ->     Installed DLCs: 
2022-02-25 17:30:51.184 - Thread:   1 ->     MyGuiGameControlsHelpers()
2022-02-25 17:30:51.229 - Thread:   1 ->     Havok: Physics.Init
2022-02-25 17:30:51.239 - Thread:   1 ->     Havok: Version: Release(0), 1800, [S}
2022-02-25 17:30:51.241 - Thread:   1 ->     HkGameName: SpaceEngineers
2022-02-25 17:30:51.253 - Thread:   1 ->     MySandboxGame.LoadData() - START
2022-02-25 17:30:51.255 - Thread:   1 ->        MyDefinitionManager.LoadScenarios() - START
2022-02-25 17:30:51.259 - Thread:   1 ->           e4c04b22423affe9df3fcd858c2f85c10d550320
2022-02-25 17:30:51.603 - Thread:   1 ->           Loading scenarios
2022-02-25 17:30:51.658 - Thread:   1 ->        MyDefinitionManager.LoadScenarios() - END
2022-02-25 17:30:51.659 - Thread:   1 ->        MyDefinitionManager.PreloadDefinitions() - START
2022-02-25 17:30:51.781 - Thread:   1 ->           Loading OffensiveWords definitions
2022-02-25 17:30:51.781 - Thread:   1 ->           WARNING: Unexpected behaviour may occur due to redefinition of 'Offensive Words'
2022-02-25 17:30:51.785 - Thread:   1 ->        MyDefinitionManager.PreloadDefinitions() - END
2022-02-25 17:30:51.800 - Thread:   8 ->  MySandboxGame.PerformPreload() - START
2022-02-25 17:30:51.804 - Thread:   8 ->  MyDefinitionManager.GetSessionPreloadDefinitions() - START
2022-02-25 17:30:51.805 - Thread:   1 ->     MySandboxGame.LoadData() - END
2022-02-25 17:30:51.816 - Thread:   8 ->  MyDefinitionManager.GetSessionPreloadDefinitions() - END
2022-02-25 17:30:51.816 - Thread:   8 ->  MySandboxGame.PerformPreload() - PRELOAD VANILLA SOUNDS AND VOXELS
2022-02-25 17:30:51.818 - Thread:   8 ->  ReloadVoxelMaterials
2022-02-25 17:30:51.885 - Thread:   8 ->  MyDefinitionManager.GetSessionPreloadDefinitions() - START
2022-02-25 17:30:53.471 - Thread:   1 ->     Cannot start new world - Premade world not found 
2022-02-25 17:30:53.472 - Thread:   1 ->  MySandboxGame.Initialize() - END
2022-02-25 17:30:53.481 - Thread:   1 ->  Exception occurred: System.ApplicationException: Session can not start. Save is corrupted or not valid. See log file for more information.
   at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
   at VRage.Dedicated.DedicatedServer.RunInternal(String instanceName)
   at VRage.Dedicated.DedicatedServer.RunMain(String instanceName, String customPath, Boolean isService, Boolean showConsole, Boolean checkAlive)
   at VRage.Dedicated.DedicatedServer.ProcessArgs(String[] args)
   at VRage.Dedicated.DedicatedServer.Run(String[] args, Action`1 initializeServices)
   at SpaceEngineersDedicated.MyProgram.Main(String[] args)
2022-02-25 17:30:53.483 - Thread:   1 ->  Showing message
2022-02-25 17:30:53.763 - Thread:   1 ->  
================================== CRASH INFO ==================================
AppVersion: 01_200_030
GameName: Space Engineers
IsOutOfMemory: False
IsGPU: False
IsNative: False
IsTask: False
IsExperimental: False
ProcessRunTime: 9
PCUCount: 0
IsHang: False
GCMemory: 58
GCMemoryAllocated: 58
HWAvailableMemory: 0
ProcessPrivateMemory: 235
AnalyticId: SEDS
================================== OFNI HSARC ==================================
2022-02-25 17:30:53.764 - Thread:   1 ->  Log Closed

 

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

Hello, I am having an issue running this.

 

06:32:19.7560 [INFO]   Initializer: Generating minidump at WORLD\Minidump.dmp
06:32:19.7560 [ERROR]  Initializer: Keen broke the minidump, sorry.
06:32:19.7560 [INFO]   Keen: Remote API unable to start. Run dedicated server in administrator mode or use AllowRemoteHt
tp.bat file. Also check nothing else is running on port 8080.

How would I run this game in administrator mode? Or am I doing something wrong? I made no changes to the file
Link to comment
Share on other sites

  • 2 months later...
On 5/19/2022 at 1:36 AM, Claed said:

Hey did u ever fix this if so what did u do to get it working i got the same problem atm

 

 

Hello, I am having an issue running this.

 

06:32:19.7560 [INFO]   Initializer: Generating minidump at WORLD\Minidump.dmp
06:32:19.7560 [ERROR]  Initializer: Keen broke the minidump, sorry.
06:32:19.7560 [INFO]   Keen: Remote API unable to start. Run dedicated server in administrator mode or use AllowRemoteHt
tp.bat file. Also check nothing else is running on port 8080.

How would I run this game in administrator mode? Or am I doing something wrong? I made no changes to the file

 

Link to comment
Share on other sites

  • 2 months later...

Hey I have the same issue:

02:51:04.5018 [INFO]   RemoteAPIManager: Remote API started on port 8080
02:51:04.5158 [INFO]   Keen: Remote API unable to start. Run dedicated server in administrator mode or use AllowRemoteHttp.bat
 file. Also check nothing else is running on port 8080.
 
what to do thanks a lot
Link to comment
Share on other sites

  • 4 months later...
  • 7 months later...

What's New in Version 1.0.3

 

  • Completely rebuilt star system deployment - it will copy a default star system on install and re-install (you can edit this script to choose a different star system to copy)
  • World now saves to the Instance folder (how it is by default)
  • Improved steam workshop install and uninstall scripts to copy to both sandbox.sbc and Sandbox_config.sbc
  • There are a few other changes I can't remember 
Link to comment
Share on other sites

  • 7 months later...
  • 2 months later...

Anyone else getting this error?

``at Patched_Sandbox.MySandboxGameInitialize_0(Object )
   at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
   at Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 126
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, B
oolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean p
reserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
System.DllNotFoundException: Unable to load DLL 'Havok.dll': The specified module could not be found. (Exception from HRESULT: 0
x8007007E)
   at Havok.HkBaseSystem.HkBaseSystem_GetVersionInfo(Native& buffer)
   at Havok.HkBaseSystem.GetVersionInfo()
   at Havok.HkBaseSystem.Init(Int32 solverMemorySize, Action`1 LogCallback, Boolean deepProfiling, ISharedCriticalSection hkShap
eCriticalSection)
   at Sandbox.MySandboxGame.LoadData()
   at Patched_Sandbox.MySandboxGameInitialize_0(Object )
   at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
   at Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 126
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, B
oolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean p
reserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
20:55:57.8575 [INFO]   Initializer: Generating minidump at Logs\MiniDumpT23-2024-07-27 20-55-57.dmp``

Link to comment
Share on other sites

On 7/28/2024 at 12:20 AM, MrMayhem said:

Anyone else getting this error?

``at Patched_Sandbox.MySandboxGameInitialize_0(Object )
   at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
   at Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 126
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, B
oolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean p
reserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
System.DllNotFoundException: Unable to load DLL 'Havok.dll': The specified module could not be found. (Exception from HRESULT: 0
x8007007E)
   at Havok.HkBaseSystem.HkBaseSystem_GetVersionInfo(Native& buffer)
   at Havok.HkBaseSystem.GetVersionInfo()
   at Havok.HkBaseSystem.Init(Int32 solverMemorySize, Action`1 LogCallback, Boolean deepProfiling, ISharedCriticalSection hkShap
eCriticalSection)
   at Sandbox.MySandboxGame.LoadData()
   at Patched_Sandbox.MySandboxGameInitialize_0(Object )
   at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
   at Torch.VRageGame.DoStart() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 326
   at Torch.VRageGame.Run() in C:\ProgramData\Jenkins\.jenkins\workspace\Torch_master\Torch\VRageGame.cs:line 126
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, B
oolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean p
reserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
20:55:57.8575 [INFO]   Initializer: Generating minidump at Logs\MiniDumpT23-2024-07-27 20-55-57.dmp``

Hi

Make sure all your Visual C++ Redistributable Packages are installed 

https://www.microsoft.com/en-us/download/details.aspx?id=40784
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use