Pitboss (Civ4)

Aus CivWiki
Wechseln zu: Navigation, Suche

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

Um mehrere Instanzen des PB-Servers auf einem Rechner laufen zu lassen, kann man beim Start einen Pfad übergeben. Dieses Verzeichnis übernimmt dann die Funktion des „My Games“-Verzeichnises bei einem normalen Start.

Beispiel-Skript (startPB.bat):

 SET ALTROOT=C:\PBs\PB1
 SET CIV4BTS_PATH=C:\Civ4\Beyond the Sword\
 SET MODNAME=YOURMOD
 
 rem Use new exe if possible
 SET CIV4BTS_EXE=%CIV4BTS_PATH%\Civ4BeyondSword_PitBoss2015.exe
 IF not exist "%CIV4BTS_EXE%" (
   SET CIV4BTS_EXE=%CIV4BTS_PATH%\Civ4BeyondSword_PitBoss.exe
 )
 IF not exist "%CIV4BTS_EXE%" (
   echo.Exe not found. Is the Path %CIV4BTS_PATH% correct?
   goto exit
 )
 
 "%CIV4BTS_EXE%" mod= "%MODNAME%"\" /ALTROOT=%ALTROOT%
 :exit

Das Leerzeichen hinter „mod= “ darf nicht weggelassen werden, da anderenfalls der erste Buchstabe des Modnames verloren geht.

Unerwünschtes Verhalten beim ersten Start

Achtung, falls die Pitboss-Exe beim Start feststellt, dass bestimmte Dateien/Unterordner nicht in dem angegebenen Ordner gefunden werden können, verschiebt er den gesamten Inhalt des „My Games/Beyond the Sword“-Ordners in das neue Verzeichnis! Falls also plötzlich alle Spielstände, etc verschwunden sind sollte man in den Ordnern nachschauen, die man als Altroot-Argument angegeben hat. Am besten erstellt man ein Backup des My Games-Ordners, bevor man mit dem Altroot-Argument experimentiert.

Einrichtung mehrerer Spiele

Wählt man beim Start unterschiedliche ALTROOT-Parameter, kann man mehrere Instanzen gleichzeitig starten. Die Spielstände werden dann in den jeweiligen Unterverzeichnissen ([...]/Saves/Multi) angelegt. Die Auto-Speicherstände werden (sofern dass nicht per Mod geändert wurde) nur beim Rundenwechsel und dem Login der Spieler angelegt.

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.

Login der Spieler beschleunigen

Der Netzwerk-Code von Civ4 limitiert die Datenrate des PB-Servers auf 10kB/s. Da in fortgeschrittenen Spielen der Spielstand auf mehrere MB anwächst, führt das zu einer unsinnigen minutenlangen Wartezeit, während des Logins. Um das Problem zu lösen, wurde eine Modifikation der BTS-Exe entwickelt, mit der die Spielstände per HTTP(S) übertragen werden können: Binaries, Anleitung & Quellcode.

Der Pitboss-Host muss (s)einen Webserver so konfigurieren, dass die Spielstände unter einer bestimmten URL erreicht werden können (siehe Anleitung im Github-Projekt), d.h. auch wenn das Programm nur lokal bei euch läuft müsst ihr ihn auf den Schnelllader aufmerksam machen. Mittlerweile unterstützen alle PB-Spiele auf Zulans Server die Funktion und sie läuft mehr als 2 Jahre stabil.

Installationsanleitung des Schnellladers:

  • Zip herunterladen, und die entpackten Dateien ins Installations-Verzeichnis von Beyond the Sword kopieren. Nun kann man das Spiel mit einem Klick auf BTS_Wrapper.exe starten.
  • Möchte man das Spiel mit einer Mod starten, kann man wie immer bei Civ4 vorgehen:
    • Zuerst erstellt man eine Verknüpfung auf die Exe, in diesem Fall "BTS_Wrapper.exe".
    • Dann öffnet man die Eigenschaftsseite der Verknüpfung und hängt folgenden Parameter an (Anfuehrungszeichen beachten!): mod= "PB Mod_v8" Das sollte ähnlich wie auf dem Bild am rechten Rand aussehen (nur mit mod= stat ini= …)
Beispiel-Argumente
Ausnahme-Regel

Folgende Informationen zum Schnelllader könnten interessant sein:

  • Zur leichteren Fehlersuche wird die Log-Textdatei 'BTS_Wrapper.log' erzeugt. Sie liegt entweder im Civ4:BTS- oder im %TMP%-Verzeichnis.
  • Beim ersten Start von BTS_Wrapper.exe könnte sich die Windows-Firewall melden, weil sie das Programm noch nicht kennt. Gebt diesem Programm die gleichen Werte wie der Civ4:BTS-Exe.
  • Es kommt ein Verfahren (Hooking) zum Einsatz, welches auch einfache Trojaner/etc. nutzen. Es kann sein, dass sich deswegen der Virenscanner meldet.
    In dem Fall muss man beim Entpacken der Daten den Scanner deaktivieren und wahrscheinlich auch eine Ausnahme-Regel für die Exe erstellen, damit sie später nicht vom Echtzeitscanner gelöscht wird. Der zweite Screenshot zeigt die dafür notwendigen Einstellungen für den Scanner von Avira.
    Wer sicher gehen will, dass der Schnelllader ungefährlich ist, kann ihn auch selber kompilieren. Der Quellcode ist einsehbar und es liegt eine Projektdatei für Visual Express C++ 2010 dabei.
  • Ab Version 7 kann der Wrapper nun auch bei normalen MP-Spielen verwendet werden. Dazu startet man das Programm mit "BTS_Wrapper.exe mod= [Modname] -P [Port z.B 8080]" und stellt sicher, dass auf diesen Port von außen (http) zugegriffen werden kann. (Wird kein Spielstand von außen angefordert sollte nur eine Fehlermeldung erscheinen). Jeder Client, welcher ebenfalls den Wrapper benutzt, sollte nun den Spielstand beim Login schneller erhalten.
    Ohne Angabe des Ports ist das Feature deaktiviert.
  • Version 8 behebt einen Crash beim Programmende.
  • Version 9 behebt Ladeprobleme bei langsamen Internetverbindungen/großen Spielständen.

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 „Upload-Problem“ ist die gefährlichste Fehlfunktion des Pitboss-Servers. Es machte für viele Jahre den Betrieb eines PB-Servers sehr berteuungsintensiv. Mittlerweile gibt es aber einen Lösung, bei dem die neg. Auswirkungen hinreichend 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 Upload-Problems nicht mehr über das Netzwerk erreichbar, da der PB-Server die komplette Bandbreite beanspruchte.

Lösungsmöglichkeiten:

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

Das Tool wurde als Teil einer Mod veröffentlicht, 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, aber man kann das Fenster automatisiert Wegklicken lassen.

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

Erster Kommentar im Forum http://www.civforum.de/showthread.php?p=3691873#post3691873

Während dem Spiel 'PB73' trat der Fehler wiederholt auf. Die Spielstände waren unter Windows ladbar, wurden aber unter Wine als korrupt bemängelt. Es wurde die Vermutung aufgestellt, dass es mit den Alt+S-Schildertexten zusammenhängen kann ( http://www.civforum.de/showthread.php?93932-PB73-Thread-f%FCr-Server-und-Verbindungsprobleme&p=6456478&viewfull=1#post6456478 ). Verändert man diese, so kann der Spielstand wieder ladbar werden.

Später wurde folgende Lösung gefunden: Damit die Wine-Version einer bestimmten Bibliothek verwendet wird, müssen die DLLs „msvcp71.dll“ und „msvcr71.dll“ innerhalb der Civ4-Verzeichnisse entfernt werden.

Update Juli 2015: Die obige Lösung hilft bei unserem derzeitigen Spiel nicht mehr. Entweder die Wine-DLLs haben sich mittlerweile geändert oder es war Zufall, dass diese Lösung geholfen hatte. Derzeit wird vermutet, dass die Fehlerursache in einem Bufferoverflow bei der Erzeugung der Checksumme liegt. Wenn man die Überprüfung der Prüfsumme aus der Pitboss-Exe patcht, kann man die Spiele wieder starten.

Update Mai 2016: Mit der gepatchen Pitboss-Exe ist dieser Fehler nie mehr aufgetreten.

Weltenbauer-Save lässt sich mit PB Mod nicht laden

Ein weiteres Problem ist das Laden von WB-Saves mit nur 18-Spieler/Team-Einträgen. Möchte man so ein WB-Save laden kann man zwar alle Optionen im PB-Wizard einstellen, aber nach dem Start des Spiels, tritt beim Erstellen des Startsaves ein Problem auf. Im schlimmsten Fall wird versucht ein unendlich großen Spielstand anzulegen... Man kann das Problem vorher erkennen, indem man darauf achtet, ob im letzten Einstellungs-Bildschirm die aktivierten Spieloptionen wie erwartet aussehen. (Bei einem Save für 18 Spielern sind die Einträge alle Null oder zufällig.) Lösung: Manuell im WB-Save die Einträge (BeginTeam, BeginPlayer) bis 51 erweitern. Alternativ eine DLL mit der richtigen Spieleranzahl kompilieren und an alle Spieler verteilen.

Benutzen von Mods

Einrichtung der PB Mod

Seit PB73 kommt eine kleine Mod zum Einsatz, welche einige der obigen Probleme beseitigt und außerdem die Spieleranzahl auf 52 erhöht. Derzeit wird mit der 8. Version der Mod gespielt, welche hier herunter geladen werden kann: https://kirk.zulan.net/pb/PB_Mod_v8.zip

Um die Mod zu installieren, muss sie in das Verzeichnis

 [Civ Installationsverzeichnis]\Beyond the Sword\Mods\

entpackt werden. Achtung, dabei darf beim Entpacken kein weiterer Unterordner erstellt werden. Auf dem Server und Client muss das Setup identisch sein, damit es nicht zum Absturz kommt. Die richtige Struktur (Leerzeichen nach dem PB!) wäre

 [Civ Installationsverzeichnis]\Beyond the Sword\Mods\PB Mod_v8\Assets

Falsch sind beispielsweise

 [Civ Installationsverzeichnis]\Beyond the Sword\Mods\PB_Mod_v8\PB Mod_v8\Assets
 [My Documents]\My Games\Beyond the Sword\Mods\PB Mod_v8\Assets

D.h. es kommt zum Absturz des Spiels, wenn die Mod innerhalb der Eigenen Dateien (My Games-Verzeichnis…) installiert wird.

Um Civ direkt mit Mod zu Starten kann man eine neue Verknüpfung anlegen. In den Eigenschaften schreibt man dann hinter den Pfad zur Exe noch das Argument „mod= PB Mod_v8“ (Leerzeichen hinter = beachten).

Probleme auf Client/Spielerseite

Andere Spieler werden geblockt, während man im Spiel ist

Für Hinweise zur Port-Weiterleitung und der Umstellung auf Zulans NatNEG-Server, siehe http://www.civ-wiki.de/wiki/Mehrspieler_(Civ4)#Pitboss und https://civ-wiki.de/wiki/Pitboss_(Civ4)#Blockieren_anderer_Spieler

Absturz beim Verbinden mit dem Server

Dieser Fehler tritt meist dann auf, wenn man keine (bzw. die falsche) Mod geladen hat. Wenn die, in der DLL definierte, maximale Spieler-Anzahl Client- und Server-seitig nicht übereinstimmt, haben Arrays in den Verbindungsdaten die falsche Länge. Das führt zum Crash.

Nutzt man die BUG-Mod, welche das Interface erweitert, kann es ebenfalls zu Abstürzen kommen. Man sollte diese Mod daher lieber so installieren, dass sie für PB-Partien deaktivierbar ist.

Absturz nach dem Laden / Spielstand schreibgeschützt

Beschreibung des Fehlerbildes: Man kann sich mit dem Server verbinden, aber nachdem 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

Ursache: Beim Zustand der Mod-Daten darf Client- und Server-seitig kein Unterschied bestehen. Das beinhaltet auch den Installationspfad der Mod! D.h. auch wenn Civ4 den Spielern erlaubt die Mod-Dateien an unterschiedlichen Orten abzulegen (Installationsverzeichnis von Civ4/Warlords/BTS CustomAssets-Verzeichnis, Mod-Verzeichnisse im Installationsordner und unter „Eigene Dateien\My Games“), muss man für passwortgeschützte Partien die Mod immer innerhalb des Civ4:BTS-Mod-Verzeichnisses installieren. Beachtet man diese Regel nicht, unterscheiden sich (meistens) die internen Prüfsummen und es kommt beim Laden des Saves zum Absturz.

Bei der Analyse sollte man beachten: Installiert man die Mod im falschen Verzeichnis kann der Login interessanterweise manchmal trotzdem klappen. Es wurde z.B. einmal berichtet, dass es in ca. 25% aller Logins nicht zum Crash kommt. Daher ging der Spieler davon aus, alles korrekt installiert zu haben…

Nutzt man des CustomAssets-Ordner, um beispielsweise die BUG-Mod in normalen Civ4:BTS-Spielen zu benutzen, kann das ebenfalls zu Problemen führen. Auch Rückstände von anderen Mods können das Problem auslösen.

Lösungsideen: Um sicherzustellen, dass die eigenen Daten mit denen des Servers übereinstimmen, kann man folgende Dinge probieren:

  • Umbenennen 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:
Überprüfen, ob man die passende Mod-Version benutzt. Es muss die gleiche wie auf dem Server sein.
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 als Spieler darauf achten, dass die Mod im dem Verzeichnis (und nur dort!) installiert ist, welches auch auf dem Server verwendet wird.
Außerdem sollte man überprüfen, ob beim Entpacken der Mod eine Ebene zu viel angelegt wurde. Falsch ist „[...]\Modname\Modname“.
  • Einigen Spielern half es die FPK-Dateien einer Mod zusammen zu fassen. Erst danach wurden die gleichen Prüfsummen wie auf dem Server errechnet.
  • Neuinstallation von Civ + Addons. Danach unbedingt auch den Patch 3.19 einspielen.
  • Es kann auch sein, dass die Mod-Daten einen, relativ seltenen, Fehler enthalten: Civ4 berechnet beim Programmstart mehrere Prüfsummen, um die Integrität der Spieldateien zu garantierten. Befindet sich eine Python-Datei (*.py) innerhalb eines Ordners, der mit einem Punkt beginnt, so wird die Datei auf einem Linux-System von Civ4/Wine ignoriert, aber nicht unter Windows! Daraus resultieren dann unterschiedliche Prüfsummen, die z.B. einen Login von Windows-Nutzern auf Linux-Servern verhindern. Die Python-Dateien zu löschen oder den Ordner umzubenennen, sollte das Problem beheben.

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 neuen Server nutzet, der von einem Mitglied des Civforums, Zulan, betrieben wird. 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 innerhalb des Router einrichten, damit der eigene Rechner auch von außen erreichbar ist. Für Civ4 sind vor allem die Ports 2056-2107 UDP wichtig.

Pausen-Bug

Die Ursache: Mit Hilfe der Pause-Taste kann man den Timer eines Spieles anhalten. Während der Pause werden alle Aktionen (Bewegen von Einheiten, Sklaverei-Button klicken, Feldbelegung ändern, …) zwischengespeichert und erst ausgeführt, wenn das Spiel fortgesetzt wird. Das Verlassen des Diplomatie-Bildschirms zählt auch zu diesen Aktionen!

Aktiviert man bei offenem Diplomatie-Menü die Pause, sperrt man sich daher selber in das Menü ein und kann es nicht mehr verlassen. Den Pause-Modus kann man ebenfalls nicht mehr verlassen (Das Diplomenü fängt den Tastendruck ab.)

Das gleiche Falle schnappt zu, wenn man beim Login vom Diploscreen eines Mitspielers begrüßt wird. Früher blieb einem dann meist nichts anderes übrig, als das Spiel zu beenden. (Ironischer-weise ist das wiederum ein Auslöser des Upload-Bugs und war vom Serverbetreiber nicht gerne gesehen…)

Lösungsmöglichkeiten:

  • Spieler ohne offenen Diploscreen können die Pause aufheben und so die gefangene Spieler befreien.
  • Admins können den Pause-Modus auch ohne Login aufheben, z.B. per PBSpy-Webinterface.
  • Eine Mod benutzen, in der man die Pause auch im Diplomenü entfernen kann: PB Mod Sowohl unter dem Diplomenü als auch im F1-Berater wird in dieser Mod eine Schaltfläche angezeigt mir der man die Pause entfernen kann.
  • Eine Mod benutzen, die während des Pausemodus keine Diploscreens erlaubt: RealmsBeyondBalanceMod (Bei dieser Lösung kann man sich allerdings immer noch selber einsperren.)

Aufgrund der in der PB Mod eingebauten Lösungsmöglichkeiten stellt der Pause-Bug heutzutage kein Problem mehr dar.

Leere Diploschirme beim Login

Sofern in den Spielregeln die direkte Kommunikation nicht untersagt ist, verfassen Spieler oft auch Textnachrichten zu ihren Handelsangeboten. Wenn man beim Login von einem leeren oder ungewöhnlichem Handelsbildschirm begrüßt wird, hat der andere Spieler wahrscheinlich einen Fehler beim Absenden begangen. Das ist vor allem im Krieg unangenehm, denn in dem Fall wird das Handelsangebot immer mind. einen Waffenstillstand beinhalten, siehe nächsten Punkt.

Damit die Textnachrichten nicht verloren gehen, muss man darauf achten, dass die Textzeile selektiert ist, wenn man Enter drückt. Achtung, wenn man die Maus bewegt, können andere GUI-Elemente den Fokus erhalten. Dann wird das Diplomatie-Angebot beim Druck auf Enter abgesendet und es fehlt dann der Text! D.h. bevor man den Text absendet muss man die Maus ins Textfeld bewegen. Man kann an einem hellen Rahmen erkennen, dass die Textzeile ausgewählt ist.

Leere Diplo-Schirme können auch dadurch entstehen, dass man zwei Spielern den gleichen Handel anbietet. Ist der Handel nicht mehr möglich nachdem der erste Spieler akzeptierte, so erhält der zweite Spieler nur ein leeres Angebot.

Ungewollter Waffenstillstand

Versendet man im Krieg Diplonachrichten, enthalten sie immer mindestens einen Waffenstillstands-Angebot. D.h. wenn sich der Absender verklickt und im Diplomenu unabsichtlich einen Handel anbietet (siehe vorigen Punkt), kann das Problem auftreten. Außerdem kann man auch unabsichtlich einen Waffenstillstand annehmen! Ploppen nach dem Login mehrere Diplomatie-Angebote auf und klickt man bei ersten Diploscreen auf Annehmen/Ablehnen, kann die Entscheidung unabsichtlich auf das nächste Angebot übertragen werden. Man sieht den zweiten Bildschirm dann nur ganz kurz bevor er sich schließt.

Um dieses Problem zu vermeiden, sollte man daher im Krieg eher über externe Kanäle (Forum) mit der feindlichen Partei kommunizieren.

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.


Einstellungen werden durch Mods ständig überschrieben

Es kann vorkommen, dass nach dem Start einer Mod die CivilizationIV.ini derart verändert wurde, dass vor dem Start ohne Mod einige Optionen wieder per Hand zurück gestellt werden müssen. Um das zu vermeiden, kann man beim Start der Mod eine separate INI auswählen. Dann kommen sich die unterschiedlichen Einstellungen nicht mehr in die Quere. Folgende Schritte sind dafür notwendig:

  1. Civ4 incl. Mod starten. Die INI-Datei wird dabei in einer zur Mod passenden Variante erstellt/gespeichert.
  2. Kopieren Sie My Games\Beyond the Sword\CivilizationIV.ini nach [Civ4 Installationsverzeichnis]\Beyond the Sword\{MODNAME}.ini (Den Namen können Sie frei wählen, er sollte aber kein Leerzeichen enthalten. In diesem Beispiel wird einfach der Name der Mod gewählt.)
  3. Öffnen Sie {MODNAME}.ini und editieren Sie in dieser Datei die folgenden zwei Optionen: UserProfile und Mod. Danach sollte es ungefähr so aussehen:
     …
     ; Determines which user profile is loaded on game start
     UserProfile = {MODNAME}
     …
    
     …
     ; Disable caching of xml and file system (may slow initialization)
     DisableCaching = 0
     
     ; Specify a Mod folder (Mods\Mesopotamia), '0' for none
     Mod = {MODNAME}
     
     [GAME]
     …
    
  4. Erstellen Sie eine Verknüpfung auf die Civ4:BtS-Exe und fügen Sie im Zielfeld das Argument
    ini={MODNAME}.ini
    hinzu. Achtung, es dürfen keine Leerzeichen um „=“ gesetzt werden. Solange nur diese Verknüpfung zum Starten der Mod benutzt wird, bleibt die normale INI in MyGames unangetastet und für BtS erhalten. Das Verfahren funktioniert nicht, wenn ein Mod-Save (zum Beispiel bei einem PBEM) per Doppelklick geladen wird.
    Beispiel-Argumente
  5. Unter Linux/Wine würde der Start beispielsweise folgendermaßen aussehen:
    wine "Civ4BeyondSword.exe" "ini=CivilizationIV_BASE.ini"


Spiel friert beim Laden nach „Init Fonts“ ein

Ab Version 8 wurde die Mod um ein Fenster im Hauptmenü ergänzt, welches über neue Mod-Versionen informiert. Dieses Fenster wird nach dem Start automatisch angezeigt, allerdings funktioniert dies nicht auf allen Systemen wie gewünscht.

Fehlermeldung

Man kann die automatische Anzeige des Fensters deaktivieren indem man die Textdatei [Modname]/update_config.json öffnet und bei „startup_delay" -1 einträgt.

Der Vollständigkeit halber sei noch ein anderer bekannter Fehler erwähnt, welcher zum Einfrieren bei „Init Fonts“ führt: Einige Mods enthalten einen 'res'-Ordner und in diesem befinden sich Pfade auf Dateien innerhalb der Mod. Das Spiel kann diese Dateien nicht mehr finden, wenn man den Mod-Ordner umbenennt! Wählt man den richtigen Mod-Namen (oder bessert die Pfade im 'res'-Ordner aus) verschwindet das Problem.

Links