PHost - Host-AblaufPHost 4.1h |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Docs v4.x
|
InhaltEinleitungWährend des Hostlaufes passieren Dinge in einer bestimmten Reihenfolge: Missionen, Produktion, Bewegung, und so weiter. Spieler sollten diese Reihenfolge kennen. Beispielsweise werden Minenfelder vor der Bewegung gelegt, so dass das Minenfeld an der Position entsteht, an der das Schiff sich momentan aufhält, nicht an der Position, wo es hinfliegt. Dieses Dokument beschreibt den kompletten Ablauf der Aktionen in PHost. Außerdem wird beschrieben, wie du deine eigenen Schritte in den Ablauf integrieren kannst. Host-ReihenfolgePHost besteht aus drei Phasen; die mittlere Phase ist in Schritte (stages) unterteilt. Die Reihenfolge dieser Teile ist konstant. Hosts können jedoch einige Teile deaktivieren und an jeder Stelle zwischen zwei Schritten oder Phasen Addons laufen lassen. Phase 1 - Verarbeitung der Turns
(v3.4c:) Bis PHost 3.4b werden Allianzbefehle am Anfang von Phase 2 verarbeitet, Remote-Control-Aufträge werden in der Reihenfolge ihres Erscheinens in den Turndateien abgearbeitet. Außerdem senden diese PHost-Versionen anonyme Nachrichten in der Reihenfolge aus den Turndateien, und garantieren somit keine Anonymität. Phase 2 - Host-AblaufAnmerkung zum Tarnen: Schiffe, die tarnen sollen (mittels der Missionen Cloak oder Super Spy bzw. einer der Ersatz-Missionen) beginnen den Zug getarnt, falls sie die Bedingungen dafür erfüllen. Im Laufe des Zuges können sie nur enttarnen; sobald sie einmal enttarnt sind, bleiben sie für den Rest des Zuges ungetarnt. Alle Stellen, an denen die Tarnung versagen kann, sind in dieser Liste aufgeführt. Allerdings können auch Addon-Programme die Tarnung aufheben. Außerdem kann die Tarnung nach jedem Addon-Aufruf versagen, wenn das Schiff zu wenig Sprit oder zu viel Schaden hat. Eingefügte Befehle: (v4.0e:) Befehle, die mit auxcmds.txt gegeben wurden, werden am Anfang von Phase 2 verarbeitet.
Alle give-Befehle und gsX-Kommandocodes werden überprüft und danach gleichzeitig ausgeführt. Damit können insbesondere zwei Spieler Schiffe tauschen und dennoch die Anforderung "Partner muss ein Schiff an der selben Position haben" erfüllen. Enttarnen: (v4.0j:) Schiffe, die den Besitzer wechseln, müssen enttarnen.
Wenn LargeMeteorsImpacting nicht Null ist, gehen entsprechend viele große Meteore nieder. Ansonsten wird ein Meteor mit der Wahrscheinlichkeit RandomMeteorRate generiert. Planeten können in einem Zug von mehreren Meteoren getroffen werden.
Für jeden Planeten wird mit Wahrscheinlichkeit MeteorShowerOdds ein kleiner Meteoritenhagel niedergehen. Ein Planet kann nur von einem Meteoritenhagel pro Zug betroffen sein. Allerdings kann ein Planet, auf dem ein Meteor eingeschlagen ist, dennoch Meteoriten abbekommen.
Anti-cloak-Schiffe enttarnen Schiffe in Reichweite. Die Anti-Cloak-Schiffe werden in Id-Reihenfolge verarbeitet, so dass ein Schiff in Reichweite mehrerer Lokis von dem mit der niedrigsten Id enttarnt wird. Enttarnen: Schiffe, die von einem Anti-Cloak-Schiff beeinflusst wurden, müssen sofort enttarnen.
Auf allen betreffenden Planeten werden die Kommandocodes geändert. Der neue Code wird über per-player-Id-Reihenfolge von dem Schiff mit der jeweils niedrigsten Id bestimmt. Siehe Mission Super Spy. Enttarnen: Wenn der Ionenpuls ausgelöst wird (Beschreibung bei der Super-Spy-Mission), werden Schiffe sofort enttarnt.
Wählt NewNativesPerTurn-mal einen Planeten aus, der eine neue eingeborene Bevölkerung erhält. Falls auf dem Planeten bereits Eingeborene leben (oder falls der Planet diesen Zug bereits gewählt wurde) passiert nichts.
Räuber schlagen in per-player Id order zu. Jedes Schiff raubt seine Opfer in Id-Reihenfolge aus (wenn die Piraten also nicht genug Frachtkapazität haben, um deine Flotte zu leeren, behalten die Schiffe mit den hohen Ids Fracht übrig; wenn die Opfer weniger haben, als die Räuber tragen können, gehen die Räuber mit den hohen Id-Nummern leer aus). Falls die Prüfung der RobFailureOdds für ein Schiff fehlschlägt, wird das Schiff gar nichts rauben. Wenn RobCloakedShips eingeschaltet ist, wird RobCloakedChance für jedes Paar aus Räuber und Opfer erneut geprüft.
Kasino-Schiffe generieren Geld, in Id-Reihenfolge.
Schiffe laden, in Id-Reihenfolge, Frachtgut auf Planeten ab. Hier findet der normale Schiffs/Fremdplanet-Transfer statt (über die entsprechende Client-Funktion oder den Befehl unload gegeben), sowie die Aktionen des bdm-Kommandocodes und der Mission Beam Down Credits.
Dieser Schritt kann nicht übersprungen werden (während des restlichen Zuges müssen die Frachttransporter leer sein).
Schiffe transferieren, in Id-Reihenfolge, Fracht an andere Schiffe (Schiff/Feindschiff-Transfer, über die entsprechende Client-Funktion oder den Befehl transfer gegeben). Wenn der Frachttransfer fehlschlägt, wird das Frachtgut an das ursprüngliche Schiff zurückgegeben. Frachttransfers zwischen Schiffen desselben Besitzers werden üblicherweise schon vom Client aufgelöst und wurden daher bereits in Phase 1 verarbeitet. Frachttransfers, die eine Mission erfordern, werden später ausgeführt. Dieser Schritt kann nicht übersprungen werden (während des restlichen Zuges müssen die Frachttransporter leer sein).
Schiffe können aus verschiedenen Gründen überladen sein. In diesem Schritt wird entsprechend Fracht über Bord geworfen, so dass wieder alles in den Frachtraum passt. Dieser Schritt kann nicht übersprungen werden (während des restlichen Zuges dürfen Schiffe nicht überladen sein).
Akademieschiffe tauschen, in Id-Reihenfolge, Mannschaft aus (Mission Crew Exchange).
Die Training-Mission wird in Id-Reihenfolge ausgeführt.
Die folgenden Aktionen werden in Id-Reihenfolge für jedes Schiff ausgeführt:
Wenn ein Schiff sowohl eine Beam-Transfer-Mission, als auch einen Kommandocode nutzt, wird zuerst die Mission und dann der Kommandocode ausgeführt (in PHost 3.4c und eher wurde nur die Mission ausgeführt).
Die folgenden Aktionen werden in Id-Reihenfolge für jedes Schiff ausgeführt:
Der planetare bum-Kommandocode wird in Id-Reihenfolge abgearbeitet. Der Code con wird ebenfalls hier behandelt (der Befehl send config wird bereits in Phase 1 verarbeitet und ist unabhängig von diesem Schritt). Enttarnen: Nach diesem Schritt (und denen davor) können Schiffe genug Treibstoff verloren haben, um nicht mehr tarnen zu können. Schiffe verlieren Treibstoff durch Rob, können aber von Freunden aufgetankt werden (Frachttransfer zwischen Völkern), um die Tarnung aufrecht zu erhalten.
Minenfelder verfallen. Da dieser Verfall vor dem Minenlegen und Minenräumen stattfindet, können Schiffe, die vorher in einem Minenfeld waren, nachher außerhalb sein.
Schiffe legen Minen. Die genaue Reihenfolge hängt von der PHost-Version ab.
Wenn AlternativeMinesDestroyMines aktiviert ist, explodieren Minen aus neu entstandenen Überlappungen Feldern hier. In PHost 4.0a/3.4e und eher passiert dies immer.
(v4.0b:) Überlappende feindliche Minenfelder explodieren. Dieser Schritt steht in PHost 3.4e/4.0a und älter nicht zur Verfügung; in diesen Versionen explodieren überlappende Minenfelder nur, wenn jemand versucht, eins der Minenfelder zu vergrößern. Siehe auch den vorigen Schritt.
Schiffe suchen nach Minen und räumen diese, in Reihenfolge der Schiffs-Ids.
Hier werden die Berichte über die Minenfelder gesendet, die im vorigen Schritt gescannt wurden.
In PHost bis Version 4.0d, findet der Wormhole-Scan hier statt. In Version 4.0e und neuer findet er nach dem Terraforming statt.
Schiffe innerhalb eines Crystal-Fangminenfeldes verlieren Treibstoff (WebDrainFuelLoss, mehrfach, wenn die Minenfelder überlappen). Enttarnen: Nach diesem Schritt (und denen davor) können Schiffe genug Treibstoff verloren haben, um nicht mehr tarnen zu können.
Wenn mehr Stürme existieren, als IonStormActivity angibt, löst sich der schwächste Sturm auf. Ionenstürme, in Reihenfolge der Id-Nummer...
Zum Schluss können Stürme unter bestimmten Bedingungen verschmelzen. Siehe auch: Formeln zu Ionenstürmen
In Reihenfolge der Sturm-Id werden Schiffe enttarnt und die jetzt ungetarnten Schiffe beeinflusst (bewegt, beschädigt, Crewverlust). Schiffe, die in mehreren Ionenstürmen sitzen, werden von allen beeinflusst.
Wenn die Anzahl Ionenstürme IonStormActivity unterschreitet, entstehen neue Stürme. Es entstehen zufällig bis zu drei Stürme. Beachte, dass hierbei das Limit IonStormActivity überschritten werden kann. Das ist durchaus beabsichtigt; nächsten Zug wird dann ein schwacher Sturm verschwinden.
Sendet Nachrichten über alle Ionenstürme an die Spieler.
(v4.0h:) Zuerst werden Super Refit-Aufträge mit refit-Anweisung in Reihenfolge der Schiffs-Ids bearbeitet. (v4.1f:) Danach reparieren Schiffe mit Mission Repair andere Schiffe; dies findet parallel für alle statt. Danach, in Reihenfolge der Schiffs-Id
Schiffe der Robots/Rebels/Colonies bauen in Id-Reihenfolge Raumjäger. Hier wird der Kommandocode lfm, die Missionen Build Fighters und Gather-build Fighters sowie der automatische Raumjäger-Bau der Rebels behandelt.
In Id-Reihenfolge werden der mkt-Kommandocode und die Missionen Build Torpedoes und danach die Mission Gather-build Torpedoes abgearbeitet. Bis PHost-Version 4.0h/3.4j hat "Gather-build Torpedoes" Priorität und verhindert, dass mkt ausgeführt wird.
Die drei Alchemie-Funktionen.
Durchläuft alle Sternenbasen in Id-Reihenfolge, beginnend mit einer zufällig gewählten Basis, und stellt die Bauaufträge in die Bauliste. Die Kommandocodes für Priority Builds werden ebenfalls hier verarbeitet, falls durch den Modus der Baureihenfolge nötig.
Führt Schiffsbau-Aufträge aus, in der Reihenfolge der Bauliste, solange freie Schiffsslots vorhanden sind.
Sternenbasen mit dem Kommandocode dmp verschrotten unbenutzte Raumschiffteile.
Hier werden die Techlevels von Sternenbasen herabgesetzt. Eine Sternenbasis, die einem unregistrierten Spieler gehört, darf maximal Tech 7 für Triebwerke und Tech 6 für die anderen Gebiete haben, es sei denn, beim Bau der Basis waren die richtigen Eingeborenen anwesend. Diese Prüfung schlägt nur dann an, wenn ein unregistrierter Spieler den Platz eines registrierten Spielers einnimmt. Die zu hohen Techlevels werden ohne Wertausgleich gesenkt. Dieser Schritt hat keine Auswirkungen auf die Basen registrierter Spieler.
In Reihenfolge der Sternenbasen-Ids...
Schiffe reparieren sich mit Vorräten.
Entern (boarding, tow-capture), in Id-Reihenfolge der schleppenden Schiffe. Enttarnen: (v4.0j:) Schiffe, die den Besitzer wechseln, müssen enttarnen.
Sternenbasen bauen kostenlose Raumjäger (verbrauchen nur Mineralien, kein Geld).
In diesem Schritt wird die Bewegung vorbereitet. Hauptzweck dieser Stufe ist das Auflösen von Tow-Missionen. Alle Tows, die gemäß der Regeln zur Konfliktauflösung fehlschlagen, werden gelöscht. Außerdem werden in diesem Schritt die Geschwindigkeiten beschädigter Schiffe begrenzt und die Waypoints aller Schiffe auf Abfangkurs gesetzt (hier werden nur die Waypoints der abfangenden Schiffe auf ihre Ziele gesetzt, es werden noch nicht die endgültigen Positionen ermittelt). Diese beiden Operationen sind für die korrekte Auflösung von Tow-Konflikten nötig.
Schiffe, die sich bewegen, können auf eine Mine laufen und beschädigt werden. Schiffe, die eine Fangmine treffen, verlieren Treibstoff. Dadurch kann die Tarnung versagen. Schiffe laufen nicht auf Minen während...
Enttarnen: Nach diesem Schritt können Schiffe genug Treibstoff verloren haben, um nicht mehr tarnen zu können. Genauer gesagt enttarnen Schiffe sofort, wenn sie von einem Minentreffer zu stark beschädigt werden oder der Treibstoff alle wird. Schiffe enttarnen ebenfalls sofort, wenn sie ein Wurmloch passieren. (v4.0i/3.4k:) Schiffe, die einen Hypersprung ausführen, müssen sich ebenfalls enttarnen.
Glory Devices werden in Id-Reihenfolge ausgelöst. Wenn ein Glory-Device-Schiff zusätzlich eine funktionierende Enttarn-Funktion hat, wird diese noch vor der Detonation ausgelöst. Enttarnen: Schiffe, die von einem Anti-Cloak-Schiff beeinflusst wurden, müssen sofort enttarnen. Nach dieser Phase müssen Schiffe, die das Schadenslimit erreicht haben (durch ein Glory Device) ebenfalls enttarnen.
Chunneling in aufsteigender Id-Reihenfolge der Initiatoren. Enttarnen: (v4.0i/3.4k:) Schiffe, die einen Chunnel initiieren oder als Partner dienen, müssen sich enttarnen.
Loki-Schiffe enttarnen erneut, in Id-Reihenfolge. Hierbei werden die neuen Positionen der Lokis und der getarnten Schiffe benutzt. Ein getarntes Schiff, welches von A nach B fliegt, wird damit nicht von einem Loki enttarnt, der von B nach A fliegt (solange A und B mehr als 10 ly entfernt sind). Schiffe, die dort gestartet sind, wo der Loki startete, und Schiffe, die dort ankommen, wo der Loki ankommt, werden enttarnt. Enttarnen: Schiffe, die von einem Anti-Cloak-Schiff beeinflusst wurden, müssen sofort enttarnen. Nach dieser Phase müssen Schiffe, die das Schadenslimit erreicht haben (durch ein Glory Device) ebenfalls enttarnen.
Die Colonize-Mission, in Reihenfolge der Schiffs-Ids.
Schiffe reparieren sich erneut mit Vorräten.
In Reihenfolge der Sternenbasen-Ids...
Jede Gruppe aus Schiffen und Planeten wird anhand der Regeln der Kampfreihenfolge aufgelöst. Enttarnen: (v4.0j:) Schiffe, die DamageLevelForCloakFail erreichen oder ihren Treibstoff verlieren, müssen sich sofort enttarnen. Ebenso müssen alle Schiffe enttarnen, die den Besitzer wechseln.
Schiffe reparieren sich erneut mit Vorräten.
Terraforming-Schiffe arbeiten in Id-Reihenfolge. Enttarnen: Nach diesem Schritt (und denen davor) können Schiffe genug Treibstoff verloren haben, um nicht mehr tarnen zu können. Da Schiffe sich nun direkt im Kampf enttarnen, hat diese Stufe nicht mehr allzu viele Auswirkungen, allerdings ist sie noch nützlich, wenn ein anderes Kampfsystem eingesetzt wird.
Schiffe suchen nach Wurmlöchern, in Id-Reihenfolge. In PHost bis Version 4.0d wird dieser Schritt direkt nach dem Minenfeld-Scan durchgeführt.
Normaler Sensor Sweep und Bioscanner, in Id-Reihenfolge. Wenn ExtendedSensorSweep aktiviert ist, besteht Sensor Sweep aus mehreren Teilen. Das Minen-Suchen findet vor der Bewegung in MineSweeping statt. Die Suche nach Wurmlöchern passiert in WormholeScan.
Erst werden die Missionen Pillage und Rebel Ground Attack in Per-Player Id-Reihenfolge ausgeführt. Danach werden Dark Sense-Nachrichten gesendet.
Minen und Fabriken produzieren, Bovinoide Eingeborene geben Vorräte (siehe Formeln zur Produktion). Danach bilden sich neue Mineralien im Planetenkern (TransuraniumDecayRate).
Änderungen der Zufriedenheit entsprechend der gewählten Steuersätze. Wenn die Zufriedenheit (Happiness) bereits unter 30 liegt, wird der Steuersatz auf 0 gesetzt (und die Änderung mit diesem Wert berechnet). Siehe auch: Formeln
Steuereinnahmen. Siehe auch: Formeln
Kolonisten und Eingeborene vermehren sich. Siehe auch: Formeln
Für jeden Planeten:
Siehe auch: Formeln
Führt verbleibende Schiffsbau-Aufträge aus, um durch Kampf freigewordene Schiffsslots zu füllen.
Cyborgs assimilieren Eingeborene.
Super Spy-Schiffe senden ihre Berichte in Id-Reihenfolge.
Schiffe, die einen fremden Planeten umkreisen (und Treibstoff haben) erzeugen Forschungsberichte.
(v4.0:) Schiffe und Planeten sammeln Erfahrung entsprechend ihrer Aktionen diesen Zug. Außerdem werden hier die Erfahrungsberichte erzeugt. Phase 3 - Erstellen der Results
Den Host-Ablauf beeinflussenEs gibt zwei Möglichkeiten, den Hostablauf zu beeinflussen. Beachte, dass es jedoch immer nur möglich ist, Aktionen hinzuzufügen (bzw. zu entfernen), nicht jedoch, die Reihenfolge der Aktionen zu ändern. Wenn du ein Programm in den Hostablauf eingefügt hast, speichert PHost alle Daten ab, schließt alle Dateien, und ruft das Programm auf. Danach werden die Host-Daten wieder geladen, überprüft, und PHost läuft weiter. Die Auxhost-DateienSeit HOST 3.20 gibt es auxhost1.ini und auxhost2.ini; in HOST 3.22.005 wurde auxbc.ini eingeführt. PHost unterstützt diese Mechanismen ebenfalls.
Die .ini-Dateien sind Textdateien, die im Spielverzeichnis abgelegt werden, jede Zeile enthält einen auszuführenden Befehl. Die Datei auxbatt.ini wird standardmäßig nicht unterstützt (mittels PControl lässt sich das aber leicht nachrüsten). Andere Endungen als .ini werden ebenfalls nicht unterstützt (Tim's Host ruft auch auxhost1.exe und auxhost1.bat auf). Der PControl-AbschnittDer Hostablauf wird über einen Abschnitt pcontrol in der pconfig.src festgelegt. Für jeden Schritt kannst du auszuführende Aktionen angeben. Beachte bitte, dass die Reihenfolge der Schritte nicht verändert werden kann, egal, in welcher Reihenfolge die Namen in diesem Abschnitt auftauchen. Schritte von Phase 2Der pcontrol-Abschnitt kann Zeilen der Form
enthalten. Dabei ist SchrittName der oben angegebene Name des Schrittes, Aktion ist eines der folgenden:
Die Namen der Aktionen können bis auf den ersten Buchstaben abgekürzt werden. Jede anweisung kann eins der folgenden sein:
(v4.0c:) Du kannst mehrere Aktionen angeben, indem du mehrere Zuweisungen für den selben Schritt angibst. Die Aktionen werden dann in der angegebenen Reihenfolge ausgeführt. Wenn mindestens eine Aktion vom Typ Skip oder Replace angegeben ist, wird der Schritt übersprungen, ansonsten wird er ausgeführt. Damit ergibt sich folgende Reihenfolge für die Aktionen:
In PHost bis Version 3.4f/4.0b kann maximal eine Aktion pro Schritt angegeben werden. Zwischen den Phasen (Auxhost)(v4.0k:) Anstatt die Dateien auxhost1.ini und auxhost2.ini zu erstellen, kannst du die entsprechenden Befehle direkt in pconfig.src geben.
Die Anweisung ist nur ein Verweis auf eine weitere Ini-Datei oder einen Befehl, wie z.B. Auxhost1 = *mfq %d. Eine Angabe von Before, Skip o.ä. ist hier nicht sinnvoll. Addons(v4.0k:) Viele Addons werden immer wieder mit der gleichen Gruppe PControl-Einstellungen benutzt. Um das Einrichten von Spielen zu vereinfachen, kannst du diese Einstellungen in eine separate Datei schreiben und aus dem PControl-Abschnitt auf diese Datei verweisen.
PHost sucht die Datei sowohl im Spielverzeichnis, als auch im Hauptverzeichnis, so dass du die gleiche Datei für mehrere Spiele benutzen kannst. PHost sucht nach einem Abschnitt %pcontrol und liest dann nur diesen. Wenn das Addon-Programm also selbst diese Abschnittsbegrenzer versteht, kannst du die Befehle gleich direkt in der Konfigurationsdatei des Addons unterbringen. Beispiel: Das folgende Beispiel kann mit dem Stargate-Addon benutzt werden:
Du kannst dann mit einer Zeile wie Addon = stargate.txt auf diese Datei verweisen. Leider unterstützt das Stargate-Addon keine Abschnittstrenner %. Überprüfung der HostdatenNach jedem Add-On-Aufruf lädt PHost das komplette Universum erneut und überprüft es kurz.
Dies ist keine vollständige Validierung der Host-Daten. Beispielsweise werden hier überladene Schiffe nicht moniert. PHost vertraut den Add-Ons. Hier werden nur Dinge aufgeräumt, die von Add-Ons gerne vergessen werden. Falls ein Add-On benutzt wird, kann es passieren, dass ein Schiff eher als normal enttarnt, da diese Überprüfung nach jedem Add-On-Aufruf stattfindet. BefehleWie oben erwähnt gibt es zwei Möglichkeiten, auszuführende Befehle anzugeben. Du kannst sie in eine .ini-Datei schreiben, einen pro Zeile, oder du kannst sie direkt in pconfig.src angeben. Die Befehle werden der Reihe nach an den Befehlsinterpreter des Betriebssystems (also command.com oder cmd.exe unter Microsoft-Betriebssystemen, /bin/sh unter Unix) übergeben. Komplizierte Dinge wie Befehle, die über mehrere Zeilen gehen, oder goto sind daher nicht möglich. Die folgenden Symbole werden gesondert behandelt:
KurzübersichtHier sind nochmal alle Schritte von Phase 2 in der Reihenfolge ihrer Ausführung aufgelistet, mit Links zur jeweiligen Beschreibung:
Letzte Aktualisierung 31 May 2015. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
support@phost.de for support, ideas, bug reports, questions. Contact Details | Mail