RemoteTech

RemoteTech is a modification for Squad’s “Kerbal Space Program” (KSP) which overhauls the unmanned space program. It does this by requiring unmanned vessels have a connection to Kerbal Space Center (KSC) to be able to be controlled. This adds a new layer of difficulty that compensates for the lack of live crew members.

You can find out if the RemoteTech addon is available in the current game installation by usng the boolean expression:

addons:available("RT")

Then you can access the Remote Tech addon with:

set myRemoteTech to addons:RT.

Quick example

A quick example of usage:

if addons:available("RT") {
  local myRT is addons:RT.
  print "The delay from KSC to Myself is:".
  print myRT:KSCDELAY(ship) + " seconds.".
}

Connectivity Manager

Note, that some of the methods in here can be handled more generically regardless of whether RT is installed or not, by using the methods in the Connectivity Manager. The ConnectivityManager can abstract away the differences between communication mods.

Interaction with kOS

Note

New in version v1.0.2: kOS now supports access to connection informaion from a unified location. See Connectivity Managers for more information. All of the previous implementation as detailed on this page remains supported.

When you have RemoteTech installed you can only interact with the core’s terminal when you have a connection to KSC on any unmanned craft. Scripts launched when you still had a connection will continue to execute even if your unmanned craft loses connection to KSC. But you should note, that when there is no connection to KSC the archive volume is inaccessible. This will require you to plan ahead and copy necessary scripts for your mission to probe hard disk, if your kerbals and/or other scripts need to use them while not connected.

If you launch a manned craft while using RemoteTech, you are still able to input commands from the terminal even if you do not have a connection to the KSC. The archive will still be inaccessible without a connection to the KSC. Under the current implementation, there is no delay when accessing the archive with a local terminal. This implementation may change in the future to account for delays in reading and writing data over the connection.

Remote Tech and the kOS GUI widgets

New in version v1.1.0.

The kOS GUI widget system tries to obey the signal delay imposed by RemoteTech, when Remote Tech is installed. A user’s interaction with GUI widgets on the screen will be subject to the same signal delay rules as the interactive flying controls of the ship.

Antennas

It is possible to activate/deactivate RT antennas, as well as set their targets using kOS:

SET P TO SHIP:PARTSNAMED("mediumDishAntenna")[0].
SET M to p:GETMODULE("ModuleRTAntenna").
M:DOEVENT("activate").
M:SETFIELD("target", "Mission Control").
M:SETFIELD("target", mun).
M:SETFIELD("target", somevessel).
M:SETFIELD("target", "minmus").

Acceptable values for “target” are:

  • “no-target”

  • “active-vessel”

  • a Body

  • a Vessel

  • a string containing the name of a body or vessel

  • a string containing the name of a ground station (case-sensitive)

You can use RTADDON:GROUNDSTATIONS to get a list of all ground stations. The default ground station is called “Mission Control”.

Communication

When installed RemoteTech will influence communication between vessels. In order to send a message to another vessel a valid RemoteTech connection will have to exist between them and of course messages will arrive to their destination with a proper delay. Documentation of Connection class contains further information on how RemoteTech will change the behaviour of some of its suffixes.

RTAddon

This is obtained with Addons:RT.

structure RTAddon

Suffix

Type

Description

AVAILABLE

Boolean (readonly)

True if RT is installed and RT integration enabled. It is better to use addons:available("IR") for this.

DELAY(vessel)

Scalar

Get shortest possible delay to given Vessel

KSCDELAY(vessel)

Boolean

Get delay from KSC to given Vessel

ANTENNAHASCONNECTION(part)

Boolean

True if given Part has any connection

HASCONNECTION(vessel)

Boolean

True if given Vessel has any connection

HASKSCCONNECTION(vessel)

Boolean

True if given Vessel has connection to KSC

HASLOCALCONTROL(vessel)

Boolean

True if given Vessel has local control

GROUNDSTATIONS()

List of String

Get names of all ground stations

RTADDON:AVAILABLE
Type

Boolean

Access

Get only

True if RT is installed and RT integration enabled.

It is better to use ADDONS:AVAILABLE("RT") first to discover if RemoteTech is installed.

RTAddon:DELAY(vessel)
Parameters
Returns

(Scalar) seconds

Returns shortest possible delay for vessel (Will be less than KSC delay if you have a local command post).

RTAddon:KSCDELAY(vessel)
Parameters
Returns

(Scalar) seconds

Returns delay in seconds from KSC to vessel.

RTAddon:ANTENNAHASCONNECTION(part)
Parameters
Returns

Boolean

Returns True if part has any connection (including to local command posts).

RTAddon:HASCONNECTION(vessel)
Parameters
Returns

Boolean

Returns True if vessel has any connection (including to local command posts).

RTAddon:HASKSCCONNECTION(vessel)
Parameters
Returns

Boolean

Returns True if vessel has connection to KSC.

RTAddon:HASLOCALCONTROL(vessel)
Parameters
Returns

Boolean

Returns True if vessel has local control (and thus not requiring a RemoteTech connection).

RTAddon:GROUNDSTATIONS()
Returns

List of String

Returns names of all RT ground stations