Seite 17 von 53 ErsteErste ... 713141516171819202127 ... LetzteLetzte
Ergebnis 241 bis 255 von 784

Thema: Mod für PB-Spiele: PB Mod_v1

  1. #241
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Ja, der Code wird (theoretisch) nur auf dem Server ausgeführt, weil vorher geprüft ob es der PB-Host ist. Wenn ich die Optimierungsoption für die Frame-Pointer deaktiviere ( /Oy- ), läuft es auch mit der Release-DLL. Ich probiere es jetzt mal auf auf einem Win 7-Rechner und danach mit Wine.

    Wenn ich die Compiler-Optionen ändere, betrifft das nat. alle Spieler.

    Oben lese ich da ein Register (epb) aus, welches den Stack-Frame-Pointer enthält. Vllt. kann man das ja durch eine andere Variante ersetzen. Ich will eigentlich immer nur wissen, ob die Methode von einer bestimmten Position der EXE angesprungen wurde.

  2. #242
    Registrierter Benutzer Avatar von Ziankali
    Registriert seit
    15.03.13
    Beiträge
    4.969
    Wäre es nicht besser, die Ziv-Daten zu komprimieren (statt zu kürzen)? Da der Zeichensatz sehr beschränkt ist, müsste da doch einiges gehen
    Zitat Zitat von TeeRohr Beitrag anzeigen
    Es will hier ja auch keiner ein Problem lösen. Schließlich gibts ja keins...jedenfalls nicht so richtig, aber dafür ein umso größeres...prinzipielles, was aber eigentlich nicht interessiert.

  3. #243
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Ja, das wäre sehr viel besser, aber wir können die Daten auf Clientseite nicht dekomprimieren, da das (für die Darstellung im Loginscreen) außerhalb der DLL liegt.

  4. #244
    Registrierter Benutzer Avatar von Ziankali
    Registriert seit
    15.03.13
    Beiträge
    4.969
    Kannst du mir sagen, wo es liegt? Dann würde ich es mir mal ansehen.
    Zitat Zitat von TeeRohr Beitrag anzeigen
    Es will hier ja auch keiner ein Problem lösen. Schließlich gibts ja keins...jedenfalls nicht so richtig, aber dafür ein umso größeres...prinzipielles, was aber eigentlich nicht interessiert.

  5. #245
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Ich habe jetzt hier einen neuen Branch erstellt: https://github.com/YggdrasiI/PBStats/tree/PBMod_v2

    Hier sind die entscheidenden Änderungen in der DLL einsehbar (CvInitCore.cpp)
    Wichtig ist auch die Änderung im Makefile, da es sonst mit der Release-DLL nicht läuft.

    Wenn sich ein Spieler verbinden will ruft die Server-EXE getLeaderName und getCivDescription auf. Die Strings werden dann von der Client-Exe verarbeitet.

  6. #246
    Registrierter Benutzer Avatar von Ziankali
    Registriert seit
    15.03.13
    Beiträge
    4.969
    Verstehe ich das richtig: Der Code für die Dekodierung des Pakets mit den Leader- und Ziv-Daten ist in der Exe enthalten? Dann kann man da wohl nichts dran ändern (ich hatte gehofft, dass das in der DLL oder im Python-Teil geschieht).
    Zitat Zitat von TeeRohr Beitrag anzeigen
    Es will hier ja auch keiner ein Problem lösen. Schließlich gibts ja keins...jedenfalls nicht so richtig, aber dafür ein umso größeres...prinzipielles, was aber eigentlich nicht interessiert.

  7. #247
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Genau das wollte ich damit ausdrücken. Nur beim Auslesen hat man „Glück“ und kann es beeinflussen.
    Geändert von Ramkhamhaeng (22. Oktober 2014 um 19:08 Uhr)

  8. #248
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.901
    Nur mal so, auch wenns schon etwas spaet ist:

    Die Funktion CaptureStackBackTrace koennte evtl. den asm-Kram ersetzen. Wobei ich da nicht weiss ob das wiederum mit wine ueberhaupt gut funktioniert.

    Ansonsten gibt es libunwind, was Geruechten zufolge sogar unter Windows (aber vermutlich erher nicht mit dem Microsoft Compiler).

    Unabhaengig davon bin ich heute zufaellig ueber python-requests gestolpert, was wesentlich besser als urllib2 sein soll. Aber der code steht ja nun schon da lohnt refactoring auch nur eingeschraenkt.

    Mein Timing ist nicht so gut gerade .

  9. #249
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zitat Zitat von Zulan Beitrag anzeigen
    Nur mal so, auch wenns schon etwas spaet ist:

    Die Funktion CaptureStackBackTrace koennte evtl. den asm-Kram ersetzen. Wobei ich da nicht weiss ob das wiederum mit wine ueberhaupt gut funktioniert.
    Das wäre vor allem in dem Fall interessant gewesen, wenn man damit alle Optimierungsflags beim Kompilieren setzen könnte. Laut Google muss man aber auch in diesem Fall /Oy- (aka -fomit-frame-pointers ) nutzen. Ist also nicht tragisch, jetzt erst davon zu erfahren.

    Unabhaengig davon bin ich heute zufaellig ueber python-requests gestolpert, was wesentlich besser als urllib2 sein soll. Aber der code steht ja nun schon da lohnt refactoring auch nur eingeschraenkt.

    Mein Timing ist nicht so gut gerade .
    Wenn dir das andere Paket lieber ist, können wir da jederzeit wechseln. Im Civ-Webserver gibt es genau zwei Aufrufe von Funktionen aus urllib und in civdj sind es laut Grep auch nicht so viele. Python 2.4 wird von dem neuen Paket aber eh nicht supportet.

  10. #250
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.901
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Wenn dir das andere Paket lieber ist, können wir da jederzeit wechseln. Im Civ-Webserver gibt es genau zwei Aufrufe von Funktionen aus urllib und in civdj sind es laut Grep auch nicht so viele. Python 2.4 wird von dem neuen Paket aber eh nicht supportet.
    Ich wuerds jetzt nicht aendern. Hatte mich nur damals geaergert, dass es doch ziemlich fummelig war (natuerlich nicht so fummelig wie mit sockets direkt zu arbeiten.). Wenn ich an der stelle eh mal was aendere vielleicht...

  11. #251
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Apropos Sockets: Bei PBStats ist der alte Fehler wieder da und ein Timeout blockiert die gesamte Webseite, wenn man ein Spiel aufruft, welches nicht online ist. Na gut, dachte ich, ignoriere ich das mal und lösche einfach das eine Spiel, welches nicht online ist, damit da niemand drauf klicken kann.

    Da erhielt ich dann aber diese Meldung:
    Code:
    DELETE FROM games WHERE id=2
    
    PDO error: 23000
    Exception :
    SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`c2pbstats`.`log`, CONSTRAINT `log_ibfk_1` FOREIGN KEY (`gameId`) REFERENCES `games` (`id`))
    
    Bei der Datenbankoperation ist ein Fehler aufgetreten.
    Ursache: Noch nicht untersucht.

  12. #252
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.901
    Wir haben inzwischen auch wieder eine Lobby mit Chat und Spielen zum hosten.

    Zum Nutzen entweder die alternative EXE verwenden (kein Update notwendig) oder die neue hosts-Datei (update im November 2014) in "C:\Windows\System32\drivers\etc\hosts" aktualisieren.

    Was noch nicht funktionioert:
    • refresh/aktualisieren - Die Liste der Spiele wird nur aktualisiert in dem man die Lobby verlaesst und sich neu einloggt
    • freunde


    Es funktioniert ausserdem noch nicht bei allen, wir wissen nicht wieso. Ich habe aktuell leider sehr wenig Zeit daran zu arbeiten - es laeuft also quasi "as-is". Natuerlich koennen hier trozdem Fehler reported werden.

  13. #253
    Stoppt Spahn jetzt! Avatar von CocoRico
    Registriert seit
    02.06.11
    Beiträge
    7.451
    Eine Lobby? Statt der von Gamespy? Wie kann man die betreten?
    The law is no substitute for morality. E.Snowden, Dez 2016

    Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier. Gandhi

    Meine PB-Geschichten:
    Achtung Spoiler:
    PB 88 Coco in Babylon läuft
    PB 86 Coco in Athen läuft
    PB 82 Pyramiden für den Pharao überlebt
    PB 75 Mit Isabella bei den Gringos Sieg!
    PB 73 Ein Königreich für Schokolade! überlebt
    PB 68 Simba Zulus Sieg!
    PB 60 Indien überlebt
    PB 53 Von Wölfen und Göttern überlebt

  14. #254
    Say My Name Avatar von Zulan
    Registriert seit
    13.03.08
    Beiträge
    8.901
    Zitat Zitat von Zulan Beitrag anzeigen
    Zum Nutzen entweder die alternative EXE verwenden (kein Update notwendig) oder die neue hosts-Datei (update im November 2014) in "C:\Windows\System32\drivers\etc\hosts" aktualisieren.
    Ansonsten Multiplayer / Internet -> neuen Account anlegen, einloggen

  15. #255
    Registrierter Benutzer Avatar von Thorgal
    Registriert seit
    06.08.09
    Beiträge
    5.238
    Falls irgendwann ein Update kommt, ich würd mir was wünschen: Die Punkteleiste scheint so eingestellt zu sein, dass es beim Einwählen eingeklappt ist. Also ich muss immer die Leiste aufklappen, damit ich die anderen (schon bekannten) Zivs sehe. Ist ein bisserl nervig, das immer aufzumachen. Könnte das auch geöffnet starten?
    Pie's Antikes Europa (PAE): Genieße CIV in der Antike.

    PAE - Mythos Antike: Die Geschichte der drei furchtlosesten Herrscher des PBEM 442.

    Kingdom of Africa: Auf Abwegen im PB 73

Seite 17 von 53 ErsteErste ... 713141516171819202127 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •