Rangpunkte und Pferd

10/11/2016 22:16 Chaosnightx3#1
Morgen,

arbeite jetzt schon etwas länger mit dem Source und wollte mal fragen, ob
ihr vielleicht wisst, warum der Server ab 8k Rangpunkten meinen Rang wieder runter auf 339 setzt ... und in der Db stehen ganz vewirrnde Zahlen, hier ein Screen:

[Only registered and activated users can see links. Click Here To Register...]

Liegts an meiner Db? Oder hab ich was in meiner game in die Luft gejagt?

Meine zweite Fage ist, warum das Pferd nach einem Relog tot ist und das Pferdelevel wieder auf 0 ist, aber man kann es rufen...

Hoffe ihr habt eine Lösung.
10/11/2016 22:23 [SA]xAmnezia#2
Quote:
Originally Posted by Chaosnightx3 View Post
Morgen,

arbeite jetzt schon etwas länger mit dem Source und wollte mal fragen, ob
ihr vielleicht wisst, warum der Server ab 8k Rangpunkten meinen Rang wieder runter auf 339 setzt ... und in der Db stehen ganz vewirrnde Zahlen, hier ein Screen:

[Only registered and activated users can see links. Click Here To Register...]

Liegts an meiner Db? Oder hab ich was in meiner game in die Luft gejagt?

Meine zweite Fage ist, warum das Pferd nach einem Relog tot ist und das Pferdelevel wieder auf 0 ist, aber man kann es rufen...

Hoffe ihr habt eine Lösung.
Sollte deine Probleme beheben, wenn nicht gib nochmal bescheid. [Only registered and activated users can see links. Click Here To Register...]
10/11/2016 22:28 Chaosnightx3#3
Also, wenn Du mir sagen willst, dass Bigint 255 nicht reicht, dann ja. xD
Würde es an einfachen Designs in der player liegen, würd ich keinen Thread aufmachen. :D
10/11/2016 22:34 [SA]xAmnezia#4
Quote:
Originally Posted by Chaosnightx3 View Post
Also, wenn Du mir sagen willst, dass Bigint 255 nicht reicht, dann ja. xD
Würde es an einfachen Designs in der player liegen, würd ich keinen Thread aufmachen. :D
Kollege hatte vorhin gleiches prob. mit Alignment. Smallint auf Int hats getan xD
10/11/2016 22:35 Chaosnightx3#5
habs auf bigint 255 :P nur aus reiner testweise :D
10/11/2016 23:27 Benhero#6
Dann ändere es halt mal auf normales int.
Entweder löst das dein Problem oder eben nicht.

Jedenfalls gibt es irgendwo einen Overflow.
Dies erkennt man an deiner Aussage und dem Screen.
Würde ggf. vermuten das es am Client liegt, da der Server bzw. die DB es ja anscheinend richtig speichern.

Ansonsten kann es zumal auch sein, das irgendwo eine Falsche Zahl in die Datenbank geschrieben wird. Man müsste halt erstmal nach verfolgen woher diese Immense Zahl kommt.

Grüße
10/11/2016 23:42 [SA]xAmnezia#7
Quote:
Originally Posted by Benhero View Post
Dann ändere es halt mal auf normales int.
Entweder löst das dein Problem oder eben nicht.

Jedenfalls gibt es irgendwo einen Overflow.
Dies erkennt man an deiner Aussage und dem Screen.
Würde ggf. vermuten das es am Client liegt, da der Server bzw. die DB es ja anscheinend richtig speichern.

Ansonsten kann es zumal auch sein, das irgendwo eine Falsche Zahl in die Datenbank geschrieben wird. Man müsste halt erstmal nach verfolgen woher diese Immense Zahl kommt.

Grüße
Am Client kann es eig nicht liegen nur an DB eig.
10/11/2016 23:45 Benhero#8
Die DB verarbeitet nur was sie erhält ;) und MySQL erzeugt von sich aus keine overflows.
Den die daten müssen ja irgendwo her kommen. Und die daten kommen auch nicht vom client, sondern vom server.

Der Client dient ausschließlich der Anzeige.
Berechnungen finden auf dem Server statt
und die Speicherung von den Rechnungen landen in der DB ;)

Grüße
10/11/2016 23:47 Chaosnightx3#9
Dann müsste es, wenn ich deine Vermutung richtig lese an meinem DB core liegen, der einen overflow erzeugt...

Ab 8k Rang macht er den Sack zu ..

Und zwar erst, wenn ich den Server neustarte.
10/11/2016 23:59 Benhero#10
Dies kann durchaus auch den dem DB Core liegen.
Wo jedoch der Fehler liegt, kann ich durch Ferndiagnose nicht sagen.

Ich würde dir Daten raten verschiedene Szenarien durchzuspielen.

1.)
Rang über Töten von Monster erhöten (Wann tritt Fehler auf? Habe das mit den 8k sehr wohl gelesen) Wenn der Fehler auftritt, kann man ihn durch das Töten von Spielern lösen, so das die Punkte wieder normal angezeigt werden?

2.)
Rang durch stehen erhalten (nicht in der Savezone!) und schauen ob der Fehler auftrifft.
Wenn nicht, liegt es irgendwo beim töten von Monstern. Wenn nicht, nächster Schritt.

3.)
Frucht des Lebens Essen und somit den Rang über 8k bringen und schauen ob der Selbe fehler auftrifft. Wenn nein, liegt der Fehler am normalen Rang erhalten bzw durch das töten von Monstern.

4.)
Rang durch befehle setzen, wichtig ist dabei alle Stufen durchzugehen (Negativ! wie auch Positiv) um zu sehen ob dieser Fehler ausschließlich in Positiven bereich auftritt oder auch im Negativen. Wenn nur im Positiven gibt es diesbezüglich irgendwo berechnungsprobleme. Sollte er gar nicht in den Negativen gehen, ist der gewählte Datentype vorzeichenlos (unsigned) was bedeutet er nimmt keine Negativen zahlen auf.
Sollte es ohne Probleme in den Negativen Bereich geht (bis -20k) liegt der Fehler definitiv NICHT am Datentype. Den diese gehen wenn sie vorzeichenbehaftet (signed) sind mindestens genauso weit im Positiven bereich. Dann liegt der fehler auch hier irgenwo an der berechnung.

### EDIT ###
Zu dem Pferd, prüfe mal ob irgendeine Quest die Werte der Pferde beim Login/Logout überschreibt/schreibt. Dieses Problem hatte ich auch mal. Sollte der Fehler nicht daran liegen, würde ich in den Logs schauen was genau passiert bzw was geschrieben wird. Auch würde ich die Horse tabelle nach einem Login aber auch nach einem Login auf den Inhalt prüfen. Ob irgendwelche Werte geschrieben werden, die dort nichts zu suchen haben. Wenn nicht, probier die Tabelle mal zu Reparieren. Dies kann oft wunder wirken ;)

Grüße Benhero
10/12/2016 00:18 Chaosnightx3#11
Ich habe mal einige Szenarien durchgetestet.

Gebe ich dem Char durch den Befehl Punkte, wird er angezeigt. Starte ich den Server neu ist der gegebene negativ Rang ein positiv Wert von etwa 6.7k Punkten. Man bekommt durch afk stehen, Rangpunkte. Auch das Töten funktioniert. Sobald der Wert über "8k" geht, ist Ende, alles drunter nimmt er.

Bzw alles, was in den negativen Rang geht, überschreibt sich in den positiven, hab jetzt mal Ziffern getestet.

Rangpunkte geben und nehmen ist alles kein Problem. Im Positivem Bereich z.b geht alles bis etwa 8k. Alles drüber, fällt nach einem Neustart auf fast 0. Etwa auf 330.

Jeder Wert, der ins negative gesetzt wird, erreicht nen Overflow und geht auf rund 5-6k ins Positive. (der Rang gut.)

Bin dir aufjedenfall sehr dankbar für deine Hilfe, die du anbietest! :)
10/12/2016 17:08 .Colossus.#12
Soweit ich das in Erinnerung habe wird das durch das "unvollständige" Kostümwaffen System was hier überall rumgeistert hervorgerufen.
10/12/2016 17:09 ThaRielFliege#13
So ein Fehler kann auch durch falsche Datenbankstruktur entstehen, vergleich mal die datenbank einträge für die player in deinem Source mit deiner SQL, vermutlich hat sich nur was verschoben und deswegen hast du den Fehler.
10/12/2016 17:49 [SA]xAmnezia#14
Quote:
Originally Posted by ThaRielFliege View Post
So ein Fehler kann auch durch falsche Datenbankstruktur entstehen, vergleich mal die datenbank einträge für die player in deinem Source mit deiner SQL, vermutlich hat sich nur was verschoben und deswegen hast du den Fehler.
Das komische ist, ich teste seinen Source bzw die Bugs Regelmäßig und bei mir Ingame besteht nicht dieses Problem.

Quote:
Originally Posted by .Colossus. View Post
Soweit ich das in Erinnerung habe wird das durch das "unvollständige" Kostümwaffen System was hier überall rumgeistert hervorgerufen.
Wie schon gesagt teste für ihn Regelmäßig sein Kram, bei mir funkt alles, nur bei ihm nicht.
10/13/2016 02:54 Chaosnightx3#15
Quote:
Originally Posted by .Colossus. View Post
Soweit ich das in Erinnerung habe wird das durch das "unvollständige" Kostümwaffen System was hier überall rumgeistert hervorgerufen.
Den Verdacht hatte ich auch. Aber dadurch wirds nicht hevorgerufen.

Die Vermutung von Fliege stimmte eher. Hab nochmal paar Backups früher aufgespielt... jetzt geht alles. Hab vermutlich irgendwas gefetzt, was ich nicht beachtet habe. o_O