Difference between revisions of "Scripting Whitelist"

From Space Engineers Wiki
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
Space Engineers restricts the types and methods you can use in scripts to stop programmers from creating dangrous mods or scripts that could compromise a user's computer or server. The following tables list what is allowed in [[Ingame Scripts]] and the [[Modding API]].
+
Space Engineers restricts the types and methods allowed in scripts to stop programmers from creating dangrous mods or scripts that could compromise a player's computer. The following tables list what is allowed in [[Ingame Scripts]] and the [[Modding API]].
 +
 
 +
* * means all types in the listed namespace are whitelisted.
 +
* + means all members of the listed type are whitelisted. If a type doesn't have this symbol the allowed members can be found elsewhere in the list.
  
 
==Ingame and Mod Scripts==
 
==Ingame and Mod Scripts==
 
{| class="wikitable sortable" width="95%"
 
{| class="wikitable sortable" width="95%"
!style = "background-color:#ffffcc;" colspan = 2 | Ingame and Mod Scripts
+
!style = "background-color:#ffffcc;" colspan = 3 | Whitelist
|-
 
!Fully Qualified Name !! Assembly
 
|-
 
|System.Collections.* || mscorlib
 
|-
 
|System.Collections.Generic.* || mscorlib
 
|-
 
|System.Collections.Generic.* || System.Core
 
|-
 
|System.Collections.Generic.* || System
 
|-
 
|System.Collections.Concurrent.* || mscorlib
 
|-
 
|System.Collections.Concurrent.* || System
 
|-
 
|System.Linq.* || System.Core
 
|-
 
|System.Text.* || mscorlib
 
|-
 
|System.Text.RegularExpressions.* || System
 
|-
 
|System.Globalization.* || mscorlib
 
|-
 
|object+* || mscorlib
 
|-
 
|System.IDisposable+* || mscorlib
 
|-
 
|string+* || mscorlib
 
|-
 
|System.StringComparison+* || mscorlib
 
|-
 
|System.Math+* || mscorlib
 
|-
 
|System.Enum+* || mscorlib
 
|-
 
|int+* || mscorlib
 
|-
 
|short+* || mscorlib
 
|-
 
|long+* || mscorlib
 
|-
 
|uint+* || mscorlib
 
|-
 
|ushort+* || mscorlib
 
|-
 
|ulong+* || mscorlib
 
|-
 
|double+* || mscorlib
 
|-
 
|float+* || mscorlib
 
|-
 
|bool+* || mscorlib
 
|-
 
|char+* || mscorlib
 
|-
 
|byte+* || mscorlib
 
|-
 
|sbyte+* || mscorlib
 
|-
 
|decimal+* || mscorlib
 
|-
 
|System.DateTime+* || mscorlib
 
|-
 
|System.TimeSpan+* || mscorlib
 
|-
 
|System.Array+* || mscorlib
 
|-
 
|System.Xml.Serialization.XmlElementAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAttributeAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlArrayAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlArrayItemAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAnyAttributeAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAnyElementAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAnyElementAttributes+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlArrayItemAttributes+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAttributeEventArgs+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAttributeOverrides+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlAttributes+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlChoiceIdentifierAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlElementAttributes+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlElementEventArgs+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlEnumAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlIgnoreAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlIncludeAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlRootAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlTextAttribute+* || System.Xml
 
|-
 
|System.Xml.Serialization.XmlTypeAttribute+* || System.Xml
 
|-
 
|System.Runtime.CompilerServices.RuntimeHelpers+* || mscorlib
 
|-
 
|System.IO.Stream+* || mscorlib
 
|-
 
|System.IO.TextWriter+* || mscorlib
 
|-
 
|System.IO.TextReader+* || mscorlib
 
|-
 
|System.IO.BinaryReader+* || mscorlib
 
|-
 
|System.IO.BinaryWriter+* || mscorlib
 
|-
 
|System.NullReferenceException+* || mscorlib
 
|-
 
|System.ArgumentException+* || mscorlib
 
|-
 
|System.ArgumentNullException+* || mscorlib
 
|-
 
|System.InvalidOperationException+* || mscorlib
 
|-
 
|System.FormatException+* || mscorlib
 
|-
 
|System.Exception+* || mscorlib
 
|-
 
|System.DivideByZeroException+* || mscorlib
 
|-
 
|System.InvalidCastException+* || mscorlib
 
|-
 
|System.IO.FileNotFoundException+* || mscorlib
 
|-
 
|System.NotSupportedException+* || mscorlib
 
|-
 
|System.Nullable<T>+* || mscorlib
 
|-
 
|System.StringComparer+* || mscorlib
 
|-
 
|System.IComparable<T>+* || mscorlib
 
|-
 
|System.BitConverter+* || mscorlib
 
|-
 
|System.FlagsAttribute+* || mscorlib
 
|-
 
|System.IO.Path+* || mscorlib
 
|-
 
|System.Random+* || mscorlib
 
|-
 
|System.Convert+* || mscorlib
 
|-
 
|System.StringSplitOptions+* || mscorlib
 
|-
 
|System.DateTimeKind+* || mscorlib
 
|-
 
|System.MidpointRounding+* || mscorlib
 
 
|-
 
|-
|System.EventArgs+* || mscorlib
+
!Type (ModAPI, Ingame, Both) !! Fully Qualified Name !! Assembly
 
|-
 
|-
|System.Reflection.MemberInfo || mscorlib
+
|Both || System.Collections.* || mscorlib
 
|-
 
|-
|System.Reflection.MemberInfo.Name || mscorlib
+
|Both || System.Collections.Generic.* || mscorlib
 
|-
 
|-
|System.Type || mscorlib
+
|Both || System.Collections.Generic.* || System.Core
 
|-
 
|-
|System.Type.FullName || mscorlib
+
|Both || System.Collections.Generic.* || System
 
|-
 
|-
|System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) || mscorlib
+
|Both || System.Collections.Concurrent.* || mscorlib
 
|-
 
|-
|System.Type.GetFields(System.Reflection.BindingFlags) || mscorlib
+
|Both || System.Collections.Concurrent.* || System
 
|-
 
|-
|System.Type.IsEquivalentTo(System.Type) || mscorlib
+
|Both || System.Linq.* ||  System.Core
 
|-
 
|-
|System.Type.operator ==(System.Type, System.Type) || mscorlib
+
|Both || System.Text.* || mscorlib
 
|-
 
|-
|System.Type.ToString() || mscorlib
+
|Both || System.Text.RegularExpressions.* || System
 
|-
 
|-
|System.ValueType || mscorlib
+
|Both || System.Globalization.* || mscorlib
 
|-
 
|-
|System.ValueType.Equals(object) || mscorlib
+
|Both || object+* || mscorlib
 
|-
 
|-
|System.ValueType.GetHashCode() || mscorlib
+
|Both || System.IDisposable+* || mscorlib
 
|-
 
|-
|System.ValueType.ToString() || mscorlib
+
|Both || string+* ||  mscorlib
 
|-
 
|-
|System.Environment || mscorlib
+
|Both || System.StringComparison+* || mscorlib
 
|-
 
|-
|System.Environment.CurrentManagedThreadId || mscorlib
+
|Both || System.Math+* || mscorlib
 
|-
 
|-
|System.Environment.NewLine || mscorlib
+
|Both || System.Enum+* || mscorlib
 
|-
 
|-
|System.Environment.ProcessorCount || mscorlib
+
|Both || int+* ||  mscorlib
 
|-
 
|-
|System.RuntimeType || mscorlib
+
|Both || short+* ||  mscorlib
 
|-
 
|-
|System.RuntimeType.operator !=(System.RuntimeType, System.RuntimeType) || mscorlib
+
|Both || long+* ||  mscorlib
 
|-
 
|-
|System.RuntimeType.GetFields(System.Reflection.BindingFlags) || mscorlib
+
|Both || uint+* ||  mscorlib
 
|-
 
|-
|SpaceEngineers.Game.ModAPI.Ingame.* || SpaceEngineers.Game
+
|Both || ushort+* || mscorlib
 
|-
 
|-
|System.Collections.Generic.* || VRage.Library
+
|Both || ulong+* || mscorlib
 
|-
 
|-
|VRage.Game.ModAPI.Ingame.* || VRage.Game
+
|Both || double+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Ingame.* || Sandbox.Common
+
|Both || float+* || mscorlib
 
|-
 
|-
|VRageMath.* || VRage.Math
+
|Both || bool+* || mscorlib
 
|-
 
|-
|Sandbox.Game.Gui.TerminalActionExtensions+* || Sandbox.Game
+
|Both || char+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Interfaces.ITerminalAction+* || Sandbox.Common
+
|Both || byte+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Interfaces.ITerminalProperty+* || Sandbox.Common
+
|Both || sbyte+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Interfaces.ITerminalProperty<TValue>+* || Sandbox.Common
+
|Both || decimal+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Interfaces.TerminalPropertyExtensions+* || Sandbox.Common
+
|Both || System.DateTime+* || mscorlib
 
|-
 
|-
|Sandbox.Game.Localization.MySpaceTexts+* || Sandbox.Game
+
|Both || System.TimeSpan+* || mscorlib
 
|-
 
|-
|VRage.MyTexts+* || VRage
+
|Both || System.Array+* || mscorlib
 
|-
 
|-
|VRage.MyFixedPoint+* || VRage.Library
+
|Both || System.Xml.Serialization.XmlElementAttribute+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentContainer || VRage.Game
+
|Both || System.Xml.Serialization.XmlAttributeAttribute+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentContainer.TryGet<T>(out T) || VRage.Game
+
|Both || System.Xml.Serialization.XmlArrayAttribute+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentContainer.Has<T>() || VRage.Game
+
|Both || System.Xml.Serialization.XmlArrayItemAttribute+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentContainer.Get<T>() || VRage.Game
+
|Both || System.Xml.Serialization.XmlAnyAttributeAttribute+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentContainer.TryGet(System.Type, out VRage.Game.Components.MyComponentBase) || VRage.Game
+
|Both || System.Xml.Serialization.XmlAnyElementAttribute+* || System.Xml
 
|-
 
|-
|}
+
|Both || System.Xml.Serialization.XmlAnyElementAttributes+* ||  System.Xml
==Mod Scripts==
 
{| class="wikitable sortable" width="95%"
 
!style = "background-color:#ffffcc;" colspan = 2 | Mod Scripts
 
 
|-
 
|-
!Fully Qualified Name !! Assembly
+
|Both || System.Xml.Serialization.XmlArrayItemAttributes+* ||  System.Xml
 
|-
 
|-
|VRage.Collections.ListReader<T>+* ||VRage.Library
+
|Both || System.Xml.Serialization.XmlAttributeEventArgs+* || System.Xml
 
|-
 
|-
|VRage.Game.MyDefinitionId+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlAttributeOverrides+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyResourceSourceComponentBase+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlAttributes+* || System.Xml
 
|-
 
|-
|VRage.Game.ObjectBuilders.Definitions.MyObjectBuilder_GasProperties+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlChoiceIdentifierAttribute+* || System.Xml
 
|-
 
|-
|VRage.ObjectBuilders.MyObjectBuilder_Base+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlElementAttributes+* || System.Xml
 
|-
 
|-
|VRage.Game.Components.MyComponentBase+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlElementEventArgs+* || System.Xml
 
|-
 
|-
|VRage.ObjectBuilders.SerializableDefinitionId+* ||VRage.Game
+
|Both || System.Xml.Serialization.XmlEnumAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent ||Sandbox.Game
+
|Both || System.Xml.Serialization.XmlIgnoreAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.CurrentOutput ||Sandbox.Game
+
|Both || System.Xml.Serialization.XmlIncludeAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.MaxOutput ||Sandbox.Game
+
|Both || System.Xml.Serialization.XmlRootAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.DefinedOutput ||Sandbox.Game
+
|Both || System.Xml.Serialization.XmlTextAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.ProductionEnabled ||Sandbox.Game
+
|Both || System.Xml.Serialization.XmlTypeAttribute+* || System.Xml
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.RemainingCapacity ||Sandbox.Game
+
|Both || System.Runtime.CompilerServices.RuntimeHelpers+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSourceComponent.HasCapacityRemaining ||Sandbox.Game
+
|Both || System.IO.Stream+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent ||Sandbox.Game
+
|Both || System.IO.TextWriter+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent.AcceptedResources ||Sandbox.Game
+
|Both || System.IO.TextReader+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent.RequiredInput ||Sandbox.Game
+
|Both || System.IO.BinaryReader+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent.SuppliedRatio ||Sandbox.Game
+
|Both || System.IO.BinaryWriter+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent.CurrentInput ||Sandbox.Game
+
|Both || System.NullReferenceException+* || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.MyResourceSinkComponent.IsPowered ||Sandbox.Game
+
|Both || System.ArgumentException+* || mscorlib
 
|-
 
|-
|VRage.Game.Components.MyResourceSinkComponentBase ||VRage.Game
+
|Both || System.ArgumentNullException+* || mscorlib
 
|-
 
|-
|VRage.Game.Components.MyResourceSinkComponentBase.AcceptedResources ||VRage.Game
+
|Both || System.InvalidOperationException+* || mscorlib
 
|-
 
|-
|VRage.Game.Components.MyResourceSinkComponentBase.CurrentInputByType(VRage.Game.MyDefinitionId) ||VRage.Game
+
|Both || System.FormatException+* || mscorlib
 
|-
 
|-
|VRage.Game.Components.MyResourceSinkComponentBase.IsPowerAvailable(VRage.Game.MyDefinitionId, float) ||VRage.Game
+
|Both || System.Exception+* || mscorlib
|-
 
|VRage.Game.Components.MyResourceSinkComponentBase.IsPoweredByType(VRage.Game.MyDefinitionId) ||VRage.Game
 
|-
 
|VRage.Game.Components.MyResourceSinkComponentBase.MaxRequiredInputByType(VRage.Game.MyDefinitionId) ||VRage.Game
 
|-
 
|VRage.Game.Components.MyResourceSinkComponentBase.RequiredInputByType(VRage.Game.MyDefinitionId) ||VRage.Game
 
|-
 
|VRage.Game.Components.MyResourceSinkComponentBase.SuppliedRatioByType(VRage.Game.MyDefinitionId) ||VRage.Game
 
|-
 
|}
 
==Ingame Scripts==
 
{| class="wikitable sortable" width="95%"
 
!style = "background-color:#ffffcc;" colspan = 2 | Ingame Scripts
 
 
|-
 
|-
!Fully Qualified Name !! Assembly
+
|Both || System.DivideByZeroException+* ||  mscorlib
 
|-
 
|-
|System.Timers.* ||System
+
|Both || System.InvalidCastException+* || mscorlib
 
|-
 
|-
|System.Diagnostics.TraceEventType+* ||System
+
|Both || System.IO.FileNotFoundException+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyProductAttribute+* ||mscorlib
+
|Both || System.NotSupportedException+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyDescriptionAttribute+* ||mscorlib
+
|Both || System.Nullable<T>+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyConfigurationAttribute+* ||mscorlib
+
|Both || System.StringComparer+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyCompanyAttribute+* ||mscorlib
+
|Both || System.IEquatable<T>+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyCultureAttribute+* ||mscorlib
+
|Both || System.IComparable+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyVersionAttribute+* ||mscorlib
+
|Both || System.IComparable<T>+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyFileVersionAttribute+* ||mscorlib
+
|Both || System.BitConverter+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyCopyrightAttribute+* ||mscorlib
+
|Both || System.FlagsAttribute+* || mscorlib
 
|-
 
|-
|System.Reflection.AssemblyTrademarkAttribute+* ||mscorlib
+
|Both || System.IO.Path+* || mscorlib
 
|-
 
|-
|System.SerializableAttribute+* ||mscorlib
+
|Both || System.Random+* || mscorlib
 
|-
 
|-
|SpaceEngineers.Game.ModAPI.* ||SpaceEngineers.Game
+
|Both || System.Convert+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.* ||Sandbox.Game
+
|Both || System.StringSplitOptions+* || mscorlib
 
|-
 
|-
|VRage.Game.ModAPI.* ||VRage.Game
+
|Both || System.DateTimeKind+* || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.* ||Sandbox.Common
+
|Both || System.MidpointRounding+* || mscorlib
 
|-
 
|-
|VRage.Game.ModAPI.Interfaces.* ||VRage.Game
+
|Both || System.EventArgs+* || mscorlib
 
|-
 
|-
|VRage.ModAPI.* ||VRage.Game
+
|Both || System.Reflection.MemberInfo || mscorlib
 
|-
 
|-
|VRage.Game.Entity.* ||VRage.Game
+
|Both || System.Reflection.MemberInfo.Name || mscorlib
 
|-
 
|-
|Sandbox.Game.Entities.* ||Sandbox.Game
+
|Both || System.Type || mscorlib
 
|-
 
|-
|VRage.Game.* ||VRage.Game
+
|Both || System.Type.FullName || mscorlib
 
|-
 
|-
|Sandbox.Common.ObjectBuilders.* ||SpaceEngineers.ObjectBuilders
+
|Both || System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) || mscorlib
 
|-
 
|-
|Sandbox.Common.ObjectBuilders.Definitions.* ||SpaceEngineers.ObjectBuilders
+
|Both || System.Type.GetFields(System.Reflection.BindingFlags) || mscorlib
 
|-
 
|-
|VRage.ObjectBuilders.* ||VRage.Game
+
|Both || System.Type.IsEquivalentTo(System.Type) || mscorlib
 
|-
 
|-
|VRage.Game.Components.* ||VRage.Game
+
|Both || System.Type.operator ==(System.Type, System.Type) || mscorlib
 
|-
 
|-
|Sandbox.Game.EntityComponents.* ||Sandbox.Game
+
|Both || System.Type.ToString() || mscorlib
 
|-
 
|-
|VRage.Game.ObjectBuilders.* ||VRage.Game
+
|Both || System.ValueType || mscorlib
 
|-
 
|-
|Sandbox.Game.* ||Sandbox.Game
+
|Both || System.ValueType.Equals(object) || mscorlib
 
|-
 
|-
|VRage.* ||VRage
+
|Both || System.ValueType.GetHashCode() || mscorlib
 
|-
 
|-
|Sandbox.Definitions.* ||Sandbox.Game
+
|Both || System.ValueType.ToString() || mscorlib
 
|-
 
|-
|VRage.* ||VRage.Library
+
|Both || System.Environment || mscorlib
 
|-
 
|-
|VRage.Collections.* ||VRage.Library
+
|Both || System.Environment.CurrentManagedThreadId || mscorlib
 
|-
 
|-
|VRage.Voxels.* ||VRage
+
|Both || System.Environment.NewLine || mscorlib
 
|-
 
|-
|VRage.Utils.* ||VRage
+
|Both || System.Environment.ProcessorCount || mscorlib
 
|-
 
|-
|VRage.Library.Utils.* ||VRage.Library
+
|Both || System.RuntimeType || mscorlib
 
|-
 
|-
|Sandbox.Game.Lights.* ||Sandbox.Game
+
|Both || System.RuntimeType.operator !=(System.RuntimeType, System.RuntimeType) || mscorlib
 
|-
 
|-
|Sandbox.ModAPI.Weapons.* ||Sandbox.Game
+
|Both || System.RuntimeType.GetFields(System.Reflection.BindingFlags) || mscorlib
 
|-
 
|-
|Sandbox.Engine.Utils.MySpectatorCameraController ||Sandbox.Game
+
|ModApi || System.Timers.* || System
 
|-
 
|-
|Sandbox.Engine.Utils.MySpectatorCameraController.IsLightOn ||Sandbox.Game
+
|ModApi || System.Diagnostics.TraceEventType+* || System
 
|-
 
|-
|VRage.ModAPI.* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyProductAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyInputExtensions+* ||Sandbox.Game
+
|ModApi || System.Reflection.AssemblyDescriptionAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyKeys+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyConfigurationAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyJoystickAxesEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyCompanyAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyJoystickButtonsEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyCultureAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyMouseButtonsEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyVersionAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MySharedButtonsEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyFileVersionAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyGuiControlTypeEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyCopyrightAttribute+* || mscorlib
 
|-
 
|-
|VRage.Input.MyGuiInputDeviceEnum+* ||VRage.Input
+
|ModApi || System.Reflection.AssemblyTrademarkAttribute+* || mscorlib
 
|-
 
|-
|VRageRender.MyLodTypeEnum+* ||VRage
+
|ModApi || System.Reflection.AssemblyTitleAttribute+* || mscorlib
 
|-
 
|-
|ProtoBuf.ProtoMemberAttribute+* ||VRage.Library
+
|ModApi || System.Runtime.InteropServices.ComVisibleAttribute+* || mscorlib
 
|-
 
|-
|ProtoBuf.ProtoContractAttribute+* ||VRage.Library
+
|ModApi || System.ComponentModel.DefaultValueAttribute+* || System
 
|-
 
|-
|VRageRender.Lights.MyGlareTypeEnum+* ||VRage
+
|ModApi || System.SerializableAttribute+* || mscorlib
 
|-
 
|-
|VRage.Serialization.SerializableDictionary<T, U>+* ||VRage
+
|ModApi || System.Runtime.InteropServices.GuidAttribute+* || mscorlib
 
|-
 
|-
|ParallelTasks.IWork+* ||VRage.Library
+
|ModApi || System.Runtime.InteropServices.StructLayoutAttribute+* || mscorlib
 
|-
 
|-
|ParallelTasks.Task+* ||VRage.Library
+
|ModApi || System.Runtime.InteropServices.LayoutKind+* || mscorlib
 
|-
 
|-
|ParallelTasks.WorkOptions+* ||VRage.Library
+
|ModApi || System.Guid+* || mscorlib
 
|-
 
|-
 
|}
 
|}

Latest revision as of 08:47, 6 January 2017

Space Engineers restricts the types and methods allowed in scripts to stop programmers from creating dangrous mods or scripts that could compromise a player's computer. The following tables list what is allowed in Ingame Scripts and the Modding API.

  • * means all types in the listed namespace are whitelisted.
  • + means all members of the listed type are whitelisted. If a type doesn't have this symbol the allowed members can be found elsewhere in the list.

Ingame and Mod Scripts

Whitelist
Type (ModAPI, Ingame, Both) Fully Qualified Name Assembly
Both System.Collections.* mscorlib
Both System.Collections.Generic.* mscorlib
Both System.Collections.Generic.* System.Core
Both System.Collections.Generic.* System
Both System.Collections.Concurrent.* mscorlib
Both System.Collections.Concurrent.* System
Both System.Linq.* System.Core
Both System.Text.* mscorlib
Both System.Text.RegularExpressions.* System
Both System.Globalization.* mscorlib
Both object+* mscorlib
Both System.IDisposable+* mscorlib
Both string+* mscorlib
Both System.StringComparison+* mscorlib
Both System.Math+* mscorlib
Both System.Enum+* mscorlib
Both int+* mscorlib
Both short+* mscorlib
Both long+* mscorlib
Both uint+* mscorlib
Both ushort+* mscorlib
Both ulong+* mscorlib
Both double+* mscorlib
Both float+* mscorlib
Both bool+* mscorlib
Both char+* mscorlib
Both byte+* mscorlib
Both sbyte+* mscorlib
Both decimal+* mscorlib
Both System.DateTime+* mscorlib
Both System.TimeSpan+* mscorlib
Both System.Array+* mscorlib
Both System.Xml.Serialization.XmlElementAttribute+* System.Xml
Both System.Xml.Serialization.XmlAttributeAttribute+* System.Xml
Both System.Xml.Serialization.XmlArrayAttribute+* System.Xml
Both System.Xml.Serialization.XmlArrayItemAttribute+* System.Xml
Both System.Xml.Serialization.XmlAnyAttributeAttribute+* System.Xml
Both System.Xml.Serialization.XmlAnyElementAttribute+* System.Xml
Both System.Xml.Serialization.XmlAnyElementAttributes+* System.Xml
Both System.Xml.Serialization.XmlArrayItemAttributes+* System.Xml
Both System.Xml.Serialization.XmlAttributeEventArgs+* System.Xml
Both System.Xml.Serialization.XmlAttributeOverrides+* System.Xml
Both System.Xml.Serialization.XmlAttributes+* System.Xml
Both System.Xml.Serialization.XmlChoiceIdentifierAttribute+* System.Xml
Both System.Xml.Serialization.XmlElementAttributes+* System.Xml
Both System.Xml.Serialization.XmlElementEventArgs+* System.Xml
Both System.Xml.Serialization.XmlEnumAttribute+* System.Xml
Both System.Xml.Serialization.XmlIgnoreAttribute+* System.Xml
Both System.Xml.Serialization.XmlIncludeAttribute+* System.Xml
Both System.Xml.Serialization.XmlRootAttribute+* System.Xml
Both System.Xml.Serialization.XmlTextAttribute+* System.Xml
Both System.Xml.Serialization.XmlTypeAttribute+* System.Xml
Both System.Runtime.CompilerServices.RuntimeHelpers+* mscorlib
Both System.IO.Stream+* mscorlib
Both System.IO.TextWriter+* mscorlib
Both System.IO.TextReader+* mscorlib
Both System.IO.BinaryReader+* mscorlib
Both System.IO.BinaryWriter+* mscorlib
Both System.NullReferenceException+* mscorlib
Both System.ArgumentException+* mscorlib
Both System.ArgumentNullException+* mscorlib
Both System.InvalidOperationException+* mscorlib
Both System.FormatException+* mscorlib
Both System.Exception+* mscorlib
Both System.DivideByZeroException+* mscorlib
Both System.InvalidCastException+* mscorlib
Both System.IO.FileNotFoundException+* mscorlib
Both System.NotSupportedException+* mscorlib
Both System.Nullable<T>+* mscorlib
Both System.StringComparer+* mscorlib
Both System.IEquatable<T>+* mscorlib
Both System.IComparable+* mscorlib
Both System.IComparable<T>+* mscorlib
Both System.BitConverter+* mscorlib
Both System.FlagsAttribute+* mscorlib
Both System.IO.Path+* mscorlib
Both System.Random+* mscorlib
Both System.Convert+* mscorlib
Both System.StringSplitOptions+* mscorlib
Both System.DateTimeKind+* mscorlib
Both System.MidpointRounding+* mscorlib
Both System.EventArgs+* mscorlib
Both System.Reflection.MemberInfo mscorlib
Both System.Reflection.MemberInfo.Name mscorlib
Both System.Type mscorlib
Both System.Type.FullName mscorlib
Both System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) mscorlib
Both System.Type.GetFields(System.Reflection.BindingFlags) mscorlib
Both System.Type.IsEquivalentTo(System.Type) mscorlib
Both System.Type.operator ==(System.Type, System.Type) mscorlib
Both System.Type.ToString() mscorlib
Both System.ValueType mscorlib
Both System.ValueType.Equals(object) mscorlib
Both System.ValueType.GetHashCode() mscorlib
Both System.ValueType.ToString() mscorlib
Both System.Environment mscorlib
Both System.Environment.CurrentManagedThreadId mscorlib
Both System.Environment.NewLine mscorlib
Both System.Environment.ProcessorCount mscorlib
Both System.RuntimeType mscorlib
Both System.RuntimeType.operator !=(System.RuntimeType, System.RuntimeType) mscorlib
Both System.RuntimeType.GetFields(System.Reflection.BindingFlags) mscorlib
ModApi System.Timers.* System
ModApi System.Diagnostics.TraceEventType+* System
ModApi System.Reflection.AssemblyProductAttribute+* mscorlib
ModApi System.Reflection.AssemblyDescriptionAttribute+* mscorlib
ModApi System.Reflection.AssemblyConfigurationAttribute+* mscorlib
ModApi System.Reflection.AssemblyCompanyAttribute+* mscorlib
ModApi System.Reflection.AssemblyCultureAttribute+* mscorlib
ModApi System.Reflection.AssemblyVersionAttribute+* mscorlib
ModApi System.Reflection.AssemblyFileVersionAttribute+* mscorlib
ModApi System.Reflection.AssemblyCopyrightAttribute+* mscorlib
ModApi System.Reflection.AssemblyTrademarkAttribute+* mscorlib
ModApi System.Reflection.AssemblyTitleAttribute+* mscorlib
ModApi System.Runtime.InteropServices.ComVisibleAttribute+* mscorlib
ModApi System.ComponentModel.DefaultValueAttribute+* System
ModApi System.SerializableAttribute+* mscorlib
ModApi System.Runtime.InteropServices.GuidAttribute+* mscorlib
ModApi System.Runtime.InteropServices.StructLayoutAttribute+* mscorlib
ModApi System.Runtime.InteropServices.LayoutKind+* mscorlib
ModApi System.Guid+* mscorlib