@Ziankali: Das Problem ist, dass die für die Netzwerkkommunikation zuständigen Komponenten nicht Teil des SDKs sind. Ich, und sicher viele andere Modder, haben dort jedenfalls keinen Ansatz einer Lösung gefunden.
Die Lösung, die wir jetzt haben, ist eigentlich ganz gut. Das letzte Problem ist die Portierung auf Windows-Systeme, damit alle PB-Server-Betreiber die Lösung nutzen können.
Mir ist gerade eine Idee fuer den Upload-Fix bekommen. Man koennte bei einem erkannten Bug der Stats-Komponente Bescheid sagen, so dass diese entsprechend im Log anzeigt wenn eine Verbindung unterbrochen wurde. Damit koennte man eventuell false-positives erkennen.
Achtung Spoiler:
Meinst du nicht, dass wir schlau genug sind, alle False-Positives auszuschließen? Das wäre auch weniger Arbeit
Ich habe deine Änderungen jetzt gemerged und SQLite wieder zum laufen bekommen, so dass jetzt beide Varianten laufen sollten. Dabei ist mir noch ein Fehler beim Update der Tabellen aufgefallen.
Außerdem ist mir noch eingefallen, dass die gespeicherte IP des PB-Servers ja auch gleich aktualisiert werden kann, wenn der sich beim Webserver meldet -> DynDNS wird optional
Das Problem beim Erstellen einer Meldung in PBStats wäre die Identifikation des betroffenen Spieles ( gameId) und die Bereitstellung des Passwortes. Es würde darauf hinauslaufen, dass diese Angaben noch einmal extra für den Upload-Fix-Daemon angegeben & verwaltet werden müssten.
Bei der Vermeidung von False-Positives kannst du zur Sicherheit ja noch folgende Regel einbauen: Verbindung wird nur gekappt, falls von der Client-IP seit X Minuten keine Antwort kam. Das Risiko, dass da was schief geht, halte ich für sehr gering.
Da die Reaktivierung von Borggs Server ansteht: Wollen wir dann bis zum Ende des WEs einen funktionierenden Zustand anstreben? Imho fehlt nicht mehr viel. Den Headless-Mode baue ich als optionale Betriebsart noch ein, auch wenn der leider trotz allem ein X-Display, ect. benötigt.
Richtig.
Gute Idee. Ich wuerde mir heut Abend gern mal das Skript vornehmen.
Wenn borgg das moechte halte ich das fuer eine sehr gute Idee.
Das waere gut, kann man im Mod Kommandozeilenparameter lesen? Ansonsten halt aus Python raus ne Umgebungsvariable testen. Ich hab auch noch Hoffnung das X Display mit Library-preload-Magie wegzubekommen.
Achtung Spoiler:
Das leider nicht, aber in der Mod steuere ich alles über die Konfigurationsdatei pbSettings.json. Die erweitere ich einfach um den Eintrag "noGui". Kann man dann auch per Webinterface ein- oder ausschalten.
Edith meint noch, dass sie arge Timeout-Probleme hat, wenn ein PB-Server nicht erreichbar ist. Derzeit blockiert mein lokaler Apache-Server ewig, wenn der Socket nicht geöffnet werden kann. Blockiert interessanterweise sogar weitere Anfragen an den Webserver?!
Ich verstehe zwar nur Bahnhof, aber ihr scheint euch echt Mühe zu geben
Ich denke ihr solltet es so einfach wie möglich halten, konzentriert euch auf das Wesentliche, weil es a) auch normale Menschen gibt, die das auch noch benutzen können sollen und b) im Betrieb verrückte Dinge passieren können, wo von ihr jetzt noch nicht einmal träumt und je komplizierter euer Projekt wird um so komplizierter dürfte dann die Fehlersuche und Lösung werden.
Muß ich mir als einfacher PB-Spieler auch irgendwas davon runter laden? Ich glaube nicht, oder? Ist doch ein Mod für den Server?
Und kann man auf dem Server mit diesem Mod dann noch ein PB z. B. mit PAE, oder Rhys&Falls starten? Oder den 52-Spieler Mod? Sozusagen ein Mod im Mod?
Wenn das Ding Civstats ersetzen soll, wird man dann auch einen Zeitstrahl haben, wo man sieht wer sich wann einloggt (wichtig für Zugreihenfolgen im Krieg), oder jemand eine Stadt gründet oder von jemand anderes erobert? Oder läuft das weiter über Civstats?
*** PB87 Wodka unter Palmen *** PB81 Goldene Horde ***
*** PB75 Bildband Korea *** PB70 Rule Britannia! *** DG Bananenbieger *** DG Rom ***
*** Return to Stone Age - eine kleine Civ 1 Story ***
Das ist erstmal Allgemeinplatz. Wo siehst du bei der Entwicklung hier konkret unnoetige Komplexitaet?
Benutzbarkeit ist wichtig - und die ist auch gegeben.
Der Mod ist gerade fuer das 73er also fuer >18 Spieler gedacht. Das ist also erstmal kein Problem. Aber eine Kombination mit PAE / RF duerfte schwierig werden. Gab / gibt es ueberhaupt erfolgreiche PAE/RF PBs?
Die Funktionalitaet von Civstats wird das auch haben, mit Civstats hat es aber nichts mehr zu tun. Stadtgruendungen und Eroberungen anzuzeigen gibt Spielern Informationen die man nicht innerhalb das Spiels bekommen kann, d.h. wird es wohl bei Punkteaenderungen bleiben.Wenn das Ding Civstats ersetzen soll, wird man dann auch einen Zeitstrahl haben, wo man sieht wer sich wann einloggt (wichtig für Zugreihenfolgen im Krieg), oder jemand eine Stadt gründet oder von jemand anderes erobert? Oder läuft das weiter über Civstats?
Achtung Spoiler:
So allgemein war das auch gemeint. Habe eh keine Ahnung davon was ihr da treibt. Wäre schade wenn ihr euch an irgendwelchen Details festfahren würdet.
Ich habe keine Ahnung ob es solche PBs mal gab, es hieß immer PB und Mods passen nicht so wirklich zusammen, wenn das Thema aufkam. Falls man das ändern würde, wäre das bestimmt nicht schlecht. Vielleicht gibt es Leute, die mal einen Mod im PB spielen wollen? Könnte ich mir vorstellen. Gibt bestimmt einige, die Mods im Singleplayer spielen, eventuell wollen die sich auch mal im MP versuchen? Aber einschätzen kann ich das nicht.Der Mod ist gerade fuer das 73er also fuer >18 Spieler gedacht. Das ist also erstmal kein Problem. Aber eine Kombination mit PAE / RF duerfte schwierig werden. Gab / gibt es ueberhaupt erfolgreiche PAE/RF PBs?
Ja, das meine ich ja. Wenn Spieler X sich einloggt und Spieler Y Punkte verliert ohne eingeloggt zu sein kann man sich seinen Teil denken. Oder durch einen Punkteanstieg um 1 Punkt erkennt man eine Stadtgründung eines Spielers, auch wenn ich den ingame gar nicht kenne. Eventuell sollte man das Logfile dahingehend ändern, dass nur am Rundenanfang jeweils die Punktezahlen aktualisiert ("Player X score increased / decreased to ...") werden. So würde man peitschen, Stadtgründungen, Eroberungen usw. nicht mehr wie in Civstats ohne ingame Kontakt erkennen können. So wäre es wie im Singleplayer und das ist in meinen Augen besser.Die Funktionalitaet von Civstats wird das auch haben, mit Civstats hat es aber nichts mehr zu tun. Stadtgruendungen und Eroberungen anzuzeigen gibt Spielern Informationen die man nicht innerhalb das Spiels bekommen kann, d.h. wird es wohl bei Punkteaenderungen bleiben.
*** PB87 Wodka unter Palmen *** PB81 Goldene Horde ***
*** PB75 Bildband Korea *** PB70 Rule Britannia! *** DG Bananenbieger *** DG Rom ***
*** Return to Stone Age - eine kleine Civ 1 Story ***
Punktänderungen sollten in den Stats sichtbar werden, sobald sie geschehen. Genauso sollte alles andere sichtbar sein, was man sehen würde, wenn man als Mitspieler permanent im Spiel eingeloggt wäre. Andernfalls könnten nämlich Leute auf die Idee kommen, permanent im Spiel eingeloggt zu bleiben, womit sie einen Vorteil hätten. (ist m.W. auch die Idee hinter Civstats)
Mal etwas anderes: Ich finde die jetzige Weboberfläche vom Aussehen her noch suboptimal. Wenn ich die jetzt umgestalte, kann ich mir Hoffnungen machen, dass meine Änderungen übernommen werden? (ich weiß aber noch nicht, ob ich zwischen dem ganzen PHP das HTML finde. Und nur CSS-Änderungen werden mir wahrscheinlich nicht reichen)
Sehe ich genau so.
Zum 2. Punkt - wenn Ram nichts dagegen hat sicher. Dann sollte aber das Ziel sein, dass man das Aussehen so weit wie moeglich ins CSS verlagert, um auch zwischen verschiedenen Varianten wechseln zu koennen - das ist ja letztlich geschmackssache. An der Stelle waere natuerlich ein schoenes Template-System praktisch. Vielleicht mache ich das ja auch noch, hat aber jetzt nicht ganz die oberste Prioritaet.
Achtung Spoiler:
"hoste" grad unter 88.66.144.114 nur zu Testzwecken ne Multyplayerpartie - jeder der das hier liest, kann gerne versuchen sich mit mir zu verbinden. Da ich das früher nie gemacht hab, bin ich gespannt ob's nun funktioniert