anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 21:04

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: wieder mal das Zeitproblem...
BeitragVerfasst: Mo 16 Jun, 2008 23:22 
Offline
User
User
Benutzeravatar

Registriert: Mo 16 Jun, 2008 22:48
Beiträge: 13
Bevor ich gesteinigt werde, ja ich habe die Suchfunktion benutzt und auch Beiträge gefunden mit Personen die auch das Problem haben. Seitdem ich die 0.9.7 Version auf PHP 5 umgeschrieben habe friert meine Zeit ein, wenn ich 1 Stunden Tage haben möchte. Ich habe von Eliwood gelesen das man ein 64 Bit Betriebssysteme bräuchte.
Gibt es keine Alternativen bzw Änderungen? Ich finde keine gescheite Lösung...denn der wechsel zu nem Server der PHP4 Unterstützt um alles wieder abzuändern ist auch nich das wahre...ebenso wie zu nem besseren zu wechseln nur für 1 Stunden Tage.

mfg Raigar


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Di 17 Jun, 2008 00:01 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Siehe den Changelog, PHP5 Änderungen.

Und Du hättest mit den richtigen Suchwörtern, auch eine Antwort auf deine Frage erhalten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Di 17 Jun, 2008 00:26 
Offline
User
User
Benutzeravatar

Registriert: Mo 16 Jun, 2008 22:48
Beiträge: 13
Kevz hat geschrieben:
Siehe den Changelog, PHP5 Änderungen.

Und Du hättest mit den richtigen Suchwörtern, auch eine Antwort auf deine Frage erhalten.

Hallo Kevz,
die änderungen für PHP 5 habe ich wie gesagt bereits vorgenommen. Die Zeit läuft auch soweit, nur eben nicht bei 24 oder mehr Spieltagen pro Realtag. Daher habe nach Suchwörter wie "Zeit bleibt stehen" usw gesucht.

Nach was hätte ich denn Suchen müssen? *blöd frag*
wenn du mir einen Beitrag zeigen könntest, der mir eine Antwort auf die Frage geben würde, wäre ich dir sehr dankbar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Di 17 Jun, 2008 09:28 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Das Zeitproblem hat, nicht, wie Kevz sagt, was mit PHP5 zu tun - sondern mit der Plattform, auf dem dein Server lauft, oder mit dem Betriebsystem - je nach dem. Die Berechnung für die Spieltage sorgt bei zu hoher Anzahl zu einem Pufferüberlauf bei 32-Bittigen Zahlen. Das heisst, dass das ein grundlegendes Problem von LoGD ist und bisher noch kein Lösungsansatz existiert - abgsehen davon, entweder das Betriebsystem auf 64-Bit umzurüsten (Sofern es die Hardware unterstützt), oder die Serverhardware und das Betriebsystem auf 64-Bit umrüsten. Hast du aber glaub schon gelesen. :)
Es gibt natürlich auch eine dritte Lösung. Du verzichtest ganz einfach auf überflüssig-vielen Spieltage. Oder nimmst nur 23 pro Tag. Oder 22. Je nach dem, was halt geht... ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Di 17 Jun, 2008 10:57 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Entschuldige.

Ich bezog seine Fragestellung auf das Allgemeine Problem bez. des einfrierens der Zeit. Nicht auf die Anzahl der Spieltage pro Kalendertag.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Mi 18 Jun, 2008 17:58 
Offline
User
User
Benutzeravatar

Registriert: Mo 16 Jun, 2008 22:48
Beiträge: 13
Eliwood hat geschrieben:
Das Zeitproblem hat, nicht, wie Kevz sagt, was mit PHP5 zu tun - sondern mit der Plattform, auf dem dein Server lauft, oder mit dem Betriebsystem - je nach dem. Die Berechnung für die Spieltage sorgt bei zu hoher Anzahl zu einem Pufferüberlauf bei 32-Bittigen Zahlen. Das heisst, dass das ein grundlegendes Problem von LoGD ist und bisher noch kein Lösungsansatz existiert - abgsehen davon, entweder das Betriebsystem auf 64-Bit umzurüsten (Sofern es die Hardware unterstützt), oder die Serverhardware und das Betriebsystem auf 64-Bit umrüsten. Hast du aber glaub schon gelesen. :)
Es gibt natürlich auch eine dritte Lösung. Du verzichtest ganz einfach auf überflüssig-vielen Spieltage. Oder nimmst nur 23 pro Tag. Oder 22. Je nach dem, was halt geht... ;)

Nun gut dann werd ich auf die 23 Spieltage Variante zurückgreifen
Vielen Dank für deine Antwort ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: wieder mal das Zeitproblem...
BeitragVerfasst: Mi 23 Jul, 2008 19:27 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Ich hab nun mittlerweile drei LoGD (0.97er) von PHP4 auf PHP5 umgestellt, und in allen wo der Spieltag auf 1 Realstunde (24 Spieltage pro Realtag) eingestellt war gab es dieses Problem mit dem Einfrieren der Uhr. Liegt nach weiteren Tests die ich gemacht habe aber nicht am 32-Bit-Betriebssystem sondern einfach an der PHP-Funktion strtotime() die sich in PHP5 nun doch anders verhält als unter PH4.

In der Funktion convertgametime:
$this->bbcode_second_pass_code('', '$time=strtotime(date("Y-m-d H:i:s",$time)."+".(23-$multi)." hour");')
würde bei der Einstellung 24-Spieltage resultieren:
$this->bbcode_second_pass_code('', '$time=strtotime(date("Y-m-d H:i:s",$time)."+".(-1)." hour");')

und eben mit diesem +(-1) kommt die strtotime() nicht mehr klar.

hier nun meine komplette convertgametime():
$this->bbcode_second_pass_code('', 'function convertgametime($intime){
// Hehe, einen hamwa noch, einen hamwa noch: by JT & anpera
$multi = getsetting("daysperday",4);
$offset = getsetting("gameoffsetseconds",0);
$fixtime = mktime(0,0,0-$offset,date("m")-$multi,date("d"),date("Y"));
$time=$multi*(strtotime(date("Y-m-d H:i:s",$intime))-$fixtime);
$time=strtotime(date("Y-m-d H:i:s",$time)."+".($multi*date("I",$intime))." hour");
$time=strtotime(date("Y-m-d H:i:s",$time)."-".date("I",$time). " hour");
if($multi<=23) $time=strtotime(date("Y-m-d H:i:s",$time)."+".(23-$multi)." hour");
else $time=strtotime(date("Y-m-d H:i:s",$time)."-".($multi-23)." hour");
return $time;
}')

und damit funktioniert es auch auf einem 32-Bit Server (bei mir OpenSuse 10.2), PHP5 und 24-Spieltagen pro Realtag ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 26 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum