Server Crash Frage

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe mal eine Frage an euch (bitte nur die antworten die es zu 1000000000000000000000000000000% wissen! 100% gehen auch) und zwar was wäre z.B wenn der Server crasht ddos oder so also nicht normal heruntergefahren wird? 1. Wird der public onplayerdisconnect noch ausgeführt sodass ich die Spieler Speichern kann 2. wird noch ongamemodeexit ausgeführt sodass die Spieler gespeichert werden können?
    falls keins der beiden Optionen zutrifft wie kann ich möglichst Ressourcen schonend die Daten retten ich habe keine lust jede Sekunde den Spieler abzuspeichern da es laggen würde (bei vielen Spielern).

  • Die Daten werden noch gespeichert. Wenn jedoch bei einem Restart der Server crasht oder das GTA von einem Spieler crasht, so gehen ALLE Daten des Spielers verloren.


    Bei einem Crash von einem Spieler wird OnPlayerDisconnect aufgerufen.


    Und wenn du den Server per SendRconCommand("exit"); beendest wird OnGameModeExit aufgerufen, aber bei den Spielern die drauf sind wird OnPlayerDisconnect nicht aufgerufen.
    Bei einem Server Crash wird meines Wissens nach nichts ausgeführt da dann der Server auf einmal aus ist als ob du den Strom herausziehen würdest.
    Eine Lösung wäre dafür einen Server Crash so gut wie möglich zu vermeiden, evtl. einen Timer laufen lassen der alle 15-20 Minuten alle Spieler speicherst oder das aller wichtigste, das wenn nichts Gespeichert wurde bei den Spielern keine Bugs auftreten z.b. Car System etc. wo zwischen zwei Tabellen kommuniziert werden muss.

  • Kein Public wird ausgeführt wenn der Server Crasht.
    Weder OnPlayerDisconnect noch OnGamemodeexit.
    (Ist halt das Große Problem eines Crashs).


    Die sicherste möglichkeit ist es im script etwas einzubauen, das den Spieler speichert wenn was wichtiges passiert. Beispiel:
    Wenn GivePlayerMoney ausgeführt wird wird sofort der Money Wert des spielers in der Datenbank geupdatet.
    Wenn ein Level Up kommt wird des gesammte spieler geupdated.
    Beim Kauf eines Hauses wird das Haus gespeichert etc.

  • Ich glaube ich mach das jetzt so jede Minute werden 20 Spieler gespeichert per Mysql Minute 1 (ID 0-19) Minute 2 (ID 20-39) usw. bei ID Max Slot ID wird von neu Angefangen würde das laggen also 20x Speichern auf einmal?