Serverseitig Variablen erhöhen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Serverseitig Variablen erhöhen

    Hi!

    Hab da ein Problem. Für ein Online Spiel muss ich ein paar Variablen für jeden User erhöhen und in eine Datenbank speichern.

    Das Problem ist das ganze muss auch funktionieren wenn der User nicht online ist(wenn er den browser schließt). Und da das alles jede Sekunde gemacht werden muss, glaub ich nicht das eine Crontab das richtige wäre und außerdem hab ich keinen root zugriff auf den server.

    Wie könnte man das anders realisieren?

  • #2
    1. ich sehe ausser Cronjobs keine Möglichkeit da irgendwas auszuführen, wenn kein User auf eine Seite zugreift.
    2. du willst wirklich jede Sekunde für jeden User einen Wert erhöhen? ... wenn das mal nicht der ultimative Performancefresser ist weiss ich ja auch nicht ...
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar


    • #3
      das denk ich mir ja auch aber es muss ja schließlich irgendwie auch anderes gehen, die anderen könnens ja auch ^^

      nur wollen sie mir nicht verraten wie

      es gibt ja onlinespiele die machen das für mehrere 1000te und das funktioniert auch

      Kommentar


      • #4
        aber sicher nicht jede Sekunde ...
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Re: Serverseitig Variablen erhöhen

          Original geschrieben von BlackDragon
          Und da das alles jede Sekunde gemacht werden muss, glaub ich nicht das eine Crontab das richtige wäre
          na wie gut, dass du das schon mal bemerkt hast :-)

          mit ein bisschen logischem nachdenken sollte man allerdings auch darauf kommen, dass es auf das selbe hinaus läuft, ob man jetzt eine stunde lange jede sekunde irgendwo 1 draufaddiert, oder ob man am ende der stunde ein mal so viel draufaddiert, wie eine stunde nun mal sekunden hat ...


          will sagen:
          wenn du den zeitpunkt weisst, an dem der user das letzte mal "da war", kannst du zu dem zeitpunkt, wo er das nächste mal wieder kommt, die differenz in sekunden berechnen, und diese dann auf einen schlag draufaddieren.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von BlackDragon
            das denk ich mir ja auch aber es muss ja schließlich irgendwie auch anderes gehen, die anderen könnens ja auch ^^

            nur wollen sie mir nicht verraten wie

            es gibt ja onlinespiele die machen das für mehrere 1000te und das funktioniert auch
            Ich behaupte einfach mal, dass ein Grossteil "der anderen" das können, gerade weil sie Cronjobs benutzen. Oder sie machen es eben ohne, und die Daten werden effektiv nur geändert, wenn sich der Spieler einloggt, oder andere Spieler in irgendeiner weise mit ihm interagieren (ihn angreifen, auspionieren, etc.).
            Und ja, andere Onlinegames machen das auch mit 1000en Spielern, aber um dir mal eine Hausnummer zu nennen: Planetarion hatte seinerzeit zwar mit 150.000 Spielern ein riesige Anzahl, aber sie hatten auch 8!! Server zur Verfügung um jede Stunde einen sog. Tick durchzuführen. Und trotzdem gab zwischen einzelnen Spielern Verzögerungen mehrer Minuten bis das alles einmal komplett durchgelaufen war. (natürlich habe ich keine Ahnung, was bei so einem Tick alles berechnet wurde, ich war ja nur Spieler und kein Entwickler ... aber es sollte dir mal einen kleinen Einblick geben).
            [color=red]Geht nicht[/color] ist keine Fehlermeldung

            Kommentar


            • #7
              @wahsaga:

              so wollte ichs eigentlich machen nur wollt ich noch wissen obs andere methoden auch gibt

              nur was wenn der user sich nicht ausloggt?

              ausser ich mach das mit javascript wenn das überhaupt funktioniert
              gibts irgendwie ne möglichkeit nach dem eventhandler onclose noch schnell ein paar zeilen php auszuführen, da php ja am server ausgeführt wird

              also wenn der user auf das X drückt das er automatisch noch ein logout macht

              Kommentar


              • #8
                onclose?

                wenn, dann onunload, wobei das ereignis bei jedem klick auf einen link eintritt

                willst du das nur, wenn er das browserfenster schließt, musst du alles in ein frameset packen und onunload für das frameset implementieren, aber das willst du nicht wirklich *g*
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar

                Lädt...
                X