Pitboss (Civ4)

Aus CivWiki
Version vom 23. Oktober 2014, 23:02 Uhr von Ramkhamhaeng (Diskussion | Beiträge) (Spielstand schreibgeschützt)

Wechseln zu: Navigation, Suche

(In Arbeit) In diesem Artikel wird die Konfiguration eines Pitboss-Servers (PB-Server) und häufige Fehlermeldungen beschrieben. Die meisten Dinge wurden von Redarg bereits zusammengefasst und in diesem Thread gebündelt. In dem PDF im ersten Beitrag dieses Threads sind weitere Details zu finden, die bisher nicht auf diese Seite übertragen wurden

Allgemeine Konfiguration

Nützliche Parameter der Civilization.ini

Linux

Erweiterte Administration

Siehe PB Mod

Benutzung auf entfernten Rechnern (Headless)

Verwendung des Altroot-Parameters

Unerwünschtes Verhalten beim ersten Start

Einrichtung mehrerer Spiele

Hinweise zum Betrieb des Servers

Fernwartung eines Servers

RDP, VNC

Feste Serveradresse für dynamische IPs

Will man seinen Server im Heimnetz mit häufig wechselnder IP betreiben kann man einen der zahlreichen DynDNS-Dienste nutzen. Man erhält eine URL, welche man den Spielern mitteilt. Der eigene Server (oder Router, je nach Konfiguration) meldet sich dann bei beim entsprechendem Anbieter, sobald sich die eigene IP ändert. Es gibt viele freie sog. DynDNS-Dienste

Adminpasswort ändern

Wenn man als Spieler eingeloggt ist, kann man das Adminpasswort, welches man beim Einrichten des Spieles definiert hat ändern. Dazu geht man ins Hauptmenü („Esc“ drücken) und wählt dort „Spieldetails“ aus. Bei der Frage nach dem Passwort gibt man das Alte ein. Im nächsten Fenster kann das neue Passwort vergeben werden. Nun kann man (innerhalb des Spieles oder im Pitboss-Fenster) das Spiel speichern und erhält einen Spielstand mit dem neuen Passwort.


Häufige Probleme

Cpu-Auslastung

Auch wenn kein Spieler eingeloggt ist verursacht der PB-Server eine nicht unerhebliche Last auf der CPU. Ursache ist das häufige Neuzeichnen des Fensters, was leider eine reative sinnlose Stromverschwendung darstellt und außerdem verhindert, dass man viele Spiele auf alter Hardware laufen lassen kann.

Man kann den Pythoncode des PB-Servers ändern und die Anzahl der Draw-Calls reduzieren. Leider müssen aber auch alle Spieler die geänderten Dateien benutzen, damit sie dem Spiel beitreten können. Daher sollte man seine Änderungen innerhalb einer Mod durchführen.

Die PB Mod enthält die radikale Option, das PB-Fenster gleich komplett auszublenden.

Netzwerk-Auslastung & Upload-Problem

Das sogenannte „Uploadproblem“ ist die gefährlichste Fehlfunktion des Pitboss. Es macht den Betrieb eines PB-Servers sehr betreuungsintensiv. Mittlerweile gibt es aber einen Lösungsansatz, bei dem die neg. Auswirkungen stark reduziert werden.

Problembeschreibung: Normalerweise tauschen Client (Spieler-PC) und Server so lange Datenpakete aus, bis der Spieler die Partie verlässt. Unter bestimmten Umständen erkennt der Server aber nicht, dass der Spieler die Partie verlassen hat und beginnt mit dem Senden von Daten ins Internet (an einen nicht vorhandenen Empfänger). Am Anfang wird man diesen Vorgang nicht bemerken, aber die dadurch verbrauchte Bandbreite nimmt kontinuierlich zu und zwingt auch starke Internetanschlüsse in die Knie.

Es wurden schon rekordverdächte 450 Gigabyte innerhalb einer Woche berichtet. Weiterhin waren auch schon PB-Server die mit 100 Mbit am Netzwerk hingen, aufgrund des Uploadproblems nicht mehr über das Netzwerk zu erreichen, da der PB-Server die komplette Bandbreite beansprucht hat.

Lösungsmöglichkeiten:

  • Man kann das Problem eindämmen, indem man den PB-Server häufig neu startet. Das ist allerdings sehr umständlich, wenn man das Laden der Spielstände nicht automatisiert hat (nur mit PB Mod mgl.)
  • Man kann die Bandbreite des PB-Servers mit Programmen wie z.B. NetLimiter begrenzen. Wenn die Bandbreite dann aber schon durch den Upload-Bug belegt wird, können sich Spieler nur noch schwer verbinden.
  • Man kann seinen Netzwerkverkehr analysieren und dem PB-Server UDP-Pakte der Spieler vorgaukeln, damit dieser die Verbindung schließt. Dafür wurde folgendes Tool entwickelt: fix_upload_bug.

Das Tool ist Teil einer Mod, läuft aber auch ohne diese.

Speicherproblem beim Login

Bei jedem Login eines Spielers wird ein Spielstand erzeugt. Manchmal schlägt das fehl und der Server ist solange nicht erreichbar, bis die Fehlermeldung weggeklickt wurde. Diese Meldung erscheint auch, wenn man die Python-Fehlermeldungen deaktiviert hat.

Lösungsmöglichkeiten: Keine bekannt.


Einfrieren des PB-Fensters

Die meisten Sonderzeichen (z.B. Umlaute) im Spielernamen oder Titel des Spieles frieren das Adminfenster des PB-Servers ein. Dann kann das Spiel auch nicht mehr im Adminfenster gespeichert werden.

Lösungsmöglichkeiten: Die Spieler mit den Sonderzeichen müssen sich mit einem unkritischen Namen einloggen. Danach sollte das Fenster wieder reagieren. (Falls nicht muss man ausnutzen, dass beim Login die Recovery-Spielstände angelegt werden. Man muss das Spiel dann mit einem Spielstand ohne kritische Sonderzeichen laden.

Thread zu diesem Thema: http://forums.civfanatics.com/showpost.php?p=6830192&postcount=16


Blockade durch Popup mit Python-Fehler

Vor allem bei der Benutzung von Mods löst der Pythoncode manchmal einen Fehler aus. Das Popup der Fehlermeldung blockiert dann das Spiel.

Lösung: In der Civilization.ini des PB-Servers können die Pythonfehlermeldungen deaktiviert werden.


Abschaltung der Gamespy-Server

Auch das Pitboss Hosting ist vom Fehlen der Gamespy NatNeg Server beeinträchtigt. Dabei kann es zu langen Wartezeiten (Timeout) beim Starten des Pitboss kommen, nachdem man auf "Direct IP" geklickt hat. Hierfür gibt es eine eine gepatchte EXE oder man editiert die Hosts-Datei um auf einen neuen NatNeg Server zu verweisen. Weitere Informationen sind hier zu finden.


Weltraumrennen

Kurz nachdem ein Spieler das Raumschiff gestartet hat, stürzt der PB-Server immer ab. Mit folgender Methode kann man das Spiel wieder zum Laufen bekommen:

  1. Spielstand kurz vor dem Raumschiffstart laden
  2. Spieler loggt sich ein und startet sein Raumschiff.

Danach drückt er schnell Str+S und speichert das Spiel lokal. Dieser Spielstand wird dem Admin des PB-Spieles übermittelt.

  1. Der Serverbetreiber läd das neue Save und das Spiel geht normal weiter.

Korrupte Savegames unter Linux

Siehe http://www.civforum.de/showthread.php?p=3691873#post3691873 Bug ist recht selten und keine Lösung bekannt.


Benutzen von Mods

Einrichtung der PB Mod

Probleme auf Client/Spielerseite

Absturz beim Verbinden mit dem Server

Dieser Fehler tritt meist dann auf, wenn man keine (bzw. die falsche) Mod geladen hat. Es darf auf Client- und Server-seite kein Unterschied bestehen. Auch der Speicherpfad der Mod darf nicht abweichen.

Blockieren anderer Spieler

Damit die Spieler sich untereinander verbinden können, wenn sie gleichzeitig eingeloggt sind, müssen sie einen sogennannten NATNEG-Server nutzen. Seit der Pleite von Gamespy muss man einen Server aus der Community nutzen. Dafür kann man entweder eine gepatche EXE nutzen oder die Hosts-Datei seines Computers ändern, siehe Alternative Exe.

Außerdem muss man weiterhin die Portweiterleitung im Router einrichten. Fuer Civ4 sind vor allem die Ports 2056-2107 UDP wichtig.

Pausen-Bug

Mit Hilfe der Pause-Taste kann man den Timer eines Spieles anhalten. In der Pause werden alle Aktionen ( Bewegen von Einheiten, Sklavrei-Button klicken, Feldbelegung ändern) zwischengespeichert und erst ausgeführt, wenn das Spiel fortgesetzt wird.

Aktiviert man allerdings bei offenem Diplomenü die Pause, so ist man im Menü gefangen. Andererseits kann man die Pause auch nicht mehr entfernen. Es kann auch sein, dass man beim Login vom Diploscreen eines Mitspielers begrüßt wird, aber wegen einer aktiven Pause nichts machen kann. Schließt man Civ4, weil man im Diplomenü gefangen ist, löst man außerdem das Upload-Problem aus.

Lösungsmöglichkeiten:

  • Spieler ohne offenen Diploscreen können die Pause für gefangene Spieler entfernen.
  • Es gibt Mods, in denen man die Pause auch im Diplomenü entfernen kann: PB Moda, Pitboss Mod (Vorgänger von PB Mod, welcher nur diesen Pausenbug beseitigt) (unvollständige Liste?!)

Spielstand schreibgeschützt

Nachdem man sich eingeloggt hat und der Spielstand vom PB-Server geladen wurde, erscheint sehr kurz eine Fehlermeldung und das Programm schließt sich. Der genaue Wortlaut der Fehlermeldung ist: „Ladevorgang gescheitert. Der von Ihnen gewählte Spielstand ist schreibgeschützt, um sicherzustellen, dass die Daten in Ihrem Mod-Verzeichnis nicht verändert wurden.“

Fehlermeldung

Der Fehler nur auf, wenn sich die Daten des Servers von den eigenen unterscheiden. Nutzt man des CustomAssets-Ordner um beispielsweise die BUG-Mod in normalen Civ4:BTS-Spielen zu benutzen, kann das zu Problemen führen. Auch Rückstände von anderen Mods oder minimal andere Dateien reichen aus, um den Fehler auszulösen. Interessanterweise wird der Fehler nicht immer ausgelöst so dass Spieler sich manchmal verbinden können und manchmal der Fehler auftritt.

Um die eigene Installation zu reparieren, ist sicherzustellen, dass die Daten mit denen des Servers übereinstimmen, kann man folgende Dinge probieren:

  • Umbennenen des My Games-Verzeichnisses (oder der Unterordner Sid Meier's Civilization, Warlords und Beyond the Sword). Beim nächsten Start wird eine frische Variante ohne modifizierte Dateien erzeugt.
  • Bei der Verwendung von Mods:
Mods können an zwei unterschiedlichen Orten abgelegt werden:
  1. [Installationsverzeichnis von Civ]\Beyond the Sword\Mods
  2. Eigene Dateien\[...]\My Games\Beyond the Sword\Mods
Man muss sicherstellen, dass die Mod nur(!) in dem Verzeichnis installiert ist, welches auch auf dem Server verwendet wird. Es wird empfohlen immer die erste Variante zu nutzen.
Außerdem sollte man überprüfen, ob beim Entpacken eine Ebene zu viel angelegt wird. Falsch wäre "[...]\Modname\Modname".
  • Neuinstallation von Civ + Addons. Danach unbedingt auch den Patch 3.19 einspielen.

Langes Warten auf Liste der Anführer

Falls die Liste der Anführer erst nach einigen Minuten oder nie erscheint, ist man von diesem Fehler betroffen.

Paket zu lang
Paket kurz genug
Normaler Auswahlbildschirm
Gekürzte Namen durch PB Mod_v2

Ursache:

Kurz nach dem Aufbau der Verbindung zum PB-Server sendet dieser die Liste der Anführer und weitere Metainformationen an den Client.
Unter ungünstigen Bedingungen ist dieses Paket zu groß, um von allen Netzwerk-Zwischenstationen im Ganzen übertragen zu werden ( siehe IP-Fragmentierung ) und es kommt zur Fragmentierung.
In den meisten Fällen, ist die Fragmentierung kein Problem und die Teile werden fehlerfrei zusammengesetzt, aber vor allem in stark beanspruchten Netzwerken oder hoher Distanz zum Server treten dabei Probleme auf.
Es kann auch sein, dass das Paket vom Provider immer herausgefiltert wird und den Spieler nie erreicht.
Auf den zwei Bildern werden beide Situationen in Wireshark dargestellt. Im ersten ist da Paket zu groß. Hier war es kein Problem und wurde empfangen, aber bei anderen würde es nicht ankommen. Im zweiten blieb die Größe unter 1500 Bytes.


Lösungsvorschläge:

  • Eigene Netzwerkverbindung entlasten
  • Alle Spielernamen und Zivilisationsnamen kürzen, um unter der kritischen Paketgröße (meist 1500 Bytes) zu bleiben.
  • Auch hier kann die PB Mod helfen, die ab Version 'v2' die Option enthält, das kritische Datenpaket zu verkleinern. Durch wird allerdings die Darstellung im Anmeldebildschirm gekürzt. Der Vorteil der Mod-Variante im Unterschied zum manuellen Verkürzen den Namen liegt darin, dass innerhalb des Spiels die langen Namen zum Einsatz kommen.

Links