crash 1.20.3/1.20.4 przez niekompatybilną authlib z crystallauncher z oryginalną biblioteką

Cześć, zauważyłem że crystal launcher posiada zmieniona implementację biblioteki mojang authlib.
Wszystko by było OK, ale przez tą niekompatybilność CL, klient wywala się w pewnych warunkach (załączyłem crashloga)

No, ale od początku:

  1. Zauważyliśmy, że główki od graczy nopremium, które nie mają w sobie ustawionych properties - powodują ścinki klienta (jak jest dużo główek do załadowania w jednym momencie)
  2. Dodaliśmy do goxy puste properties dla graczy nopremium, które wygląda tak: [{"name": "textures", "value": ""}]
  3. Zauważyliśmy, że przez zmienioną implementację w CL i BP - powoduje crash klienta (blazingpack miał podobny błąd u siebie)
  4. Zmieniliśmy properties na: [{"name": "textures", "value": "e30="}] - wszystko działało
  5. Od wersji 1.20.3 CL zmienił implementację authlib tak, że te properties powoduje problem
  6. Moglibyśmy się tak bawić w kotka i myszkę i ustawić properties na: [{"name": "textures", "value": "nodata"}], rozwiąże to tylko problem na CL, ale lepiej żeby community nie miało odbiegających od normy rozwiązań (norma = oryginalny klient), bo nie wiadomo kiedy komuś przytrafi się podobna sytuacja

Na zdjęciu zaznaczyłem różne wersje biblioteki mojang authlib i co jest faktycznie problematyczne.

@relaxed-cougar wygląda mi na pilne i nie trudne do naprawienia
crash_cl.txt (7.32 KB)

Dodam, że serwery, które znają problem z lagującymi główkami - dodają puste properties (m.in. kwadratowa ■■■■■■■■)

Dzięki za opisanie błędów, właśnie wprowadziłem wskazane poprawki

Dzięki za szybką interwencję, co prawda nie musiałeś dodawać warunku value.equals("e30="), bo to jest po prostu {} zapisane w base64, a to jest pusty obiekt zapisany w json i normalnie to zadziała bez niego, ale może być i tak

||Flasha aż dostałem||