BungeeCord - duszki na serwerze

Pytania i problemy
Kukubaczek
Kukubaczek

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).

Szymon
Szymon

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

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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.

Kukubaczek
Kukubaczek

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

Kukubaczek
Kukubaczek

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

Szymon
Szymon

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).

Kukubaczek
Kukubaczek

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);
>     	}
Timo
Timo Moderator forum.lvlup.pro

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.

Kukubaczek
Kukubaczek

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

anon82750602
anon82750602

Masz connection-throttle ustawione?

Kukubaczek
Kukubaczek

Bungee:

connection_throttle: 4000

Bukkit:

connection-throttle: 0

anon82750602
anon82750602

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...

Kukubaczek
Kukubaczek

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 :/

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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

Kukubaczek
Kukubaczek

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

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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

Kukubaczek
Kukubaczek

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

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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".

anon82750602
anon82750602

Cos zwaliles przy pakietach ;v

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

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.