> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksserverplayerscript.md).

# Class ksServerPlayerScript

Namespace: [KS.Reactor.Server](/reactor/api-reference/ks.reactor.server.md)\
Assembly: KSReactor.dll

Base class for scripts that can be attached to server players.

```csharp
public class ksServerPlayerScript : ksScript<ksIServerPlayer, ksServerPlayerScript>, ksScript<ksIServerPlayer, ksServerPlayerScript>.IInternals
```

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← ksScript\<ksIServerPlayer, ksServerPlayerScript> ← [ksServerPlayerScript](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksserverplayerscript.md)

#### Implements

ksScript\<ksIServerPlayer, ksServerPlayerScript>.IInternals

#### Inherited Members

ksScript\<ksIServerPlayer, ksServerPlayerScript>.InstanceType, ksScript\<ksIServerPlayer, ksServerPlayerScript>.IsAttached, ksScript\<ksIServerPlayer, ksServerPlayerScript>.Scripts, ksScript\<ksIServerPlayer, ksServerPlayerScript>.Assets, ksScript\<ksIServerPlayer, ksServerPlayerScript>.Attached(), ksScript\<ksIServerPlayer, ksServerPlayerScript>.Initialize(), ksScript\<ksIServerPlayer, ksServerPlayerScript>.Detached(), ksScript\<ksIServerPlayer, ksServerPlayerScript>.Clone(), [object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Properties

### IsVirtual <a href="#ks_reactor_server_ksserverplayerscript_isvirtual" id="ks_reactor_server_ksserverplayerscript_isvirtual"></a>

True if this is a virtual player

```csharp
public bool IsVirtual { get; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### Physics <a href="#ks_reactor_server_ksserverplayerscript_physics" id="ks_reactor_server_ksserverplayerscript_physics"></a>

Physics API

```csharp
public ksBaseServerPhysics Physics { get; }
```

#### Property Value

[ksBaseServerPhysics](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksbaseserverphysics.md)

### Player <a href="#ks_reactor_server_ksserverplayerscript_player" id="ks_reactor_server_ksserverplayerscript_player"></a>

Access the player

```csharp
public ksIServerPlayer Player { get; }
```

#### Property Value

[ksIServerPlayer](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksiserverplayer.md)

### Properties <a href="#ks_reactor_server_ksserverplayerscript_properties" id="ks_reactor_server_ksserverplayerscript_properties"></a>

Player properties

```csharp
public ksPropertyMap Properties { get; }
```

#### Property Value

ksPropertyMap

### Room <a href="#ks_reactor_server_ksserverplayerscript_room" id="ks_reactor_server_ksserverplayerscript_room"></a>

Access the room

```csharp
public ksIServerRoom Room { get; }
```

#### Property Value

[ksIServerRoom](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksiserverroom.md)

### Time <a href="#ks_reactor_server_ksserverplayerscript_time" id="ks_reactor_server_ksserverplayerscript_time"></a>

Access the room time

```csharp
public ksServerTime Time { get; }
```

#### Property Value

[ksServerTime](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksservertime.md)

### VirtualInput <a href="#ks_reactor_server_ksserverplayerscript_virtualinput" id="ks_reactor_server_ksserverplayerscript_virtualinput"></a>

Get an input object for virtual players. Returns null for non-virtual players.

```csharp
public ksVirtualInput VirtualInput { get; }
```

#### Property Value

[ksVirtualInput](/reactor/api-reference/ks.reactor.server/ks.reactor.server.ksvirtualinput.md)
