BungeeCord - duszki na serwerze

Ostatnio zacząłem dopracowywać sektory i pojawił się pewien znaczący problem. Mianowicie po wylogowaniu się gracza często się zdarza, że zostaje “duszek” na serwerze. Czyli niby jest gracz online, ale w praktyce nie powinno go tam być. Jak to rozwiązać? Używam najnowszego Travertine (fork BungeeCord’a) oraz najnowszą wersje spigota (1.10.2).

Nie powiedziales nam jak dzialaja twoje sektory to jak mamy Ci odpowiedziec.

1polubienie

Gdzieś zostają pakiety w bungee. Musiałbyś sprawdzić w jakim dokładnie przypadku się tak dzieje, to i pewnie dowiesz się mniej więcej dlaczego.

No normalnie ;-; Dzielą mapę na kilka podserwerow, synchronizacja gildii itp odbywa się za pomocą Redisa i co mam więcej powiedzieć?

Spróbuje przeanalizować to, ale chyba poprawię to po swojemu (o ile się uda tak jak planuje to zrobic).

nie potrzebuje wiedzieć jak działają całe sektory tyko jak działa twoje wylogowywanie. Komunikacja pomiędzy serwerami. Może masz jakieś błędy, których nie wyświetlasz cokolwiek co mogłoby nam pomóc przeanalizować i pomóc Ci.

Czasem ludzie oczekują od kogoś pomocy, a tak na prawdę nie pozwalają, aby ktoś tej pomocy im udzielił (czasem też tak mi się zdarza).

To jest wszystko co robię przy wylogowaniu się na bungee:

>     	@EventHandler
>     	public void logout(PlayerDisconnectEvent e){
>     		User u = Storage.getUser(e.getPlayer());
>     		u.getGuild().switchToOfflineMember(u);
>     	}

Może w samym silniku zostają jakieś pliki o graczu, nie w serwerze, tj. coś jak wywala kogoś za connection lost to jeszcze przez pare sekund zostaje na serwerze.

Te duszki zostają w pewnym sensie na stałe. Siedzą tak i siedzą :confused: Zablokuję zapis wszelkich danych przez spigota o graczu, ponieważ i tak za to odpowiada redis.

Masz connection-throttle ustawione?

Bungee:

connection_throttle: 4000

Bukkit:

connection-throttle: 0

Powinno być -1 wg dokumentacji… -> https://www.spigotmc.org/threads/1-8-1-10-bungeecord.392/

A tak wgl sprawdz czy na czystym Bungee wystepuje…

Zmieniłem na -1 na bukkit i nadal to samo, czyste Bungee sprawdzę wieczorem, tylko dodam, że inny mój serwer mcplay.pl też korzysta z tego forka i nie ma tego problemu :confused:

Ten sam silnik dla serwerów sektorów, też używa tego pluginu?

W sensie ten kod co podawałem? Na sektorach są oczywiście inne pluginy

Chodzi o to, czy obie sieci używają tych samych silników trybów i tych samych sektorów.

Obie używają tego samego forka Bungee, tamten serwer nie ma sektorów, a i tamten ma rozne silniki trybów.

Czyli problemu musisz szukać raczej konkretnie w sektorach. Sprawdziłbym linijka po linijce co się wykonuje przy wyjściu w tym pluginie, dorobił jakiś debug. I porównał czym się różni normalne wyjście a takie z “zostaniem na serwerze”.

Cos zwaliles przy pakietach ;v

Gdzies widzialem fix na to… trzeba ukryc i pokazac gracza i powinien zniknac.