anpera.net
https://anpera.dyndns.org/phpbb3/

Badnav bei "Zurück"
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4773
Seite 1 von 1

Autor:  vernisage [ Mo 26 Jan, 2009 15:44 ]
Betreff des Beitrags:  Badnav bei "Zurück"

Hallo Ihr,

die Suche hat mir irgendwie nichts erbracht, was ich verwenden konnte, deswegen starte ich mal ein neues Thema.
Seit einiger Zeit ist mir aufgefallen, dass es bei mir zur badnav kommt, wenn man über den Browser den Button "Zurück" klickt.
Manchmal braucht man das ja, weil man was überlesen hat oder so (also mir passiert das ab und an). Aber wenn ich ihn benutze, bin ich in der badnav.

Aufgefallen besonders ist es mir, wenn ich zum "neuen Tag" Bildschirm zurückkehren will. Oder aber wenn ich aus dem Wald komme, auf dem Markt schon bin, aber noch einmal über "Zurück" zurückblättere zum Waldgeschehen, weil mir da etwas entgangen ist vielleicht. Im Anschluss dann sitze ich in der badnav. Das fällt mir jetzt ganz spontan ein. Kann das irgendwie mit der village.php zusammenhängen?
Hat jemand eine Ahnung, woran das liegt? Und wenn ja, was ich evtl. dagegen unternehmen muss oder kann?

Danke schon mal.
Grüße, verni :wink:

Autor:  Rikkarda [ Mo 26 Jan, 2009 16:15 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

öhm? ich hoffe das ist net dein ernst oder? zurück zum neuen Tag Bildschirm wär fatal, da bei aufruf des scriptes auch das alles durchgeführt wird?

Ein zurückblättern auf die Seiten die schon ausgeführt wurden, würde ein 2. aufrufen bedeuten. Das ist gewiss so gewollt, dass dies net geht :)

Ich würde dies auch alles andere als ändern *anmerk*

Autor:  vernisage [ Mo 26 Jan, 2009 16:24 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Schon ganz richtig Rikka... Das ist mir klar.
Es ging oder geht mir gar nicht darum, dass ich da "cheaten" will, ich bemerkte es nur, weil auf einem anderen Server, auf dem ich als Normalo-User unterwegs bin, bis zum "Neuen Tag" Bildschirm zurückklicken kann, um beispielsweise noch einmal nachzulesen, was ich "Besonderes" an dem Tag kann. Anschließend kann ich ganz normal meine Tätigkeit fortführen, bei der ich gerade war.
Bei mir auf dem Server kann ich zwar auch zum "Neuen Tag" zurückblättern, lese auch, was ich "Besonderes" heute kann, dann aber, wenn ich zu meiner Tätigkeit zurückkehre, bin ich in der badnav ohne jegliche Seitennavigationen. Oftmals komm ich dann auch nicht bis runter zu den "Anfragen", um mich selbst zu erretten.

Autor:  Eliwood [ Mo 26 Jan, 2009 17:09 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Zurückblättern ist - bei LoGD - *nicht* möglich. Prinzipbedingt.
Einzig der Cache vom Browser kann da helfen.

Autor:  sFinger [ Di 27 Jan, 2009 19:59 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

ist nur ne idee (vielleicht auch blödsinn), aber mach dir doch in der sql 'accounts` ADD `newdayoutput`, lass dort den neuen tag speichern, wie in admingrotte der 'letzte Treffer' eines spielers (user.php) und verlink es dann wo/wie du willst...

*wie gesagt, war nur n gedanke, hatte ich auch schon vor, aber bessere lösung gefunden*

Autor:  Drazaar [ Di 27 Jan, 2009 20:06 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Eliwood hat geschrieben:
Zurückblättern ist - bei LoGD - *nicht* möglich. Prinzipbedingt.
Einzig der Cache vom Browser kann da helfen.


Ist so nicht ganz richtig. Ich erinnere mich daran, dass es früher mit IE ging. Es hat übrigens nicht alles aktualisiert (man konnte also nicht cheaten indem man x-mal ein "Du bekommst 3 Edelsteine" Special besuchte).
Woran das nun aber liegt usw, weiß ich nicht.


Ansonsten:
Neue Tabelle (oder mit txt files), dort die letzten 5 outputs speichern. Der User kann diese dann in einem popup anschauen (so wie der admin) in der Admingrotte. Wäre mal ne Überlegung wert.



MfG
Draz

Autor:  Arath [ Di 27 Jan, 2009 20:15 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Ich denke, dass es für die Admins wenig Sinn macht die letzten 5 Outputs zu protokollieren.

Auch für den Gedanken der Fehlersuche - da bringen die letzten 5 Outputs wohl auch recht wenig.
Die Zeitspanne zwischen der ein User einen Bugreport schreibt und der Admin online kommt und sich diesen
Bugreport durchliest müsste praktisch bei 0 sein.

Denn wenn ein User problemlos weiterspielen kann wird er das tun - und das Output mit dem Fehler würde
von einem neuen funktionierenden überschrieben werden.

Wenn, dann die Outputs einer Woche | eines Monats speichern - und da besteht kein Problem drin.
Die Outputs - bestimmt formatiert für die Übersichtlichkeit - in eine .txt Datei speichern, welche man dann
direkt Ingame anschauen kann ... chronologisch geordnet, kann bei mancher Fehlersuche bestimmt nützlich sein.

Mit freundlichen Grüßen

Kai A. Wolf

Autor:  Eliwood [ Di 27 Jan, 2009 20:40 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Früher gabs mal den debuglog.
In ext GER 3 aber deaktiviert - und sowieso nirgendwo mehr so ausgeprägt, dass auch wirklich alles gesammelt würde, was gesammelt werden sollte.
Aber nützlich wäre er. In die richtige Form gebracht.

@Drazaar: Sagte ich ja. «Einzig der Cache vom Browser kann da helfen.»
Keine Aktualisierung. Klingelts? Ja, das war der IE-Cache. ;)

Autor:  Drazaar [ Di 27 Jan, 2009 21:09 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Ich rede nicht von Protokollierung, sondern für die User selbst zum Anschauen. Da können sie (eigentlich) nicht so viel kaputt machen, bzw. Scheiße bauen (ok Eliwood, du darfst mich nun aufklären, dass sie das doch können :D )

Ja gut, ich bin ja schon still. Böser IE, böser IE...^^

€: Ja so ein neuer Debuglog fände ich auch gut hab sogar letztlich n bissel dazu überlegt, aber ohne Ergebnis. Mir fehlt da der Ansatz, was alles rein soll, etc.

Autor:  Eliwood [ Di 27 Jan, 2009 21:12 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Gibt verschiedene Log-Möglichkeiten.
- Update auffangen und loggen, was geändert wurde (ev. auf Felder begrenzt, gold z.B. - Nachteil, Items werden nicht pauschal mitgeloggt), dazu Seitenaufrufparameter mitspeichern
- Selbststreng sein und alles mitloggen, was wichtig ist - bekommt Item, verliert Item, verkauft Waffe, gibt Dopos aus. Nachteil: Man muss sich selbst echt am riemen reissen
- Datenbank speichern, Datei speichern - wobei Benutzerdateien wohl besser sind
- Eventuell auch gleich noch Systemänderungen speichern - für Administrationen (Ändert Spieleinstellung auf, blahblah, etc.)

Autor:  Nightborn [ Mi 28 Jan, 2009 12:45 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Um noch meine 2 Cent reinzuwerfen:


1. Debuglogging geht in 1.x.x - man muß aber selber (!) im Modul das benutzen, sonst sinnlos ... es hilft bei Petitionen "ich hab das nicht gekauft!" => "Doch, um 11:03:44..."

2. Die letzten 5 Outputs in einer Tabelle speichern. Modifikation der pageparts.php --> im Stackprinzip rein damit.

quick+dirty:
PHP:
$stack=&$session['user']['stack'];
$stack[]=$output; // $output muß hier gesetzt sein
if (count($stack)>4) array_shift($stack);


Dann den $session['user']['stack'] irgendwo anzeigen lassen, blättern, etc

Generell sage ich: es macht Sinn, mindestens die Vorseite zu speichern... ich hatte User die meinten sie hätten den Kampf mit mehr LE begonnen usw - da wäre das nett gewesen.

(vielleicht bau ich das in +nb ein)

Autor:  Drazaar [ Mi 28 Jan, 2009 18:13 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Hab gestern begonnen an sowas zu arbeiten. Würdest du also das Speichern in der DB (accounts) empfehlen?
Ich habe es auf txt Dateien ausgelegt...

Autor:  Tidus [ Mi 28 Jan, 2009 19:17 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

ich würde es auch lieber mit txt haben weil, habe das cache file system drin um die db zu entlasten jetz dann wieder mit den output daten vollstopfen fänd ich nich so prall..^^

Autor:  Nightborn [ Do 29 Jan, 2009 10:22 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Wenn ihr das lieber in ein Dateisystem packen wollt -> ok.

Ihr müsst dann immer noch in der DB einen Dateinamen o.ä. ablegen - ansonsten sammelt ihr enormen Datenmüll an.
Aufräumen müsst ihr natürlich auch.

Ah, wenn ich das für meine Nutzer mache, habe ich bei zwei outputspeicherungen 12,000 Dateien rumwuseln ;) da geht nichtmal mehr ein "grep 'hallo' *", weil die Argumentliste zu lang ist ;)

Daher DB, weil das output selbst wird eh schon drin gespeichert. Warum nicht einfach das alte Output eine Position nach hinten schieben, wenn das neue kommt? =)

Aber im Endeffekt, ganz ehrlich, ist es bei <50 Usern online (nicht auf Freehoster) völlig bumbel wo ihr das Ablegt, die 0,005 Sekunden hat man schon =)

Autor:  Auric [ Do 29 Jan, 2009 12:57 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

wieso denn den Dateinamen in der DB ablegen? Der lässt sich doch ganz einfach aus der acctid bauen. Dazu rotierende Dateien und fertig ist die Schoße. 1-1.log, 1-2.log, 1-3.log; (Vereinfacht mit 3 Schritten)
Schreiben:
Dateiname Vorherbestimmen damit man nicht über das Verzeichnis iterieren muss.
Dateiattribute lesen und älteste Datei finden.
In die älteste Datei schreiben. (Dateisystem aktualisiert den Zeitstempel)

Lesen funktioniert analog, nur das man eben die jüngste raus sucht (und bei mehreren Schritten eben noch die nächst ältere wählen muss...)

Hauptsache, das ganze wird aufs Schreiben optimiert, da ich bei so einer Funktion von einem Read:Write-Verhältnis von ca 1:250 ausgehen, wenn nicht mehr. Das kann das lesen ruhig mal ne Weile dauern - dürfte immer noch schneller sein, als die normale Seitenausführung. Da bei jedem Seitenaufruf geschrieben wird, macht es natürlich Sinn, hier zu beschleunigen oder bei Dingen wie beim Schreiben von Chatnachrichten nicht mit zu schreiben. Gelöscht werden muss hier allerdings nicht - nur sollten die Daten gleich von Anfang an (leer) vorliegen, dann spart man sich den is-file-check.
Man könnte auch für jeden User ein Verzeichnis anlegen, dann läuft das ganze dynamischer bezüglich der Anzahl der Rückkehrschritte, nur muss dann eben das Verzeichnis durchsucht werden... müsste man mal ausprobieren.

Für das Problem gibt es sicher noch mehr Möglichkeiten (eine Datei pro User: Jeder Seitenoutput mit Steuerzeichen getrennt; Direkt in die DB; Eine HEAP-Tabelle, die natürlich nur den Kram von eingeloggten Usern loggt (für die Leute mit viel RAM ^^)).

Nur die Links müsste man noch entschärfen - sonst könnten die User eben mengenweise badnavs produzieren.

Ach ja - eins noch: Das Cache-System bringt hier gar nichts, da die Daten eigentlich nach jedem Click aktualisiert werden müssen.

Nur mal ein paar Anregungen von meiner Wenigkeit
Auric

Autor:  Arath [ Do 29 Jan, 2009 15:51 ]
Betreff des Beitrags:  Re: Badnav bei "Zurück"

Ich denke, ich würde mir das ganze für mich einfacher machen,
ich würde ein extra Verzeichnis anlegen - meinetwegen usrlog oder wie auch immer - und in dieses Verzeichnis
für jeden User eine .txt Datei anlegen lassen in welche nach und nach aktualisiert wird. (Damit meine ich nicht alte Logs von neuen überschreiben zu lassen)

Wenn man in den .txt Dateien die Logs chronologisch nach Datum | Uhrzeit ordnet sollte es auch nicht
schwer sein bestimmte Ereignisse rauszusuchen wenn ein User schreibt: "Des und des ist weg aber gemacht hab ich nichts!" ..
Absendedatum anschauen in die .txt Dateien schauen und dieses Datum suchen.

Minimalistischer Gedanke, aber umsetzbar dürfte es sein *lach*

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/