PHost - Alliances

PHost 4.1h



If two players want to co-operate in a game they need to share information and to co-ordinate their actions so that their ships and planets work with each other. PHost implements several features to support co-operative play.

PHost supports formal alliances between players by modifying its behavior as necessary in order to enable the allies to easily co-operate. Thus, allies can fly through each other's minefields (without matching friendly codes), allies can avoid fighting each other in combat (without matching friendly codes), allies can see each other's ships, and so on. Moreover, each of these alliance features can be tailored for each alliance so that different levels of trust and co-operation can be established. Team games especially benefit from PHost's implementation of alliances.

PHost also offers a number of features for players to co-operate without explicitly forming an alliance.

Back to top

Formal Alliances

Alliance Mechanics

Alliances are controlled using command messages; in particular, the allies command.

Forming an alliance is a two-step process in PHost:

  • You offer the alliance to somebody. Your partner has to offer back. Only when two players agree, the alliance will be active.
  • You can now offer the partner some privileges (alliance levels). Privileges can be offered conditionally or unconditionally.

You can perform both steps at once. You can offer privileges without waiting for your partner to confirm it. If you do that, your partner will see what you offer, and will benefit from it as soon as he offers back.

Alliance levels can be offered conditional or unconditional. If you offer an alliance conditionally, the ally can only use it when he also offers you the same level back, conditional or unconditional. If you offer it unconditionally, he can benefit from it even if he doesn't offer back. Once it has been determined that an alliance level is effective, there is no longer difference between a conditional and an unconditional offer. A bidirectional conditional ship-level alliance is perfectly identical to a bidirectional unconditional ship-level alliance.

Depending on the DelayAllianceCommands option, alliances take effect at the beginning or end of the host run. Normally, alliance changes take effect immediately. If you decide to drop an alliance and invade your ex-ally's territory, you can do that. With DelayAllianceCommands=Yes, alliance commands are processed at the end of the turn. Your ex-ally will have one turn to react on your withdrawal of the alliance.

Forming an Alliance

You form an alliance by sending an allies add command. For example, to offer an alliance to the Privateers (player 5), write a message to yourself with this command:

allies add 5

To confirm the alliance, the Privateers must send the same command, with your race number. If you are Birds (player 3), he has to write

allies add 3

To revoke an alliance, or take back an offer, you send an allies drop command:

allies drop 5

Offering Privileges

To offer or revoke privileges, you use the allies config command, like this:

allies config 5 +m ~c -s

The number is again the ally's player number. The following parameters specify the levels to offer:

Parameter Action
+priv Offer privilege unconditionally
~priv Offer privilege conditionally
-priv Withdraw privilege
+/-ships Offer/withdraw ship level
+/-planets Offer/withdraw planet level
+/-mines Offer/withdraw mine level
+/-combat Offer/withdraw combat level
+/-vision Offer/withdraw vision level

The privilege codes can abbreviated up to their first letter, as has been shown in the example command. The example command would offer mine level unconditionally, combat conditionally, and not offer ship level.

The alliance levels are described in detail below.


Let's assume you have started a new game as Birds, and want to offer an alliance to the Privateers. You could send the following commands (the same as above):

allies add 5
allies config 5 +m ~c -s

The first command would offer the alliance, the second one defines that you want to offer mine level (unconditionally) and combat level (conditionally).

PHost would confirm that by sending you the following alliance status report:

(-h0000)<<< Alliance Status Report >>>

Race  Offered to Race  Allowed by Race
----  ---------------  ---------------
  5   -s -p +m ~c -v

The alliance is now in status offered until the Privateers offer it back. Until they do that, they cannot use your friendly mine level offer. As you see, the default value for alliance levels is "not offered" ("-").

The Privateers will be notified by your offer, they receive the following message:

(-h0000)<<< Alliance Status Report >>>

Race  Offered to Race  Allowed by Race
----  ---------------  ---------------
  3                    -s -p +m ~c -v

They could now send the following commands:

allies add 3
allies config 3 ~c

This would complete the alliance. Your alliance report would now look like this:

(-h0000)<<< Alliance Status Report >>>

Race  Offered to Race  Allowed by Race
----  ---------------  ---------------
  5   -s -p +m ~c -v   -s -p -m ~c -v

Since you have offered +m to the Privateers, they'll be immune to your minefields. Since they have not offered mine level in return, their minefields still are a danger to you.

You have offered ~c, and they have offered ~c, too. Your ships will no longer attack each other. The Privateers could also have offered that level unconditionally, +c, so they would not have attacked you even if you drop your ~c. If they had not offered you combat level at all (-c), your ships would still fight Privateers.

Inevitable Technical Notes

The DOS Planets client (planets.exe), shareware Winplan, and their unpack tools have a limit of 50 scanned foreign ships each turn. Even if you see many more ships by means of an alliance, PHost will suppress the excess ships, and send them via util.dat. See also the relevant FAQ entry.

If you use third-party software only, you can use the bigtargets command to turn off this limitation. However, most current third-party software does not need that (VPA[Remote], EchoView[Remote] and PCC[Remote] can read ships from either place, other programs most likely can do that, too).

Registered Winplan users will always see all targets. When PHost detects a registered Winplan client, it will encode the "excess" targets in a format Winplan can read.

Allowing and Forbidding Alliances

There is no configuration option to disable alliances in PHost. Alliances are always allowed. However, there is an option to control players' access to the alliance configuration commands: CPEnableAllies. If that switch is off, players cannot form or break alliances.

If you wish to configure a game without alliances, you would disable CPEnableAllies, and then create a universe where no players are allied. This is the default in major universe creation programs.

Disabling CPEnableAllies also allows to configure games with fixed, predefined teams: create your universe as usual, and then set up the team alliances. Players will not be able to break these alliances. See Executing Commands from the Host-Side for an example.

Alliance Benefits

Alliances always involve two race. The following paragraphs have been written with you meaning the player who offers an alliance, and them the race who receives the offer.

Presence of Alliance

An alliance is formed when you and they both have offered it (allies add command). Even when no privileges (levels) have been offered yet, this has the following effects:

  • Neither you nor they will receive build points nor experience when you fight each other.
  • You don't get build points for damaging their ships with a Glory Device.
  • You don't get build points for pillaging or RGA'ing their planets.
  • You don't get build points for ground attacking them, nor for doing Imperial Assault to their planets.
  • You don't get build points for boarding one of their ships.

These rules are intended to prevent people from teaming up to generate build points by "trading" ships or planets back and forth.

Some configuration restrictions also depend on the presence of an alliance. For example, with CPEnableGive set to Allies, players can only give ships and planets to their allies.

Ship Level Benefits

When you offer ship level, they will have the following benefits:

  • They will see your ships, even cloaked ones. They will know your ships' experience levels. If your ship is using the RacePlus Chameleon Device, they will still see the true type.
  • As a consequence, they can tow and intercept your cloaked ships.
  • They can Remote Control your ships, unless you disallowed that (remote forbid command).
  • If AllowShipNames is Allies, they will see your ships' names.
  • If you are Privateer, they will not be harmed by your Rob mission.
  • They will not board your ships.
  • Their cloaked ships will not trigger your Glory Device. If your GD goes off, and you also have offered combat level, your Glory Devices will only do the reduced damage to their ships (1/10 mine hit for Saber, 1/5 for D19b).
  • If AlternativeAntiCloak is enabled, your Loki will not de-cloak their ships.
  • If you have a bidirectional alliance, and AllowAlliedChunneling is enabled, you'll be able to initiate a chunnel to their Firecloud, and their ships will be allowed to move through your chunnels.
  • When you offer combat, vision and ship level, they will receive a copy of all your combat recordings (VCRs). VCRs you receive by this mechanism will not be forwarded, there is no double-forwarding of messages.

Planet Level Benefits

When you offer planet level, they will have the following benefits:

  • They will see all your planets. They'll receive the following information:
    • Temperature
    • Native population, race and government
    • Colonists
    • Supplies and cash
    • Mined (surface) minerals
    • Experience level
    • Presence of a starbase
  • They will be able to beam up cargo from your planets. In particular, they can:
  • Your starbases will help their ships. In detail:
    • their ships can clone at your planets, using up your minerals and your build points, and delaying your build.
    • their ships can use parts from your base's depot for super-refit
    • your bases will, with the appropriate Primary Order, load torpedoes onto their ships, refuel their ships, or unload them.
    • your bases can repair their ships
    • an ungiveable ship will normally explode when you force it to surrender with your base. If you offer planet level, the ship will be allowed to stay (and not surrender).
  • When their ships unload colonists to your planet, there will be no ground combat nor Imperial Assault. The clans will simply be added to the population.
  • When one of their ships tries to colonize on one of your planets, it will be permitted to land and disassemble; the goodies will be added to your planet. Normally, ships refuse to colonize on foreign planets.

Minefield Level Benefits

When you offer minefield level, they will have the following benefits:

  • Your mines will not affect them. When their ships move through one of your minefields, they will not risk hitting a mine. Your web mines will not drain fuel from them.
  • If they also offer minefield level to you, overlapping minefields will not explode. With alternative mines-destroy-mines, mines which they lay and which overlap yours will not explode.
  • They can not sweep your mines.
  • They will see the Id of the controlling planet of your minefields.
  • They will see your minefield limit.
  • They can lay mines in your identity if AllowMinefieldIdentity is set to Allies or MineIdNeedsPermission is enabled. If no such restriction is configured, anyone can lay mines in your identity.

Combat Level Benefits

When you offer combat level, they will have the following benefits:

  • Your ships will not attack theirs. They can still attack you unless they offer combat level, too.
  • When you offer both combat and ship level, your Glory Devices will only do the reduced damage to their ships (1/10 mine hit for Saber, 1/5 for D19b).
  • When you offer combat, vision and ship level, they will receive a copy of all your combat recordings (VCRs). VCRs you receive by this mechanism will not be forwarded, there is no double-forwarding of messages.

Vision Level Benefits

When you offer vision level, they will have the following benefits:

  • They will see all planets you scan.
    • Exploration messages (you have a ship in orbit)
    • Sensor sweep reports (i.e. industrialization degree etc.)
    • Bioscan reports
    • Dark sense reports
    • Super spy reports
  • They will see all enemy ships which you see. They will not see your own ships unless you also enable ship level.
  • They will see all minefields you scan.
  • They will see all wormholes you scan.
  • When you offer combat, vision and ship level, they will receive a copy of all your combat recordings (VCRs). VCRs you receive by this mechanism will not be forwarded, there is no double-forwarding of messages.

Note that, as usual, there is no double-forwarding. Messages you receive from someone are not automatically forwarded to your vision allies.

Comparison to HOST

HOST 3.22.007 implements a different alliance system ("locking alliance friendly codes"). PHost does not implement this system, because PHost's system is older and we believe it's more flexible.

When you offer an alliance to another player in HOST, this has the following effects:

  • They will be immune to your minefields.
  • They will not be able to sweep your minefields.
  • You will not attack them.
  • They will be able to beam up stuff from your planets.

This is very similar (but not identical) to offering Mine Level, Combat Level and Planet Level in PHost.

HOST 3.22.036 adds a second level of alliance, named "FF allies". When you offer this level, they will get all the above benefits, plus they will see all the ships you see. This roughly equals offering the Vision Level in PHost. There is no equivalent to PHost's Ship Level in HOST.

Back to top

Informal Alliances

Sometimes, you want to work together with someone without making a formal alliance. The VGA Planets game has offered quite a number of ways to achieve that, and PHost supports and improves these.

Friendly Code Matching: When two objects have the same friendly code, they behave (roughly) as if they were allied. See Friendly Code Matching for details. The Universal Minefield Friendly Code helps you to coordinate movement of a large allied fleet through your minefields.

Giving away things: You can transfer cargo to foreign ships and planets. Some such cargo transfers can be done directly, some need a mission (Beam down credits, Transfer torpedoes, Transfer fighters, Transfer money) or friendly codes (bdm, btX, bum). You can give away ships using the gsX friendly code or the give command, the command also works for planets. More details can be found in the respective descriptions.

Sharing Information: No-one prevents you from telling others where your weak spots are (unless AllowPlayerMessages is off, of course). Some client programs include functions to transmit data to other players in a way that the receiver sees the information in his starchart.

On RST Sharing

If you send someone else your Result file, so he can see everything you see, you should probably better make a formal alliance.

There's nothing immoral in this sort of information sharing. However, PHost will not know about it. If your friend attempts to intercept one of your cloaked ships, for example, PHost will reject his Turn for intercepting a ship he doesn't see. If you have offered him ship level, PHost will know that they see your ships, and this problem does not occur.

Even if you have a full alliance, sending the Result file is not superfluous. It will contain even more information than PHost-generated alliance data.

Back to top

Last updated 31 May 2015.

Mail for support, ideas, bug reports, questions. Contact Details