Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Brettspiel: Automatischer Rausschmiss nach ??

  1. #1
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825

    Brettspiel: Automatischer Rausschmiss nach ??

    Hallo Leute,

    da habe ich so eine Seite mit einem Brettspiel (Senet). Eine Partie läuft so ca. 30 Minuten, wenn beide Partner zügig setzen.
    (Ich poste das Ganze mal in PHP, weil die Spielverwaltung auch in dieser Sprache geschrieben ist.)

    Wenn alles wie geplant läuft, beendet sich alles sauber mit Log löschen, Cookie löschen u.s.w. Auch wenn einer der Spieler abbricht, ist das noch kein Problem.

    Das entsteht erst, wenn beide keine Lust mehr haben und einfach ihre Browserfenster zumachen: das entsprechende Log bleibt offen.

    Nun plane ich eine automatisierte "Rausschmeißroutine".

    Frage: Wie lange würdet ihr warten? 2 Stunden? 4 Stunden, 12 oder 24 Stunden?

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Hier stellt sich mir die Frage, was genau deine Anwendung ist.
    Wenn auf Sockets basiert ist es eine Apache-Server max-clients Frage.
    Wenn es ein reines Preload (also on click an view) Programm ist.
    Dann sind die 180 Minuten in der PHP ini schon Ok.
    http://httpd.apache.org/docs/2.2/misc/perf-tuning.html
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von undefined Beitrag anzeigen
    Hier stellt sich mir die Frage, was genau deine Anwendung ist.
    Wenn auf Sockets basiert ist es eine Apache-Server max-clients Frage.
    Wenn es ein reines Preload (also on click an view) Programm ist.
    Dann sind die 180 Minuten in der PHP ini schon Ok.
    http://httpd.apache.org/docs/2.2/misc/perf-tuning.html
    (Mehr als 8 Teilnehmer gleichzeitig kännen sich nicht anmelden)
    Im Client wird herumgeclickt, der refresht/pollt 4x pro Minute. Bei Stau auf der Datenautobahn kann es auch schon mal länger dauern.

    Aber das bringt mich gerade auf eine Idee mit fileatime - 3-5 Minuten nicht ins Log gesehen/ sehen wollen - und tschüss.

    so long,
    Bluejay
    Eigentlich ganz einfach, wenn man's weiss!

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    ja eine Log bietet sich hierfür gerade zu an. Datei-Zeitstempel mit der SID-Time vergleichen und raus Schmeissen.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  5. #5
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825

    fileatime, filemtime

    Hallo Leute,

    da dachte ich, die Lösung mit fileatime: Zeit des letzten Lesens zu haben, da returnt mir der Bursche eine viel zu niedrigen Wert! clearstatcache() war vorher aufgerufen.

    Ähnlich wie es Windows bei diesem armen Kerl machte,
    http://de3.php.net/manual/de/function.fileatime.php

    nur dass mein php auf Solaris läuft. Sieht aber so aus, als machte er denselben Dreck, nämlich nur 1x am Tag updaten.

    filemtime kann ich nicht brauchen, da ich den letzten Read-Zugriff benötige.

    Hat wer noch andere Ideen, bei denen ich nicht schreibenderweise auf die Dateien zugreifen muss?

    (Sonst bleibt es bei dem 3-Stunden-Kill)

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  6. #6
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    wenn im log ein timestamp steht, kannst du doch den nutzen... letzte zeile lesen, auswerten und dann tschüss 'tail -n 1 logfile'

    funxt natürlich nur, wenn du auch beim log lesen einen eintrag machst...
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  7. #7
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Warum sollte man das Spiel dann zumachen?
    Vielleicht wollen die ja morgen weiterspielen, weil einer grad weg muss.

    Ich würde diese Option zumindest mal anbieten.

    Ansonsten, wie Elrond gesagt hat. Auch einen View eintragen und immer mal wieder prüfen, wann der letzte View war. So 3 - 5 Minuten würde ich aber schon geben (angenommen Browser abgestürzt, IP-Wechsel oder so).
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  8. #8
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von elrond Beitrag anzeigen
    funxt natürlich nur, wenn du auch beim log lesen einen eintrag machst...
    Nö, wenn ich das mache, dann bekomme ich den Goldenen Handschlag.
    (zmindest nach dem, was hier beim Testen ablief.)

    @Turbohummel:
    Das Spiel ist so angedacht, dass man da eine halbe bis ganze Stunde intensiv zockt, so wie auf der Terrasse beim Mensch-Ärgere-Dich-Nicht. Während dieser Zeit sollte der Browser offen bleiben.

    Was du anschneidest, wäre auch eine Spielart, bei der AJAX aber nicht unbedingt die Methode der Wahl ist.

    so long,
    BlueJay
    Geändert von BlueJay (17-04-2007 um 20:06 Uhr)
    Eigentlich ganz einfach, wenn man's weiss!

  9. #9
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Was nicht heißt, dass man das Spiel nicht mal unterbrechen kann.
    Ich wüsste jedenfalls nichts, was dagegen sprechen würde.

    Einfach ein "Spielen wir morgen weiter?", weil einer der Partner keine Zeit hat. Steht in keinem Wiederspruch zu Ajax.

    Wenn du dir nur den Zeitpunkt der letzten Abfrage merkst?
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  10. #10
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Dagegen spricht, dass ich bei meiner Suche nach 2-Personen-Spiele auf Seiten gestoßen bin, wo Hunderte von Partien angefangen wurden oder auf Partnersuche sind. Zum Teil sind die Einträge schon wochen- und Monate alt, also mindestens eine lange Seite vollgeschrieben in kleiner Schrift, aber alles waren "kalte Adressen".

    Gesucht habe ich eine deutsche Seite, auf der ich vor 1, 2 Jahren gegen einen netten Mitspieler Malefiz gezockt habe, aber die Seite hat sich mittlerweile auf Rollenspiele spezialisiert.

    Damals hatten die Brettspiele, die man in "Räumen" mit Mini-Chat zu zweit über den Browser spielen konnte. Die Dinger waren klick- and Refresh-orientiert, also nix mit Sockets (zudem mein Männe hier aus Sicherheitsgründen fast alle Ports "nach draussen" gesperrt hat).

    Was die damals dort hatten, wollte ich im Kleinen nachbauen, so für die 2 oder 3 Spiele, für die Männe keine Lust hat. (der würde ja am liebsten Schiffe versenken spielen, bäh!)

    Problem auch hier:
    Die Leute testen das mal an und verdrücken sich. Von 4 erlaubten Spielen (bin nicht allein auf dem Server, daher die Begrenzung) sind dann 4 mit Warten blockiert (zum Teil mit recht seltsamen Namen). Steigt man 5 -15 Minuten später ein, kommt keine Reaktion vom Partner. Nach einer weiteren halben Stunde habe ich die Dinger meist regulär beendet.

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  11. #11
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Es ist scheinbar ein Problem mit den "Teasern" und denen, die nicht verlieren können. Die hauen irgendwann ab, besonders, wenn es aussichtslos wird.

    Bin in einem der Foren auch auf Einträge gestoßen, die diese Mentalität bemängeln.

    Die dort vor geschlagene Lösung hat mit gut gefallen: Wer seinen Zug länger als 15 min schluffen lässt, ist automatisch der Verlierer.

    Zeit genug zum (ver-)p*****

    Diese Variante ziehe ich auch vor, da ich es mir nicht leisten kann, den Strato-Server mit Spielelogs vollzumüllen. Die Jungs gönnen mir schon unbegrenzt Traffic.
    Eigentlich ganz einfach, wenn man's weiss!

  12. #12
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    macht irgendwie sinn... gnadenlos rausschmiessen nach 15 min
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

Lesezeichen

Berechtigungen

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