Zitat:
Aber das Problem mit den Spieltagen hat damit definitiv nichts zu tun.
Nun, bevor du es als unmöglich abtust, probiere es doch einfach selbst aus. Ersetze die 198x in der index.php durch 197x und du wirst garantiert erstmal genauso verwirrt aus der Wäsche gucken wie ich damals. Denn die Uhr wird plötzlich auch bei 6 Spieltagen richtig funktionieren. Setzt du wieder 198x ein, wird sie stehen. Erklärung folgt.
Zitat:
a) lief das Spiel ja vorher wunderbar
Oh, das wird es auch von ganz alleine wieder. Warte einfach ein paar Tage oder Wochen, wenn du die index.php nicht ändern willst. Dann löst sich das Problem von alleine.. zumindest vorübergehend.
Zitat:
b) ist die 198x/197x-Klamotte ja nur die Basis zur Berrechnung der Dorfzeit
Grundsätzlich stimmt das, aber da steckt noch mehr dahinter. Außerdem sieht auch meine Erfahrung anders aus, glaub mir. Du kannst es selbst testen, wenn du magst. Es wird auch bei dir funktionieren.
Übrigens wird die Dorfzeit in der Funktion gametime() (bzw. von einer dort aufgerufenen Funktion) in der common.php berechnet, wo das 198x/197x tatsächlich keine Rolle zu spielen scheint. Aber zur Anzeige der Realzeit bis zum nächsten Tag spielt das offensichtlich sehr wohl eine Rolle.
Der 1.1.1970 stellt die Nullzeit
aller UNIX-Systeme dar! (Den Wert für Windows weiß ich nicht, er ist aber deutlich später, falls er existiert. Darum kommt vermutlich unter Win auch die genannte Meldung, da die angeforderte Zeit vor der vom System zurückgegebenen (Null)zeit liegt. Mit Datumsangaben von vor 1970 hat Windows sonst nämlich kein Problem. Überall 198x einzusetzen war eine willkürliche Wahl, um die PHP-Meldung unter Windows zu unterdrücken.) Wie sich das auf die Bildung von timestamps auswirkt, weiß ich nicht. Aber meine 197x=>198x-Bastelei kann meiner Meinung nach locker dazu führen, dass unter bestimmten UNIX/LINUX-Distributionen mit bestimmter Serversoftware und bestimmten PHP-Versionen bei bestimmten Spieleinstellungen unter bestimmten Umständen die 11 Jahre Unterschied auf die "Zeit bis zum nächsten Tag" durchschlagen. Bedenke, dass die Rechnung in Sekunden(!) durchgeführt wird und Jahreszahlen übergeben werden!
Eine andere Erklärung oder Lösung hab ich nicht. Aber wenn du noch was anderes findest, wäre ich dir für jeden Hinweis dankbar.