PHost - Fortgeschrittene Funktionen

PHost 4.1h


Inhalt

Einleitung

Dieses Dokument beschreibt die erweiterten Funktionen von PHost, wie du sie einrichten kannst oder damit spielen. Dieses Dokument ist für Spieler und Hosts gedacht.

Nach oben


Geänderte Rassen-Zuweisungen

Mit PHost kann jeder Spieler jede Rasse spielen. Dafür gibt es die Konfigurationseinstellung PlayerRace. Diese Einstellung hat 11 Einträge, jeder gibt die Rasse an, die der entsprechende Spieler spielt. Zum Beispiel:

PlayerRace = 1,1,1,1,1,6,6,6,6,6,6

Hier spielen Spieler 1 bis 5 die Föderation, Spieler 6 bis 11 spielen Borg. Die Rassennummer 12 und höhere werden ebenfalls akzeptiert und geben dem entsprechenden Spieler keinen Volksbonus.

(v4.0:) PHost 4 geht sogar einen Schritt weiter und erlaubt es, die Spezialmission unabhängig zu konfigurieren (PlayerSpecialMission). Dies ist besonders für Designer-Spiele mit neuen Völkern vorgesehen. Im Normalfall, wenn die Option PlayerSpecialMission in der Konfigurationsdatei nicht auftritt, werden die Zuordnungen von PlayerRace verwendet.

Ein Beispiel einer komplett veränderten Konfiguration wäre

PlayerRace = 1,1,1,1,1,6,6,6,6,6,6
PlayerSpecialMission = 1,1,2,2,2,4,4,4,4,4,4

Hier spielen Spieler 1 und 2 eine normale Füderation, Spieler 3 bis 5 spielen eine Föderation, die statt Super Refit die Mission Hiss ausführen können, und alle die Borg-Spieler können Planeten plündern anstatt Schiffe im Raum reparieren.

Missionen und Rassen-Eigenschaften

Moderne Client-Programme unterstützen das Spiel mit geänderten Rassenzuordnungen. Ältere Clients können das jedoch nicht. In diesen ändert sich die Spezialmission des Spielers nicht, so dass die Spieler besonders aufpassen müssen. Wenn Spieler 11 also die Mission 9 auswählt, zeigt sein Client-Programm die Mission Build Fighters an. Wenn Spieler 11 aber Rasse 6 spielt (bzw. Spezialmission 6 zugeordnet bekommen hat), macht das Schiff in Wirklichkeit Self Repair. Mit der gesonderten Special Mission kann diese Verwirrung umgangen werden.

==> Wir empfehlen, dass Spieler ihre mission.ini bearbeiten und den Text "Special Mission" durch ihre eigentliche Spezialmission ersetzen, und dann diese Mission statt der normalen Mission benutzen.

Einige Client-Programme lassen dich nicht deine Spezialmission setzen. Beispielsweise gilt die Mission Build Fighters nur auf Schiffen mit Raumjäger-Startrampen, dementsprechend könnte ein Client-Programm sich weigern, diese Mission auf einem Torpedoschiff einzustellen, auch wenn Spieler 11 die Cyborgs spielt. Auch dieses Problem wird durch die Verwendung der Mission 31 umgangen.

Die folgende Tabelle fasst alle Eigenschaften zusammen, die mit den beiden Einstellungen, PlayerRace und PlayerSpecialMission, gesteuert werden:

Wert PlayerRace PlayerSpecialMission
1 Crewbonus der Föderation (wenn aktiviert, AllowFedCombatBonus): zwischen Kämpfen werden Schilde 25% repariert; 50 kt Massebonus; alle Waffen bis zum Ende voll einsetzbar
90% laufen über, wenn Schiff geentert wird
Super Refit-Mission
2 Vertragen 150% Schaden im Kampf, sowie damit verwandte Boni
Kolonisten sind immun gegen Glory Device
Hiss-Mission
3 Bewaffnete Schiffe ohne Sprit sind immun gegen NUK Missionen Super Spy und Standard Spy
Immun gegen Force Surrender während dieser Missionen
4 Schiffe haben PlanetImmunity wenn entsprechend konfiguriert (PlanetsAttackKlingons)
Bis zu 60 Clans auf Wüstenplaneten
Pillage-Mission
5 Geschütze haben dreifachen Kill-Wert im Kampf
Komplette Crew läuft über, wenn Schiff geentert wird
Rob-Mission
Können Schiffe entern (AllowPrivateerTowCapture)
6 Sammeln nach dem Kampf Trümmer des zerstörten Gegnerschiffes auf
Assimilieren Eingeborene
Self Repair-Mission
7 Bevorzugen Wüstenplaneten (CrystalsPreferDeserts)
Kolonisten sind immun gegen Glory Device
Können Fangminen legen (mit diversen Missionen)
Fangminen dieser Völker ziehen gegnerischen Schiffen Sprit ab (drain fuel)
Können Schiffe entern (AllowCrystalTowCapture)
8 40% laufen über, wenn Schiff geentert wird
Werden von Bioscannern nicht gefunden
Dark Sense-Mission
9 Bis zu 60 Clans auf Wüstenplaneten Build Fighters-Mission (siehe AllowBuildFighters)
10 Schiffe haben PlanetImmunity wenn entsprechend konfiguriert (PlanetsAttackRebels)
Bis zu 9 Millionen Kolonisten auf Eisplaneten; 60 Clans auf Wüstenplaneten
Findet auch Empire-Planeten mit Bioscannern
Werden vom Dark Sense nicht gefunden
Rebel Ground Attack-Mission
Schiffe bauen automatisch Raumjäger (siehe AllowBuildFighters)
11 Bis zu 60 Clans auf Wüstenplaneten
Können, wenn konfiguriert, Fangminen mit Raumjägern räumen (AllowColoniesSweepWebs)
70% laufen über, wenn Schiff geentert wird
Build Fighters-Mission (siehe AllowBuildFighters)
12 keine keine

Beispielsweise spielt ein Spieler mit PlayerRace=7 und PlayerSpecialMission=7 einen "normalen" Crystal. Gibst du ihm stattdessen PlayerSpecialMission=6, wird er immer noch Wüstenplaneten mögen und immun gegen Glory Devices sein. Er kann aber keine Fangminen mehr legen oder Schiffe entern. Stattdessen kann er seine Schiffe im freien Raum reparieren.

Nicht alle Kombinationen sind sinnvoll. Wenn du nicht ernsthaft mit den neuen Möglichkeiten experimentieren willst, empfehlen wir jedem, auf die separate Einstellung von PlayerSpecialMission zu verzichten, so dass nur die 11 Standard-Völker im Spiel sind.

Viele andere Rassen-Eigenschaften werden über Array-Optionen festgelegt. Wenn du mit geänderten Rassenzuweisungen spielst, musst du diese manuell ändern. Optionen, die in diese Kategorie fallen:

In neueren PHost-Versionen betreffen einige Optionen nur die Standard-Einstellungen der Schiffsfunktionen. Du kannst sie über shiplist.txt ändern oder zurücksetzen.

Ship List (Schiffsliste)

Jedes Volk kann eine Auswahl an Schiffen bauen; diese Auswahl wird in der Datei truehull.dat festgelegt. Wenn andere Zuordnungen von Völkern und Spielern verwendet werden als dies standardmäßig der Fall ist, müssen Host und Clients übereinstimmen, wie diese Datei interpretiert wird. Für den PHost ist dabei die Option MapTruehullByPlayerRace zuständig.

Normalerweise wird truehull.dat mit einer Spielernummer indiziert (MapTruehullByPlayerRace=No). Alle Client-Programme können diese Interpretation handhaben. Du musst dann die Datei aber auch entsprechend anpassen; für obiges Beispiel müsste sie also fünfmal die Föderations-Schiffsliste und sechsmal die Cyborg-Schiffsliste enthalten.

Um so eine Datei zu erstellen, benötigst du Penguin[Remote] (Version 2 oder neuer) oder den Penguin-Klon Peng[Remote] (Version 0.2 oder neuer).

  • Zerlege die Schiffsliste (penguin -d);
  • Kopiere die Zuweisung PlayerRace aus pconfig.src in truedat.txt;
  • Generiere die Schiffsliste neu (penguin -r);
  • Sende die neu-erstellten Dateien deinen Spielern.

Du kannst die Schiffs-Zuordnungen frei bearbeiten, wenn du möchtest.

Wenn alle Spieler ein Client-Programm benutzen, welches damit umgehen kann, kannst du MapTruehullByPlayerRace auf Yes setzen. Damit übernimmt der Client die Umrechnung. Der Vorteil ist, dass du so eine Schiffsliste unverändert verwenden kannst. Der Nachteil ist, dass es nicht funktioniert, wenn jemand ein anderes Client-Programm benutzt.

Im Dezember 2002 wird MapTruehullByPlayerRace von (mindestens) VPA[Remote] und Planets Command Center[Remote] unterstützt.

Einige der Schiffsfunktionen werden manchmal zu den Rassen-Eigenschaften gezählte. Allerdings hängt es nur von der truehull.dat ab, wer welches Schiff bauen kann. Wenn du der Föderation den Bau von MCBRs erlaubst, kann eben auch die Föderation gravitonische Tarnschiffe bauen, obwohl man das üblicherweise als Rassenbonus der Privateers bezeichnet.

Nach oben


Nachrichten-Filter

Viele Spieler benutzen Programme, die util.dat lesen und grafisch darstellen. Beispiele für solche Programme sind EchoView[Remote], VPA 3.61[Remote] und PCC[Remote].

Da util.dat quasi dieselben Informationen enthält wie die Subraumnachrichten, werden nicht unbedingt beide benötigt. Außerdem ist es in späteren Spielzügen für Spieler recht schwierig, bei über 200 Minenscans, Sensor Sweeps, Dark Sense und so weiter den Überblick zu behalten.

Die Idee des Nachrichtenfilters ist, dass die oben genannten Programme die Informationen aus util.dat grafisch anzeigen werden, so dass es nicht mehr nötig ist, die Informationen nochmals als Text zu lesen.

Spieler können den Nachrichtenfilter mit dem filter-Befehl aktivieren, ohne, dass ein Eingriff seitens des Hostes nötig ist. Wenn der Filter aktiv ist, werden die folgenden Nachrichten unterdrückt:

Nach oben


Endloses Universum (wraparound universe)

PHost unterstützt eine Form einer Endloskarte (wraparound map). Auf einer Endloskarte können Schiffe über den "Rand" der Karte hinausfliegen und betreten die Karte an der gegenüberliegenden Karte neu. Damit verhält sich das Universum wie eine Kugel (sphere) oder ein Torus. Auf der standardmäßigen VGA-Planets-Karte kannst du beispielsweise von (1010,2000) nach Westen fliegen (Richtung 270) und kommst nach 20 Lichtjahren auf der anderen Seite der Karte an (2990,2000) an.

Auf einer Endloskarte können Spieler alle Bereiche der Karte nutzen. Je nach Position der Homeworlds gibt es keine "toten" Bereiche mehr, die schwer erreichbar sind und möglicherweise gar nicht erforscht werden. Auf einer Endloskarte hat jeder Spieler mehr Nachbarn, was hoffentlich zu mehr Interaktion führt. Völker auf der entgegengesetzten Seite der Karte können auf einmal Nachbarn sein.

Eine Endloskarte einrichten

Um die Endloskarte zu aktivieren, setze AllowWraparoundMap auf Yes. Außerdem musst du mit der Einstellung WraparoundRectangle den Kartenbereich (wraparound rectangle) definieren. Der Kartenbereich begrenzt die möglichen Positionen aller Objekte. Wenn ein Schiff den Kartenbereich verlässt, betritt es ihn auf der anderen Seite der Karte wieder.

==> Im Gegensatz zu Schiffen und Minenfeldern werden Planeten außerhalb der Kartengrenze nicht in den Bereich verschoben. Ein Planet außerhalb der Grenzen existiert für PHost einfach nicht. Damit sind Karten mit weniger als 500 Planeten möglich: platziere die Planeten einfach außerhalb der Grenze. Gängige Karteneditoren platzieren solche Planeten bei Y=0 oder Y=9000, was genau passt.

Die Einstellung WraparoundRectangle enthält 4 Werte. Die ersten beiden Werte definieren X- und Y-Koordinate der unteren linken Ecke des Kartenbereiches; die letzten beiden Werte definieren die obere rechte Ecke.

Seit PHost 3.3c ist der äußerste obere und rechte Rand nicht mehr Teil der Karte. In früheren Versionen waren sie es, das zu der seltsamen Situation führte, dass ein Schiff, welches sich von Y=2999 ein Lichtjahr nach Norden bewegt, auf Y=3000 ankommt - bewegt es sich jedoch zwei Lichtjahre nach Norden und wieder eins nach Süden, landet es bei Y=1000.

Beispielsweise definiert

WraparoundRectangle = 1500,1000,2500,3000

ein Universum, in dem gültige X-Koordinaten die Werte 1500 bis 2499 haben, gültige Y-Koordinaten haben die Werte 1000 bis 2999.

Eine weitere populäre Einstellung:

WraparoundRectangle = 1000,1000,3000,3000

Dies ergibt eine Karte in Standardgröße ohne Saum an den Rändern.

Keine Koordinate des Kartenbereiches darf kleiner als 0 oder größer als 10000 sein. Wir empfehlen sogar, den Kartenbereich weit von diesen Grenzen weg zu konfigurieren (die untere linke Ecke sollte nicht näher am Koordinatenursprung liegen als (1000,1000)), damit alle Programme weiterhin korrekt funktionieren.

Die Einstellung WraparoundRectangle hat keine Auswirkung, wenn AllowWraparoundMap ausgeschaltet ist.

Spielen auf einer Endlos-Karte

Ein Endlosuniversum kann schwierig zu verwenden sein: du musst dir vorstellen, wie das Schiff von einem Ende zum anderen in einem Zug fliegt. Um dabei genau auf einen Planeten zu treffen, musst du genau planen. Glücklicherweise können einige der aktuellen Client-Programme die Karte entsprechend darstellen (die Ebene wird einfach mit Kopien der Karte gefüllt), so dass Bewegung über die Grenze einfacher zu sehen und zu planen ist.

  • VPA[Remote] (ein Client für DOS) unterstützt quadratische Karten mit Zentrum bei (2000,2000).
  • PCC[Remote] (ein Client für DOS) unterstützt fast alle Kartengrößen (Ausdehnung muss geradzahlig sein).
  • EchoView[Remote] (ein Auswertungsprogramm für Windows) unterstützt quadratische Karten beliebiger Größe und Position.

Da Endloskarten recht populär sind, sollten neue Programme diese Funktion unterstützen.

Funktionsweise der Endloskarte

Die wichtigste Regel für eine Endloskarte ist: es gibt keine Sonderregeln. Alle Prozesse funktionieren problemlos über die Kartengrenze hinweg. Ein Schiff, das am linken Rand sitzt und nach links fliegt, taucht rechts wieder auf. Wenn ein Minenfeld mit 100 ly Radius 50 ly vom Rand weg liegt, ragt es über die Kante 50 ly in den gegenüberliegenden Quadranten hinein.

Stolperstrick: Es gibt eine Stolperfalle zu beachten: wenn du einen sehr langen Kurs einstellst ("1900 ly nach rechts"), bewegt sich das Schiff u.U. in eine andere Richtung als vorgesehen. PHost bewegt Schiffe immer entlang der kürzest möglichen Strecke zu ihrem Zielpunkt, möglicherweise unter Benutzung einer Kartengrenze.

Fallgrube: Externe Addon-Programme wissen eventuell nichts von den Einstellungen der Endloskarte. Deshalb verschieben sie unter Umständen Schiffe außerhalb des Kartenbereiches, und berücksichtigen auch sonst den "Wrap" nicht. PHost setzt die Schiffe daher nach dem Addon-Aufruf wieder in den Kartenbereich zurück. Andere Probleme sind jedoch nicht so leicht zu beheben. Konsultiere am besten die Anleitung des Programmes, ob es mit Endloskarten umgehen kann.

Sphere und PWrap: Du solltest Sphere und PWrap nicht mit PHost verwenden. Zwar implementieren diese Addons ebenfalls eine Endloskarte, diese ist aber nicht so gut in das Spiel integriert wir die von PHost. Beispielsweise wirken mit diesen Addons Minenfelder nicht über Kartengrenzen hinweg in den gegenüberliegenden Quadranten. Du solltest auf keinen Fall Sphere oder PWrap einsetzen, wenn AllowWraparoundMap eingeschaltet ist.

Nach oben


Remote Control (Fernsteuerung)

Das Fernsteuern von Schiffen (Remote Control) ist eine Funktion von PHost, mit der Spieler den Schiffen ihrer Verbündeten Befehle geben können, ohne, dass diese Schiffe komplett übergeben werden müssen. Das ist in vielen Situationen nützlich. Beispielsweise kann es in einem Teamspiel schwierig sein, eine Flotte aus Schiffen vieler Spieler zu koordinieren. Mit Remote Control kann ein Spieler die Steuerung übernehmen und alle Befehle geben.

Funktionsweise der Remote Control

Remote Control funktioniert ganz einfach, und ist daher einfach zu verstehen.

Wenn du ein Schiff besitzt, siehst du es in deinem Result, und kannst ihm Aufträge geben, die es ausführt. Wenn du also Crystal bist, erhältst du ein Crystal-Schiff angezeigt, und du kannst Fangminen legen.

Wenn du ein fremdes Schiff fernsteuerst, gehört dieses während des gesamten Hostlaufes dem ursprünglichen Besitzer. Bevor die Results erstellt werden, wird das Schiff jedoch dir übergeben und somit in dein Result gepackt (du kannst nur Schiffen Befehle geben, die in deinem Result stehen). Im nächsten Zug wird das Schiff nach dem Verarbeiten der Turns dem ursprünglichen Besitzer zurückgegeben. Wenn du beispielsweise Crystal bist und ein Bird-Schiff steuerst, wird sich das Schiff die ganze Zeit wie ein Bird-Schiff verhalten. Es kann Super Spy ausführen, aber keine Fangminen legen. Es wird jedoch in den Result-Dateien als Crystal-Schiff aufgeführt.

Alle anderen Spieler sehen dieses Schiff, als ob es den Crystals gehört. PHost fügt aber eine Markierung zum Schiffsnamen hinzu, und sendet auch einen util.dat-Eintrag, um den Spielern mitzuteilen, dass es sich eigentlich um ein Bird-Schiff handelt.

Zusammengefasst passiert bei Remote Control folgendes:

  1. Ein Spieler übernimmt die Kontrolle über ein Schiff, indem er eine Befehlsnachricht sendet (siehe unten). Nehmen wir an, du seist Crystal und möchtest ein Bird-Schiff übernehmen.
  2. Der Host-Ablauf wird normal fortgesetzt. Das Schiff gehört noch dem ursprünglichen Besitzer - hier, dem Bird - und wird seine Missionen ausführen.
  3. Direkt, bevor die Results erzeugt werden, überträgt PHost das Schiff den Crystals.
  4. Du siehst das Schiff in deinem Result, als wäre es deines. Alle anderen Spieler, die das Schiff sehen, sehen das ebenfalls so. Du kannst dem Schiff nun Befehle geben. Der ursprüngliche Besitzer, hier die Bird Men, sieht das Schiff ebenfalls als fremdes Schiff und hat keine Kontrolle darüber.
  5. Wenn du deinen Turn einreichst, verarbeitet PHost deine Befehle für das Schiff. Danach wird es dem ursprünglichen Besitzer zurückgegeben. Während des gesamten Hostlaufes verhält sich das Schiff wie ein Bird-Schiff.
  6. Weiter mit Schritt 3.

Einige Hinweise:

  • Sowohl der originale Besitzer (Bird Men) als auch der Spieler, der das Schiff steuert (Crystals) können die Fernsteuerung jederzeit beenden. Der originale Besitzer nutzt dazu den Befehl remote forbid, der Remote-Control-Besitzer verwendet remote drop. In diesem Fall kann der Remote-Control-Besitzer dem Schiff noch Aufträge für diesen Zug geben, nächsten Zug hat aber wieder der originale Besitzer die Kontrolle.
  • Der Besitzer eines Schiffes kann dieses von der Fernsteuerung ausnehmen (Befehl remote forbid).
  • Der Eigentümer des Schiffes muss dir eine Allianz mit Schiffsprivileg bieten, damit du das Schiff steuern kannst.
  • (v4.0e:) Der originale Besitzer des Schiffes kann das Schiff unter Kontrolle eines anderen Spielers stellen, indem er den Befehl remote give verwendet. Dieser Befehl ist ansonsten identisch zu einem remote allow durch den originalen Besitzer direkt gefolgt von einem remote control durch den Spieler, der das Schiff steuern soll.
  • Der give-Befehl kann sowohl vom ursprünglichen Schiffsbesitzer als auch von dem, der das Schiff steuert, gegeben werden. Das Schiff bleibt weiter unter Remote Control, wenn der neue Besitzer dies weiterhin zulässt. Alle anderen Befehle (beamup, extmission, und so weiter) können nur von dem Spieler gegeben werden, der das Schiff steuert. ==> Beachte, dass give etwas vollkommen anderes ist als remote give.
  • Zugriff auf die Funktionen zur Fernsteuerung wird über die Einstellung CPEnableRemote geregelt. Wenn diese Einstellung deaktiviert ist, stehen die Remote-Control-Befehle nicht zur Verfügung.

Spielen mit Remote Control

Anzeige

Während des Spiels erscheinen ferngesteuerte Schiffe, als ob sie dem Spieler gehören, der sie steuert. Das ist wichtig: wenn ein Schiff auf dich zukommt, das vom Crystal gesteuert wird (und daher so aussieht, als ob es ihm gehört), welches aber in Wahrheit dem Bird Man gehört, musst du als Primary Enemy Bird Man einstellen, um es anzugreifen.

PHost übermittelt dir diese Informationen auf verschiedene Arten:

  • Sowohl der originale Besitzer als auch der Remote-Control-Spieler erhalten eine Nachricht, die die Schiffe und den wahren Besitzer sowie den Remote-Control-Spieler auflistet. Diese Informationen werden ebenfalls in util.dat übertragen. Moderne Client-Programme wie Planets Command Center[Remote], VPA[Remote] und EchoView[Remote] zeigen diese Informationen dann an (PCC berichtet zum Beispiel über "a Bird Men ship under Crystalline control").
  • Spieler, die ein ferngesteuertes Schiff scannen, erhalten ebenfalls den util.dat-Eintrag.
  • Die Namen von ferngesteuerten Schiffen werden von PHost so geändert, dass sie auf *N enden, dabei ist N der Code des wahren Besitzers (1..9 für Fed bis Robot, A für Rebel, B für Colonies). Wenn die Crystals also beispielsweise ein Bird-Schiff auf den Namen NX Borgslasher taufen, wird dieses Schiff in Resultdateien als NX Borgslasher*3 gelistet. In Subraumnachrichten erscheint das Schiff unter dem echten Namen, ohne diese Markierung.
  • PHost verhindert, dass deine eigenen Schiffsnamen mit *N enden, um Tricksen zu vermeiden.

Den wahren Besitzer eines Schiffes benötigst du in vielen Fällen:

  • Wenn du ein Schiff angreifen willst, musst du deinen Primary Enemy auf den echten Besitzer des Schiffes einstellen, nicht auf den Spieler, der das Schiff steuert.
  • Wenn du eine Mission durchführen willst, die nicht allen Spielern zur Verfügung steht, zählt der echte Eigentümer des Schiffes. Wenn du beispielsweise Crystal bist, und auf einem ferngesteuerten Bird-Schiff die Mission 9 einstellst, wird das Schiff Super Spy ausführen (die Mission 9 der Birds), obwohl viele Programme die Mission als Lay Web Mines anzeigen (die Mission 9 der Crystals). Wenn dein Client-Programm dir nicht erlaubt, die gewünschte Mission zu setzen, kannst du die erweiterte Mission 31 Special Mission nutzen.

Steuerung übernehmen und zurückgeben

Wenn der Besitzer des Schiffes es erlaubt (siehe unten), kannst du mit dem Befehl remote control die Kontrolle über das Schiff übernehmen. Um beispielsweise Schiff 37 zu übernehmen, sendest du den Befehl "remote control 37". Im nächsten Zug erscheint das Schiff in deinem Result, so dass du ihm Befehle geben kannst.

Außerdem kann der Schiffsbesitzer remote give nutzen, um das Schiff unter deine Kontrolle zu geben.

Um die Steuerung zurück an den Eigentümer des Schiffes zurückzugeben, verwende den Befehl remote drop, beispielsweise "remote drop 37". Du kannst dann immer noch die Befehle für diesen Zug geben, nächsten Zug gehört das Schiff aber wieder dem ursprünglichen Besitzer.

Remote Control steuern

Sobald du jemandem eine Schiffsallianz bietest, kann dieser deine Schiffe fernsteuern. Um das zu verhindern, kannst du den Befehl remote forbid benutzen. Um beispielsweise zu unterbinden, dass jemand Schiff 38 fernsteuert, sendest du den Befehl "remote forbid 38". Wenn das Schiff bereits ferngesteuert wird, erhältst du es dadurch zurück.

Du kannst festlegen, dass alle neugebauten Schiffe nicht mehr für die Fernsteuerung freigegeben sein sollen. Sende dazu den Befehl remote forbid default. Dies beeinflusst jedoch nur neu gebaute Schiffe. Alle bereits fertig gestellten Schiffe werden nicht betroffen. Für diese musst du einzelne remote forbid-Befehle senden.

Um die Fernsteuerung für ein Schiff wieder zu erlauben, kannst du den Befehl remote allow benutzen, beispielsweise als "remote allow 38". Wie oben kannst du auch "remote allow default" benutzen, um neugebaute Schiffe wieder standardmäßig für die Fernsteuerung freizuschalten.

==> Wenn du ein Spiel beginnst, solltest du zuerst eine Befehlsnachricht remote allow default oder remote forbid default senden, um die Standardeinstellung zu konfigurieren. Ansonsten hängt die Standardeinstellung von dem Programm ab, was das Universum erstellt hat; die meisten Programme bisher stellen hier "allow" ein.

Stolperstricke

Da ein ferngesteuertes Schiff noch dem originalen Besitzer gehört, werden Ergebnisse seiner Missionen an den originalen Besitzer gemeldet. Insbesondere erhältst du keine Sensormeldungen über Planeten oder Minenfelder, wenn dir der Schiffsbesitzer nicht das Vision-Privileg bietet.

Seit 4.0d/3.4g werden einige Nachrichten sowohl an den Besitzer des Schiffes, als auch an den Spieler, der es steuert, gesendet:

  • Ergebnisse diverser Missionen: Beam up (alle Arten), Lay mines (alle Arten), Colonize (Erfolg, Fehlschlag), Hiss, Rob (Räuber und Opfer), Tow-Fehlschlag, Super Spy Deluxe, Build fighters (alle Arten)
  • Ergebnisse des Bodenkampfes
  • Schiffe haben ein Minenfeld passiert oder eine Mine getroffen
  • Cyborgs haben nach einem Kampf Trümmer zerstörter Schiffe eingesammelt
  • Wurmlöcher durchqueren
  • Fehlgeschlagene Tarnung (einschließlich Enttarnung durch Lokis)
  • Schiff hat Chunnel erzeugt oder passiert
  • Schiff von Crystals oder Privateers geentert (boarded)
  • Schiff von einem Glory Device getroffen
  • Fracht von überladenem Schiff abgeworfen

==> Remote Control arbeitet nicht korrekt mit Einschränkungen von AllowShipNames zusammen. Kurz: Beschränkungen zwischen dem Besitzer eines Schiffes und dem, der es steuert, werden nicht durchgesetzt, solange das Schiff unter Remote Control steht. Wir sind der Meinung, dass das kein sehr großes Problem darstellt, da das Einrichten von Remote Control bereits mit einer Menge Kommunikation verbunden ist.

Nach oben


Auflösung von Konflikten bei der Tow-Mission

Beim Abschleppen (towing) können drei Arten Konflikte entstehen: das abgeschleppte Schiff kann ausbrechen, es können mehrere Schiffe versuchen, ein Schiff zu schleppen, oder es kann Ketten oder Schleifen geben.

==> Diese Regeln gelten nicht für das Übernehmen (boarding, tow-capture) von Schiffen oder das freibrechen aus dem Schlepptau.

Konflikte der Tow-Mission werden in der Reihenfolge wie hier angegeben aufgelöst, nachdem alle anderen Voraussetzungen für das Schleppen erfüllt sind (siehe Tow-Mission).

PHost bietet zwei Mechanismen für die Auflösung von Tow-Konflikten. Die bevorzugte Methode, Alternative Towing, wird mittels AllowAlternativeTowing aktiviert, und basiert auf der Berechnung der Stärke (tow strength) von Schiffen. Außerdem unterstützt PHost HOST-kompatibles Tow, in dem in etwa die Regeln des Wisseman-HOSTs verwendet werden.

Ein Tow unterbrechen

Wenn das abgeschleppte Schiff (towee) kooperiert (TowedShipsCooperate), wird es nicht ausbrechen.

Alternative Towing: Erfolg beim Abschleppen hängt von der Stärke (tow strength) des Schleppers und dem Widerstand (tow resistance) des abzuschleppenden Schiffes ab. Das Abschleppen gelingt, wenn die Stärke des Schleppers gleich oder größer als der Widerstand ist. Wenn das abgeschleppte Schiff einen größeren Widerstand leistet, schlägt das Abschleppen fehl.

(v4.0j:) Wenn beide Schiffe gleich stark sind, gewinnt das mit der höheren Erfahrungsstufe. Bei gleicher Erfahrungsstufe schlägt das Abschleppen fehl.

Die Stärke wird wie folgt ermittelt:

Tow_strength =
   Engine_contribution + Movement_contribution
                    ...wenn Schiff Treibstoff hat
   0                ...wenn Schiff keinen Treibstoff hat

Engine_contribution =
   Engine_tech^2 * Eff_engines * Warp_factor * TowStrengthEngineScale

Movement_contribution =
   Movement_distance * TowStrengthDistanceScale
   ...mit
      Movement_distance = Min(Waypoint_distance,
                              Max_dist,
                              Max_allowed_by_fuel)
  • Engine_tech ist der Techlevel des Triebwerks (also 10 für den Transwarp Drive)
  • Eff_engines ist die Anzahl Triebwerke des Schiffs, mal zwei wenn das Schiff gravitonische Triebwerke hat, plus weitere 2, wenn das Schiff einen Stufe-2-Traktorstrahl hat.
  • Movement_distance ist eine Schätzung, wie weit das Schiff sich diesen Zug regulär bewegen wird.
    • Waypoint_distance ist die Entfernung zum Zielpunkt. Für Schiffe, die hyperspringen wollen, wird hier 350 eingesetzt, unabhängig vom eigentlichen Zielpunkt.
    • Max_dist ist die maximale Entfernung, die das Schiff laut seiner eingestellten Geschwindigkeit zurücklegen kann, siehe bei den Bewegungsformeln. Ein normales Schiff mit Warp 9 hat hier den Wert 81.
    • Max_allowed_by_fuel ist die maximale Entfernung, die das Schiff zurücklegen kann, bis ihm der Treibstoff ausgeht. Bei der Berechnung der Stärke des Schleppers wird hier die Masse des abgeschleppten Schiffes mit berücksichtigt.

Der Widerstand wird mit der selben Formel berechnet, allerdings wird nur die Masse des geschleppten Schiffes bei der Berechnung der zurücklegbaren Entfernung berücksichtigt.

Die Regeln können folgendermaßen zusammengefasst werden:

  • gute Triebwerke gewinnen gegen schlechte
  • Schiffe mit vielen Triebwerken gewinnen gegen Schiffe mit wenigen Triebwerken
  • schnelle Schiffe gewinnen gegen langsame Schiffe
  • gravitonische Triebwerke gewinnen gegen normale Triebwerke

Beachte, dass das Verhalten bis Version 4.0i leicht verschieden war. Zum einen ergab Level2Tow immer einen Erfolg: Schiffe mit Level2Tow gewannen in einem Konflikt mit einem Schiff ohne diese Funktion immer, Level2Tow hatte keinen expliziten Einfluss auf die Stärke. Zum anderen war ein Tow zwischen identischen Schiffen immer erfolgreich, die Erfahrung wurde nicht berücksichtigt.

HOST-kompatible Regeln: Die HOST-kompatiblen Tow-Regeln basieren auf einer Analyse des Verhaltens von HOST 3.22.009, und können wie folgt zusammengefasst werden:

  • Ein Tow wird unterbrochen, wenn alle der folgenden Bedingungen erfüllt sind:
    • Das abgeschleppte Schiff hat die gleiche oder eine höhere Geschwindigkeit wie das ziehende Schiff. Wenn das ziehende Schiff gravitonische Triebwerke hat, wird sein Warpfaktor verdoppelt; das trifft auf das geschleppte Schiff nicht zu.
    • Das Ziel des geschleppten Schiffes ist mehr als Warpfaktor-ins-Quadrat Lichtjahre weg (also meistens mehr als ein Zug Reisezeit).
    • Das geschleppte Schiff hat mindestens 25 kt Sprit.
    • Das geschleppte Schiff kann schleppen.
  • Wenn sich zwei Schiffe gegenseitig schleppen (mutual towing), gewinnt normalerweise das Schiff mit der geringeren Id. Ausnahmen sind:
    • Beide Schiffe haben die gleiche Geschwindigkeit und ein Ziel mehr als Warp-Quadrat Lichtjahre (mehr als ein Zug) entfernt. Dann brechen sie auseinander und jeder fliegt zu seinem Ziel.
    • Wenn das Schiff mit der hohen Id aus dem Tow ausbrechen kann, nach den obigen Regeln, wird es das Schiff mit der geringeren Id schleppen.
    • Wie im einfachen Fall verdoppeln gravitonische Triebwerke den effektiven Warpfaktor für das Schiff mit der niedrigen Id. Das trifft auf das Schiff mit der hohen Id nicht zu.

Tow-Konflikte

Wenn mehrere Schiffe versuchen, ein Schiff zu schleppen, kann nur eines Erfolg haben.

Alternative Towing: Das Schiff mit der höchsten Stärke gewinnt. Bei gleicher Stärke gewinnt die niedrigste Id-Nummer.

HOST-kompatible Regeln: Schiffe mit Level 2 Traktorstrahl gewinnen gegen Schiffe ohne diese Funktion. Bei gleichen Schiffen gewinnt das mit der niedrigsten Id.

Ketten und Zyklen

Ketten der Tow-Mission (A schleppt B, B schleppt C, C schleppt D, D schleppt E usw.) werden aufgebrochen. Das erste Schiff in der Kette ist dabei immer erfolgreich. In diesem Fall wird also A B schleppen. Da ein abgeschlepptes Schiff selbst nicht schleppen kann, wird B nicht schleppen. C schleppt D, D schleppt nicht.

In wenigen Fällen können Schleifen übrig bleiben. In dem Fall wählt PHost ein Schiff aus, dessen Tow erfolgreich ist, und löst den Rest mit den normalen Regeln zur Auflösung von Ketten auf.

  • Bei den alternativen Tow-Regeln gewinnt das Schiff mit der höchsten Stärke, bei gleicher Stärke gewinnt die niedrigere Id-Nummer.
  • Bei den HOST-kompatiblen Tow-Regeln gewinnt ein Schiff mit Level 2 Traktorstrahl über eins ohne diese Funktion. Bei gleichen Schiffen gewinnt die niedrigere Id-Nummer.

==> PHost vor 3.4h/4.0e betreiben keine Auflösung von Schleifen, so dass die Ergebnisse in diesen Versionen schwer vorhersagbar sind.

Nach oben


Wurmlöcher (wormholes)

Wurmlöcher sind imaginäre Verbindungen zwischen zwei Punkten im Raum. Du kannst mit deinen Schiffen durch Wurmlöcher reisen.

Durch ein Wurmloch reisen

Schiffe können Wurmlöcher durchqueren. Wenn WrmVoluntaryTravel eingeschaltet ist, ist dies eine freiwillige Aktion: um durch ein Wurmloch zu reisen, muss der Kommandocode WRT eingestellt werden. Als Bestätigung wird nach der Reise der Kommandocode auf WRS geändert. Wenn Reisen nicht freiwillig ist, werden Schiffe immer durch ein Wurmloch gezogen, wenn sie nach ihrer Bewegung in einem Eingang stehen, selbst, wenn sie das nicht wollen.

Das Durchqueren eines Wurmloches benötigt Treibstoff. Wenn das Schiff nicht genügend Treibstoff hat, wird es schwer beschädigt und an einen zufälligen Platz im Universum geworfen. Selbst, wenn du genug Treibstoff hast, ist es möglich, dass das Schiff dennoch beschädigt wird. Du kannst beim Durchqueren eines Wurmloches kein anderes Schiff abschleppen oder abfangen. Nach dem Durchqueren eines Wurmloches musst du dich üblicherweise enttarnen (WrmTravelCloaked).

Das Schiff beendet die Reise nicht genau im Mittelpunkt des Wurmlochs, sondern bis zu 10 ly in X- bzw. Y-Richtung davon entfernt. Wenn du also mit mehreren Schiffen in ein Wurmloch fliegst, kommen diese nicht notwendigerweise alle an der selben Stelle an.

Die Reise durch ein Wurmloch setzt das Wurmloch großer Belastung aus, dadurch wird das Schiff beschädigt. Die Belastung hängt von den Massen von Schiff und Wurmloch ab. Die folgende Tabelle gibt einen groben Überblick. Es wird absolut stabiles Wurmloch (Instability 0%) angenommen, weniger stabile Wurmlöcher heben die Fehlschlagswahrscheinlichkeit natürlich an:

Schiffsmasse Fehlschlagswahrscheinlichkeit Maximaler Schaden am Schiff
kleiner als die Masse des Wurmlochs 0% 0%
2-fache Wurmloch-Masse 1% 1%
3-fache Wurmloch-Masse 4% 16%
4-fache Wurmloch-Masse 9% 81%
5-fache Wurmloch-Masse 16% 100%
10-fache Wurmloch-Masse 81% 100%
11-fache Wurmloch-Masse 100% 100%

Siehe Formeln zur Wurmloch-Durchquerung für Details.

Wurmlöcher anlegen

Wurmlöcher stehen nur zur Verfügung, wenn AllowWormholes eingeschaltet ist (Standardeinstellung). In diesem Fall sucht PHost nach einer Datei wormhole.txt, welche die Definitionen der Wurmlöcher enthält.

Eine Wurmloch-Definition besteht aus 6 bis 10 Zahlen in einer Zeile, die durch Leerraum getrennt sind:

X1 Y1 X2 Y2 Masse Instabilität Wp_X1 Wp_Y1 Wp_X2 Wp_Y2

Du kannst in dieser Datei Kommentare unterbringen, indem du eine Zeile mit ';' (Semikolon) oder '#' (Nummernzeichen) beginnst. Leerzeilen werden ignoriert.

X1 Y1 (notwendig) Aktuelle Position des ersten Endpunktes (Eingang bei unidirektionalem Wurmloch). Beide Koordinaten sind ganze Zahlen von [0,10000]
X2 Y2 (notwendig) Aktuelle Position des zweiten Endpunktes (Ausgang bei unidirektionalem Wurmloch). Beide Koordinaten sind ganze Zahlen von [0,10000]
Masse (notwendig) Wurmloch-Masse. Die Masse bestimmt die Größe des Wurmloches und beeinflußt die Wahrscheinlichkeit, dass das Wurmloch von Schiffen gefunden wird. Wenn diese Zahl positiv ist [1,32767], ist das Wurmloch bidirektional und kann in beide Richtungen passiert werden. Wenn diese Zahl negativ ist [-32767,-1], ist das Wurmloch unidirektional und kann nur vom ersten Endpunkt zum zweiten passiert werden, nicht andersrum. Die eigentliche Masse entspricht dem Betrag dieser Zahl. Dieser Wert muss ganzzahlig sein und darf nicht 0 sein.
Instabilität (notwendig) Diese Zahl gibt die Instabilität des Wurmlochs an, das ist der Grundwert für einen Fehlschlag der Wurmloch-Passage. Diese Zahl muss im Bereich [0.0, 100.0] liegen, braucht aber keine ganze Zahl zu sein. Die eigentliche Wahrscheinlichkeit für einen Fehlschlag der Wurmloch-Passage hängt von der Masse von Schiff und Wurmloch ab und von der Instabilität.
Die Instabilität wird wie folgt in eine Bewertung übersetzt:
Wormhole_stability_rating =
   "very stable"     ...wenn Wormhole_instability <= 5
   "stable"          ...wenn Wormhole_instability <= 15
   "mostly stable"   ...wenn Wormhole_instability <= 30
   "unstable"        ...wenn Wormhole_instability <= 50
   "very unstable"   ...wenn Wormhole_instability <= 80
   "completely unstable"
                     ...sonst
Wp_X1 Wp_Y1 (optional) Diese Koordinaten geben das Ziel für den ersten Endpunkt des Wurmloches an. Jeden Zug bewegt sich der erste Endpunkt WrmDisplacement ly auf sein Ziel zu. Wenn diese Werte nicht angegeben sind, wird sich der Endpunkt abgesehen von WrmRandDisplacement nicht bewegen. Diese Werte müssen ganze Zahlen im Bereich [0,10000] sein.
Wp_X2 Wp_Y2 (optional) Diese Koordinaten geben analog das Ziel für den zweiten Endpunkt an.

PHost liest die Datei wormhole.txt und aktualisiert sie. Eine Sicherungskopie der Datei wird unter dem Namen wormhole.bak angelegt.

Wenn die Endpunkte eines Wurmloches auf dieselbe Position fallen (beispielsweise durch natürliche Bewegung), kollabiert das Wurmloch und wird inaktiv. Es bleibt jedoch in wormhole.txt stehen, um Umnummerieren zu vermeiden, was Spieler verwirren würde. Wenn du in der Mitte eines Spieles neue Wurmlöcher hinzufügen willst, füge sie am Ende der wormhole.txt an, aus dem selben Grund. Wenn du ein Wurmloch löschen willst, markiere es als inaktiv, indem du Start- und Endpunkt auf identische Werte setzt.

Nach oben


Letzte Aktualisierung 31 May 2015.


Mail support@phost.de for support, ideas, bug reports, questions. Contact Details