Fehler #34955
offenMehr als 240 Angebote im Auctionhouse führt zu Crash (für single char)
Beschreibung
Liebes B2B Team,
ich möchte hier einen Bug melden.
Ich habe 3 Stunden mit vielen Möglichkeiten getestet, es liegt nicht an Addons, nicht an Grafikkarte, nicht an Treiber, nicht an Antivirus, nicht an Windows. Also wenn man 240 Angebote im Auctionhouse hat, ist okay. Wenn man 241 Angebot im Auctionhouse hat, dann wenn man Auctionhouse öffnet, führt immer zu WOW Client Crash. Crash Report im Anhang. Man kann aber weiter normal spielen, questen, raiden, usw. Dieser Bug habe ich auch hier gesehen <http://vanillagaming.org/forum/index.php?topic=16807.0>. Keine Ahnung was ist dort, vermutlich andere Private Wow Server?
Zur Verdeutlichung, wenn ich gleichzeitig zwei wow client öffne, mit username-1 und username-2, username-1 hat 241 Angebote im Auctionhouse, username-2 hat z.B. 50 Angebote im Auctionhouse, dann wenn username-1 Auctionhouse öffnet, Client Crash! Aber username-2 geht ordentlich weiter.
Mit besten Grüßen!
Dateien
Von b2b-Spikeone vor fast 4 Jahren aktualisiert
- Status wurde von Neu zu Bestätigt geändert
Ich habe mir das mal ein wenig angesehen:
Aktuell schicken wir an den Client alle Auktionen die dieser erstellt hat. Normalerweise sollten es auch nur 50 Auktionen sein wie beim Durchsuchen. Problem ist nur leider: der Client sendet keine Seite (bzw Offset) mit wie er es beim durchsuchen macht. Ich habe mir mal die AuctionHouseBrowse_Frame und AuctionHouseAuctions_Frame angesehen - bei ersterem sind buttons und pages eingebaut, bei zweitem nicht.
Am Ende wird das Paket was an den Client geht einfach zu groß. Mehrere Pakete schicken hilft nicht, es wird immer die letzte Liste die er bekommt angezeigt (also bei 53 items, dann nur die letzten 3).
Einziger "Fix" den ich daher derzeit sehe ist die Auktionen auf 239 zu limitieren
Von Stephansos777 vor fast 4 Jahren aktualisiert
b2b-Spikeone schrieb (#note-1):
Ich habe mir das mal ein wenig angesehen:
Aktuell schicken wir an den Client alle Auktionen die dieser erstellt hat. Normalerweise sollten es auch nur 50 Auktionen sein wie beim Durchsuchen. Problem ist nur leider: der Client sendet keine Seite (bzw Offset) mit wie er es beim durchsuchen macht. Ich habe mir mal die AuctionHouseBrowse_Frame und AuctionHouseAuctions_Frame angesehen - bei ersterem sind buttons und pages eingebaut, bei zweitem nicht.
Im AuctionHouseAuctions_Frame gibt es keine Seiten, daher wird auch kein Offset für die Aktuelle Seite gesendet und deswegen fehlen dort auch die Buttons und Pages. Das ihr dem Char alle erstellten Auktionen schickt sollte sogar korrekt sein. Eventuell ligt der Fehler darin begründet das Server und Client nicht richtig kommunizieren?
Auf RG klappt das meines wissens, das dort mehr als 240 Auktionen angezeigt werden können. Eventuell mal anschauen wie das dort umgesetzt und man das zu B2B portieren kann?
Von b2b-Spikeone vor fast 4 Jahren aktualisiert
Wie gesagt, ich vermute den Fehler im Client und nicht im Server (gut da gibts auch einen Fehler aktuell). Ich habe den Code von CMangos genommen und damit mal getestet - der Client schickt keine Seiten (also ein Offset), würde mit CMangos Implemtierung daher auch nur 50 Items von n bekommen, vielleicht ist es so auch richtig auf dem Offi, dass man nur die 50 kürzesten sah? Ich weiß es leider nicht genau.
Dadurch, dass der Client kein Offset sendet und das Paket auch nicht geteilt werden kann, sehe ich da leider nichts möglich :-/
Wenn du ein Screenshot vom RG AH im Standard interface mit > 50 auktionen hättest wäre das aber ggf. spannend.
Von Stephansos777 vor fast 4 Jahren aktualisiert
- Datei WoWScrnShot_011021_113058.jpg WoWScrnShot_011021_113058.jpg wurde hinzugefügt
- Datei WoWScrnShot_011021_113346.jpg WoWScrnShot_011021_113346.jpg wurde hinzugefügt
- Datei WoWScrnShot_011021_114136.jpg WoWScrnShot_011021_114136.jpg wurde hinzugefügt
ja wie gesagt du hast schon festgestellt das AuctionHouseAuctions_Frame keine buttons und pages eingebaut sind, daher ist es auch richtig der client keinen offset für seiten mitschickt. Wozu auch wenn, es diese funktionalität in der ui nicht vorhanden ist? Daher sollten auch alle erstellten Auktionen zurück kommen vom Server.
AuctionHouseAuctions_Frame ist die Ansicht für erstellten Auktionen eines Charaktars.
Klar kann der Fehler beim Client liegen, keine frage. Es wird aber auch nicht eine Offizielle Sever Software verwendet, daher kann der Fehler auch aufm Server liegen bzw. in der Kommunikation zwischen Client und Server.
Auf RG kann ich weit mehr 240 Auktionen erstellen, wenn ich meine erstellten Auktionen ansehe werden scheinbar auch alle angezeigt ohne das der client crasht. Man sollte aber bedenken das RG ungleich B2B ist.
Von Stephansos777 vor fast 4 Jahren aktualisiert
- Datei WoWScrnShot_011021_114513.jpg WoWScrnShot_011021_114513.jpg wurde hinzugefügt
Von b2b-Spikeone vor fast 4 Jahren aktualisiert
Zumindest im standard Trinity core https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/AuctionHouse/AuctionHouseMgr.cpp z1422 wird ebenfalls die volle Liste geschickt.
Ich will nicht sagen, dass der Fehler nicht beim Server liegen kann, ich kann nur sagen ich sehe keine Fehler - wir können nichts an der Paketform ändern die der Client erwartet, beim Aktuellen CMangos Core ist die Liste auf 50 Items beschränkt und man wird wohl auch nur 50 erhalten da der Client nie ein Offset schickt. Am Paket, das dem Client geschickt wird kann man wohl nichts ändern. Das Paket wird irgendwann größer als 32000 - ab da scheint es für den Client problematisch.
Vielleicht können die Pakete noch gepackt werden oder so - ich weiß es nicht ;)
Auch ein Backport von Trinity auf TBC (https://github.com/AnonXS/TrinityOneCore/blob/master/src/server/game/AuctionHouse/AuctionHouseMgr.cpp)
Macht das gleiche wie bei uns und sollte das gleiche Problem haben.
Kann sich aber auch wer anders nochmal ansehen ob er was findet, ich sehe gerade leider nichts.