Difference between revisions of "Scripting Whitelist"

From Space Engineers Wiki
Jump to: navigation, search
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 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 types in the listed namespace are whitelisted.

Revision as of 21:59, 11 July 2016

Space Engineers restricts the types and methods allowed 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
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
System.Reflection.MemberInfo mscorlib
System.Reflection.MemberInfo.Name mscorlib
System.Type mscorlib
System.Type.FullName mscorlib
System.Type.GetTypeFromHandle(System.RuntimeTypeHandle) mscorlib
System.Type.GetFields(System.Reflection.BindingFlags) mscorlib
System.Type.IsEquivalentTo(System.Type) mscorlib
System.Type.operator ==(System.Type, System.Type) mscorlib
System.Type.ToString() mscorlib
System.ValueType mscorlib
System.ValueType.Equals(object) mscorlib
System.ValueType.GetHashCode() mscorlib
System.ValueType.ToString() mscorlib
System.Environment mscorlib
System.Environment.CurrentManagedThreadId mscorlib
System.Environment.NewLine mscorlib
System.Environment.ProcessorCount mscorlib
System.RuntimeType mscorlib
System.RuntimeType.operator !=(System.RuntimeType, System.RuntimeType) mscorlib
System.RuntimeType.GetFields(System.Reflection.BindingFlags) mscorlib
SpaceEngineers.Game.ModAPI.Ingame.* SpaceEngineers.Game
System.Collections.Generic.* VRage.Library
VRage.Game.ModAPI.Ingame.* VRage.Game
Sandbox.ModAPI.Ingame.* Sandbox.Common
VRageMath.* VRage.Math
Sandbox.Game.Gui.TerminalActionExtensions+* Sandbox.Game
Sandbox.ModAPI.Interfaces.ITerminalAction+* Sandbox.Common
Sandbox.ModAPI.Interfaces.ITerminalProperty+* Sandbox.Common
Sandbox.ModAPI.Interfaces.ITerminalProperty<TValue>+* Sandbox.Common
Sandbox.ModAPI.Interfaces.TerminalPropertyExtensions+* Sandbox.Common
Sandbox.Game.Localization.MySpaceTexts+* Sandbox.Game
VRage.MyTexts+* VRage
VRage.MyFixedPoint+* VRage.Library
VRage.Game.Components.MyComponentContainer VRage.Game
VRage.Game.Components.MyComponentContainer.TryGet<T>(out T) VRage.Game
VRage.Game.Components.MyComponentContainer.Has<T>() VRage.Game
VRage.Game.Components.MyComponentContainer.Get<T>() VRage.Game
VRage.Game.Components.MyComponentContainer.TryGet(System.Type, out VRage.Game.Components.MyComponentBase) VRage.Game

Mod Scripts

Mod Scripts
Fully Qualified Name Assembly
VRage.Collections.ListReader<T>+* VRage.Library
VRage.Game.MyDefinitionId+* VRage.Game
VRage.Game.Components.MyResourceSourceComponentBase+* VRage.Game
VRage.Game.ObjectBuilders.Definitions.MyObjectBuilder_GasProperties+* VRage.Game
VRage.ObjectBuilders.MyObjectBuilder_Base+* VRage.Game
VRage.Game.Components.MyComponentBase+* VRage.Game
VRage.ObjectBuilders.SerializableDefinitionId+* VRage.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.CurrentOutput Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.MaxOutput Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.DefinedOutput Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.ProductionEnabled Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.RemainingCapacity Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSourceComponent.HasCapacityRemaining Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent.AcceptedResources Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent.RequiredInput Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent.SuppliedRatio Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent.CurrentInput Sandbox.Game
Sandbox.Game.EntityComponents.MyResourceSinkComponent.IsPowered Sandbox.Game
VRage.Game.Components.MyResourceSinkComponentBase VRage.Game
VRage.Game.Components.MyResourceSinkComponentBase.AcceptedResources VRage.Game
VRage.Game.Components.MyResourceSinkComponentBase.CurrentInputByType(VRage.Game.MyDefinitionId) VRage.Game
VRage.Game.Components.MyResourceSinkComponentBase.IsPowerAvailable(VRage.Game.MyDefinitionId, float) VRage.Game
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

Ingame Scripts
Fully Qualified Name Assembly
System.Timers.* System
System.Diagnostics.TraceEventType+* System
System.Reflection.AssemblyProductAttribute+* mscorlib
System.Reflection.AssemblyDescriptionAttribute+* mscorlib
System.Reflection.AssemblyConfigurationAttribute+* mscorlib
System.Reflection.AssemblyCompanyAttribute+* mscorlib
System.Reflection.AssemblyCultureAttribute+* mscorlib
System.Reflection.AssemblyVersionAttribute+* mscorlib
System.Reflection.AssemblyFileVersionAttribute+* mscorlib
System.Reflection.AssemblyCopyrightAttribute+* mscorlib
System.Reflection.AssemblyTrademarkAttribute+* mscorlib
System.SerializableAttribute+* mscorlib
SpaceEngineers.Game.ModAPI.* SpaceEngineers.Game
Sandbox.ModAPI.* Sandbox.Game
VRage.Game.ModAPI.* VRage.Game
Sandbox.ModAPI.* Sandbox.Common
VRage.Game.ModAPI.Interfaces.* VRage.Game
VRage.ModAPI.* VRage.Game
VRage.Game.Entity.* VRage.Game
Sandbox.Game.Entities.* Sandbox.Game
VRage.Game.* VRage.Game
Sandbox.Common.ObjectBuilders.* SpaceEngineers.ObjectBuilders
Sandbox.Common.ObjectBuilders.Definitions.* SpaceEngineers.ObjectBuilders
VRage.ObjectBuilders.* VRage.Game
VRage.Game.Components.* VRage.Game
Sandbox.Game.EntityComponents.* Sandbox.Game
VRage.Game.ObjectBuilders.* VRage.Game
Sandbox.Game.* Sandbox.Game
VRage.* VRage
Sandbox.Definitions.* Sandbox.Game
VRage.* VRage.Library
VRage.Collections.* VRage.Library
VRage.Voxels.* VRage
VRage.Utils.* VRage
VRage.Library.Utils.* VRage.Library
Sandbox.Game.Lights.* Sandbox.Game
Sandbox.ModAPI.Weapons.* Sandbox.Game
Sandbox.Engine.Utils.MySpectatorCameraController Sandbox.Game
Sandbox.Engine.Utils.MySpectatorCameraController.IsLightOn Sandbox.Game
VRage.ModAPI.* VRage.Input
VRage.Input.MyInputExtensions+* Sandbox.Game
VRage.Input.MyKeys+* VRage.Input
VRage.Input.MyJoystickAxesEnum+* VRage.Input
VRage.Input.MyJoystickButtonsEnum+* VRage.Input
VRage.Input.MyMouseButtonsEnum+* VRage.Input
VRage.Input.MySharedButtonsEnum+* VRage.Input
VRage.Input.MyGuiControlTypeEnum+* VRage.Input
VRage.Input.MyGuiInputDeviceEnum+* VRage.Input
VRageRender.MyLodTypeEnum+* VRage
ProtoBuf.ProtoMemberAttribute+* VRage.Library
ProtoBuf.ProtoContractAttribute+* VRage.Library
VRageRender.Lights.MyGlareTypeEnum+* VRage
VRage.Serialization.SerializableDictionary<T, U>+* VRage
ParallelTasks.IWork+* VRage.Library
ParallelTasks.Task+* VRage.Library
ParallelTasks.WorkOptions+* VRage.Library