Guten Tag zusammen :)
Habe gesehen, dass die Frage zu diesem syserr Eintrag in den meisten Fällen unbeantwortet blieb oder manche Anleitungen diesen Fehler doch nicht behoben haben. Ich habe durch mehrere Tests dann die Ursache gefunden.
Als erstes schauen wir mal in der game/src/input.cpp
folgende Zeile an:
Theoretisch ein fast unvermeidbares Ereignis, dass der Client manche Header nicht richtig verarbeitet.
Jedenfalls die Ursache dafür waren bislang 3 Dinge:
Wie bin ich darauf gekommen?
Beim 1. Fehler, war ist mir aufgefallen, dass ich diesen kürzlich, nachdem ich meine syserr gelöscht hatte, einen neuen Eintrag erhalten habe, als ich einen neuen Testcharakter erstellt habe. Natürlich level ich diesen auf Map1 und zack, habe ich nach der Urzeit bemerkt, dass ich mich da noch Map1 aufgehalten habe. Habe alle Bereiche abgelaufen und immer wieder, wo dieser Grundstücksverwalter Stand, hat sich die syserr plötzlich vergrößert.
Wer diesen Fehler beseitigen möchte, kann diese entweder auskommentieren
oder falls dieses System nicht benutzt wird, kann in der player.land Tabelle der DB jeder einzelne Verwalter in der Letzten Spalte alle ausschalten. Ansonsten weiss ich noch nicht genau, warum diese Verwalter diesen Fehler auslösen, ich nehme mal an, dass im Hintergrund ein Pseudogrundstück erstellt wird und der Client diesen wahrscheinlich nicht richtig verarbeitet.
Beim 2. Fehler habe ich die Sonderzeichen erlaubt und natürlich auch die Namen ausprobiert. Im Spiel selbst hatte dies keine negativen Auswirkungen, doch die syserr stapelte sich sogut wie jede paar Minuten und ich wusste nicht woher. Nach dem löschen der Logs, mit einem Charakter gespielt welche keine Sonderzeichen hatte, syserr war plötzlich leer, also muss man entweder mit diesem Fehler leben wenn diese erlaubt sein sollen oder diese leider verbieten.
Beim 3. Habe ich mir ausversehen zu viel Yang gegeben, und bei jedem Login war diese Meldung in der File. Nachdem ich diese money_log usw deaktiviert hatte, kam sie nicht. Aber dies zu vermeiden, sollte man nie die Yang Grenze überschreiten oder Zahlen speichern die den Maximal Datenwert überschreitet.
So.. Leider wären mit Garantie nicht alle Ursachen perfekt beseitigt, doch dieser Teil im Code sollte entfernt oder zumindest auskommentiert werden:
Diese Funktion führt zum unerwartetem Schließen des Spiels!
Und wem diese Meldung nervt, sollte diese:
und
auskommentieren.
Ich habe dies getestet und ich bekomme sehr sehr selten vielleicht mal ein Kick. Vor der Einstellung war es drastisch mehr, daher wollte ich dieses kleine Ding hier teilen, für den Fall, dass mehrere Leute dieses Problem haben. Ich kann nur nicht garantieren, dass nicht noch mehr Ursachen auftauchen, daher würde ich diese Meldung erst auskommentieren, wenn das gesamte Spiel auf legitimen Art gespielt werden kann und keine Einzige dieser Meldungen mehr ausspuckt.
Das wäre es auch wieder,
Mit freundlichen Grüßen, Endless :)
Habe gesehen, dass die Frage zu diesem syserr Eintrag in den meisten Fällen unbeantwortet blieb oder manche Anleitungen diesen Fehler doch nicht behoben haben. Ich habe durch mehrere Tests dann die Ursache gefunden.
Als erstes schauen wir mal in der game/src/input.cpp
folgende Zeile an:
Theoretisch ein fast unvermeidbares Ereignis, dass der Client manche Header nicht richtig verarbeitet.
Jedenfalls die Ursache dafür waren bislang 3 Dinge:
| Nr.1 -> Map 1 Grundstücksverwalter. Sobald der Spieler in der Nähe ist. |
| Nr.2 -> Erlaubte Sonderzeichen im Namen des neuen erstellten Charakter. |
| Nr.3 -> Wenn eine zu hohe Zahl in den Log Tabellen gespeichert werden. |
| Auswirkung: Spieler werden vom Server getrennt / Client schließt sich unerwartet. |
Wie bin ich darauf gekommen?
Beim 1. Fehler, war ist mir aufgefallen, dass ich diesen kürzlich, nachdem ich meine syserr gelöscht hatte, einen neuen Eintrag erhalten habe, als ich einen neuen Testcharakter erstellt habe. Natürlich level ich diesen auf Map1 und zack, habe ich nach der Urzeit bemerkt, dass ich mich da noch Map1 aufgehalten habe. Habe alle Bereiche abgelaufen und immer wieder, wo dieser Grundstücksverwalter Stand, hat sich die syserr plötzlich vergrößert.
Wer diesen Fehler beseitigen möchte, kann diese entweder auskommentieren
oder falls dieses System nicht benutzt wird, kann in der player.land Tabelle der DB jeder einzelne Verwalter in der Letzten Spalte alle ausschalten. Ansonsten weiss ich noch nicht genau, warum diese Verwalter diesen Fehler auslösen, ich nehme mal an, dass im Hintergrund ein Pseudogrundstück erstellt wird und der Client diesen wahrscheinlich nicht richtig verarbeitet.
Beim 2. Fehler habe ich die Sonderzeichen erlaubt und natürlich auch die Namen ausprobiert. Im Spiel selbst hatte dies keine negativen Auswirkungen, doch die syserr stapelte sich sogut wie jede paar Minuten und ich wusste nicht woher. Nach dem löschen der Logs, mit einem Charakter gespielt welche keine Sonderzeichen hatte, syserr war plötzlich leer, also muss man entweder mit diesem Fehler leben wenn diese erlaubt sein sollen oder diese leider verbieten.
Beim 3. Habe ich mir ausversehen zu viel Yang gegeben, und bei jedem Login war diese Meldung in der File. Nachdem ich diese money_log usw deaktiviert hatte, kam sie nicht. Aber dies zu vermeiden, sollte man nie die Yang Grenze überschreiten oder Zahlen speichern die den Maximal Datenwert überschreitet.
So.. Leider wären mit Garantie nicht alle Ursachen perfekt beseitigt, doch dieser Teil im Code sollte entfernt oder zumindest auskommentiert werden:
Code:
lpDesc->SetPhase(PHASE_CLOSE);
Und wem diese Meldung nervt, sollte diese:
Code:
sys_err("SEQUENCE %x mismatch 0x%x != 0x%x header %u", get_pointer(lpDesc), bSeq, bSeqReceived, bHeader);
Code:
sys_err("%s", buf);
Ich habe dies getestet und ich bekomme sehr sehr selten vielleicht mal ein Kick. Vor der Einstellung war es drastisch mehr, daher wollte ich dieses kleine Ding hier teilen, für den Fall, dass mehrere Leute dieses Problem haben. Ich kann nur nicht garantieren, dass nicht noch mehr Ursachen auftauchen, daher würde ich diese Meldung erst auskommentieren, wenn das gesamte Spiel auf legitimen Art gespielt werden kann und keine Einzige dieser Meldungen mehr ausspuckt.
Das wäre es auch wieder,
Mit freundlichen Grüßen, Endless :)