[PHost Logo]© 

Remote Ship Control
The Portable Host
Version 3.2.3.5g
 

INDEX

Introduction

Remote ship control is a PHOST feature that allows players to control each other's ships without having to relinquish ownership. This can be useful in many situations. In team games, for example, a fleet of ships may represent different players, and keeping the ships co-ordinated with respect to waypoints, missions, friendly codes, etc. is fraught with errors of (mis)communication. It would be much easier if a single player took control of this fleet and yet the ships retained their ownership.

In another situation, one player may be acting as a substitute for another player in the game (perhaps an ally). Instead of playing two different turns from two different RST files, it would be much easier if the substitute player simply assumed control of his ally's ships, without the ally actually having to give the ships up. PHOST enables this type of ship sharing through the remote control feature.

Back to the index 


How Remote Control Works

Remote control is simple in operation and hopefully equally simple to understand. PHOST keeps a list of each ship's original owner and, if the ship is under remote control, the player who is controlling the ship. Immediately before host processing (i.e., after TRN file processing), PHOST gives control of the ship back to the original owner. Then, right before RST files are sent out, PHOST changes the ship's owner to be the player who has remote control. That's it! This means that the remote control player sees the ship as one of his own. He can give it a mission, a waypoint, a speed setting, etc. the same way he would for his own ships. In the next turn, the ship's owner returns to normal for the duration of host processing, so that the ship continues to have all of the race-specific benefits of its usual owner.

Here is a summary of what happens and how remote control is seen by the players:

  1. A player assumes remote control of a ship by sending a command message (see below).

  2. Host processing proceeds normally. The ship is still owned by its original owner and behaves normally.

  3. Right before RST files are sent out, the ship changes ownership to the remote control player.

  4. The remote control player sees the ship as if it were one of his own. He can give the ship a waypoint setting, change the name, change the speed, transfer cargo between his own ships, etc. The original ship owner sees the ship as an other-race ship. He has no control over it at this point.

  5. The remote control player submits his TRN with the ship commands. After PHOST processes the TRN files, the ship now reverts back to its original owner. The waypoint, speed setting, mission, etc. are just what the remote control player ordered, only the owner has changed (to the original ship owner).

  6. After host processing is complete and immediately before RST files are sent out, the ship's owner now changes to the remote control player. The process continues from step 4 above.
Some points to note: Back to the index 

Playing with Remote Control

When playing in a game in which remote control has been enabled, ships become owned by the remote control player prior to RST files being written out. This means that ships will appear to be owned by the remote control player, while during actual host operation they behave as  if they were owned by the original owner. For example, if a Privateer player allows a Federation player to remote control a ship, then all players will see that ship as being owned by the Federation (and, in fact, the Federation player will be giving commands to the ship). But that ship is quite capable of robbing, since it acts as a Privateer ship during host operation.

This switch of information can be quite damaging to players who are not aware of the true ship's owner and hence the ship's true capabilities. To prevent this confusion, PHOST implements different forms of information provided to players regarding remote control ships.

  1. The remote control owner and the original ship owner receive player messages that describe which ships are under remote control, who the original owner is, and who the remote control owner is. This information will also be contained in a Remote Control Ships UTIL.DAT record.

  2. Non-involved players (i.e., neither the remote control player nor the original ship owner) who scan a ship that is being remotely controlled will also receive a Remote Control Ships UTIL.DAT record including that ship. This allows player-side utilities to determine the true ship's owner and display it in some fashion.

  3. The names of all ships under remote control will be automatically modified by PHOST to end in the 2 characters *N where N is a player number from 1-9 or A for the Rebels and B for the Colonies. The player indicated in the ship name is that of the ship's original owner. For example, if a Player #5 ship is being controlled by Player #2, then the ship name:

  4. Priv Ship

    will automatically be modified by PHOST to read:

    Priv Ship*5

    The same ship, if  it now becomes owned by Player #11 (but under remote control by another player), would have its name modified to: 

    Priv Ship*B

    ==> Note that player messages will not reflect this new, modified name. The modified name will only show up in the starchart of your client program. This is because the name is not modified while it is owned by the original owner (i.e., during host processing). Name modification occurs immediately before the generation of RST files.
     
  5. PHOST will now prevent all players from naming their ships in the above manner. Any ship whose name is set to end in the characters *N where N is either 1-9 or the letters A or B will have those last two characters removed from the ship name. This will prevent players from "spoofing" the system and pretending that ships are under remote control.
Back to the index 

Remote Control Commands

This section briefly describes the commands required for using remote control. The full syntax of the remote control command set is described on the "Command Processor" page.

Acquiring Control

To acquire control of an ally's ship, use a command of the form:
remote control ShipID

where ShipID must be the ID number of a ship owned by your ally.

Relinquishing Control

To return control of a remote control ship back to its original owner, use a command of the form:
remote drop ShipID

where ShipID is the ID number of a ship that you are currently controlling remotely.

Forbidding Control

To prevent any player from acquiring control of one of your own ships, use a command of the form:
remote forbid ShipID

where ShipID is the ID number of one of your own ships. No player, not even an ally, may take remote control of this ship until you explicitly enable it. Note that by default, all of your ships can be remotely controlled, so you must take care to forbid control for any ship you want to protect. Note that forbidding a ship from being controlled cancels any remote control that is currently in effect for the ship.

You may indicate that all newly-built ships are forbidden from remote control by issuing the command:

remote forbid default

This command does not affect existing ships. Only ships that are built after this command is received are, by default, prevented from being remotely controlled. The forbid/allow state of each ship can, of course, be modified explicitly using the forbid and allow commands with a ship ID number as a parameter.

Allowing Control

Once a ship has been forbidden from being controlled, it can be once again be allowed to participate in remote control by using a command of the form:
remote allow ShipID

where ShipID is the ID number of a ship currently forbidden from being remotely controlled. You must be the owner of the ship to issue this command.

You may indicate that all newly-built ships are allowed to be remotely controlled by issuing the command:

remote allow default

This command does not affect existing ships. Only ships that are built after this command is received are, by default, allowed to be remotely controlled. Note that the default state at the beginning of the game is to allow all newly-built ships to be remotely controlled.

Back to the index 


This document is maintained by The Portable Host Project[Remote] (support@phost.de).

Last updated 7 December, 2001