Skocz do zawartości
VIPEQ

tkPing - Plugin na zbyt duży ping!

Rekomendowane odpowiedzi

Użytkownik

tkPing

Plugin na zbyt duży ping.

 

» INFORMACJE O PLUGINIE 🔥

● Wersja: 0.1 [ będą update ]
● Wymagane inne pluginy: Brak
● Plugin testowany na wersji: 1.8.8

● Github: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

» CO ROBI TAKI PLUGIN? 🔥

● Komenda /ping sprawdza ile masz pingu ( tzn. opóźnienie internetu )
● Komunikat zbyt dużego pingu
● [v0.2] Dodano komendę /ping on/off (możliwość wyłączenia powiadomień o zbyt dużym pingu)

» DOWNLOAD I PREZENTACJA (WERSJA v0.1) 🔥

● DOWNLOAD: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!
● SKAN: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

● PREZENTACJA:


» DOWNLOAD (WERSJA v0.2) 🔥

● DOWNLOAD: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!
● SKAN: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Edytowane przez VIPEQ
v0.2

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
4 minuty temu, jaku49 napisał:

Dla Ciebie 7ms pingu jest wynikiem wysokim? Ja mam cały czas ~45ms opóźnienia i to nie jest dużo, na 200+ zaczyna się niezła zabawa.

Plugin był testowany na localhost.
Ping można zmienić w configu, ja na test ustawiłem 1, czyli jak ma większy od 1 lub równy to wyświetla się title i subtitle ;]
A co do pingu, to mam ~21 ms [ Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! ]

Edytowane przez VIPEQ

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Plugin słabo napisany

 

1. Do zamieniania '&' używa się klasy ChatColor

2. Za każdym razem pobierasz wiadomość z configu, zamiast ustawić ją przy starcie serwera do zmiennej np. String

 

Niby prosty plugin a błędy są

Edytowane przez HotAngel2K17

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
3 minuty temu, HotAngel2K17 napisał:

Plugin słabo napisany

 

1. Do zamieniania '&' używa się klasy ChatColor

2. Za każdym razem pobierasz wiadomość z configu, zamiast ustawić ją przy starcie serwera do zmiennej np. String

 

Niby prosty plugin a błędy są

1.Zamienianie '&' mam w ChatUtil 😜

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
2 godziny temu, TermitCG napisał:

Plugin tak prosty, że nie wiem co mógłbyś dać w tym update.

Jak dla ciebie 9ms to duży ping to ja ten napis bym miał cały czas xD

Plugin był testowany na localhost.
Ping można zmienić w configu, ja na test ustawiłem 1, czyli jak ma większy od 1 lub równy to wyświetla się title i subtitle ;]
A co do pingu, to mam ~21 ms [ Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! ]

Edytowane przez BrixNW
Poprawiam formatowanie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Nie wiem szczerze co w tym pluginie jest takiego... Znaczy nie żeby coś, ale

Cytat

Plugin na zbyt duży ping.

Wiesz... Każdy może mieć inny próg dużego pingu, dla jednego będzie 50, a dla drugiego 10 (chociaż nie wiem kto tak uważa, ale jak kto woli...)

Cytat

Wersja: 0.1 [ będą update ]

W aktualizacji na Ping można dodać... Pong :lulkappa:
A tak poważnie, to nie wiem co można dodać do takiego pluginu, jest to na Ping, a nie jakieś tools itp.

Cytat

to wyświetla się title i subtitle ;]

Podasz może informacje co ile się wyświetla taki komunikat? 

Plugin nie jest zły, myślę że jakbyś dodał coś do niego ciekawego, byłby dobry na serwerach.
 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Nie chce mi się pobierać, ale nie dałeś żadnej informacji w temacie o konfiguracji. Więc najlepiej dodaj mozliwość, aby gracz mógł sobie wyłączyć działanie pluginu dla siebie. Myślę, że to będzie najbardziej wartościowa opcja całego pluginu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
VIP++

W tasku zrób średni ping gracza i jeżeli ten ping jest większy o jakąś wartość ustawiona w configu to wtedy wysyłać komunikat. 

Tak samo ten średni ping dodaj do /ping. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
7 godzin temu, xAxee napisał:

W tasku zrób średni ping gracza i jeżeli ten ping jest większy o jakąś wartość ustawiona w configu to wtedy wysyłać komunikat. 

Tak samo ten średni ping dodaj do /ping. 

Ja na jego miejscu bym ten plugin poprawił niż jak na razie coś dodawał

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
W dniu 7.09.2019 o 15:13, DαrϰVεnuς napisał:

Nie chce mi się pobierać, ale nie dałeś żadnej informacji w temacie o konfiguracji. Więc najlepiej dodaj mozliwość, aby gracz mógł sobie wyłączyć działanie pluginu dla siebie. Myślę, że to będzie najbardziej wartościowa opcja całego pluginu.

np. komendą /ping on/off ?
Mogę takie coś zrobić :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
W dniu 8.09.2019 o 22:39, DαrϰVεnuς napisał:

Tak, bardzo przydatne dla osób, po prostu potrafią odczytać, że mają wysoki ping z płynności gry

Gotowe

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Nie polecam na większe serwery 🤠

@edit mam juz troche czasu wiec sprobuje ci pomóc "udoskonalić" troche ten plugin

Dodaj wsparcie dla innych wersji - nie wiem jak to zrobisz - albo refleksje albo dla każdej wersji rob oddzielnie implementacje z nms. (tzn. interfejs pingchecker i np. pingchecker_1_8_r3 implementacja z uzyciem nms od 1.8.8)

 

Jezeli chodzi o kod (raczej ten "slabo napisany")

    public static Main inst;
    public static Main getInstance() {
        if (inst == null) {
            return new Main();
        }
        return inst;
    }

    public void onEnable(){
        inst=this;

Szkoda ze nie wiesz jak to dziala =(

Gdy instancja jest nullem to tworzysz nawet tysiące takich obiektów (jak tysiac razy zostanie wywolana metoda getinstance() przed wywolaniem metody onEnable())

zamiast zwracac niepotrzebnie nowy obiekt zrob return inst = new Main() lub od razu zrob cos w stylu getPlugin(Main.class) bo przeciez jest juz taka metoda w JavaPlugin.

        new Task().runTaskTimerAsynchronously(this, 1L, 1L);

No i po co puszczac takiego taska co 1 ticka? Skoro mozna co kilka sekund

Czemu zapisujesz config w onEnable?

Klasa "Ping" 

    public Ping(final Main plugin){
        this.plugin = plugin;
        this.plugin.getCommand("ping").setExecutor(this);
    }

Czemu rejestrujesz komende w konstruktorze? Taska mogles puscic juz normalnie, ale komendy tak samo rejestrowac nie mozesz .. =( to sie nazywa side-effects (zla praktyka, nie rob tak)

                        UserManager.setPingPowiadomienia(p.getName(), 1);

Czemu usermanager i set jest po angielsku a pingpowiadomienia juz po polsku? To jakas nowa moda na mieszanie angielskiego z polskim, czy po prostu nie wiedziales jak sa powiadomienia po angielsku? =(

args.length == 0 || (args.length > 1)

Od czego to jest?

                        UserManager.setPingPowiadomienia(p.getName(), 0);

Czemu zamiast uzywac booleana - true/false to jest 1 albo 0? Od tego sa booleany =(

Cytat
return false;
 

jak zwracasz false w onCommand to informujesz serwer ze komenda nie wykonala sie prawidlowo

 

Paczek nie nazywa sie w liczbie mnogiej i nie rob takich skrótow =( zamiast cmds to command, zamiast utils to util.

Powiedzmy ze chce zedytowac twoj plugin - widze ze w mainie jest klasa Ping - ale g*wno jest napisane co to jest. Czy to komenda czy to zwykly obiekt =/  

Masz paczkę tasks a w niej klasa Task xD to albo robisz tą paczke aby tam przechowywac rozne taski albo jeden ktory nic konkretnie nie mowi o tej klasie - po prostu Task. I skąd ktoś ma wiedzieć od czego ta klasa jest? Np. z nazwy "PingCheckerTask" wiadomo od czego to jest - ping checker task. Sprawdza ping i do tego jest taskiem.

Do tego metode getPing trzymasz w dwóch klasach (duplicated code)

 

Czemu paczka util zawiera klase Api? I wgl czemu to sie nazywa api? Api do mogloby byc gdybys cos dostarczal ze swojego pluginu dla innych pluginow.. Np ile razy gracz mial zbyt duzy ping lub cos w tym stylu. Do tego to powinien byc obiekt a nie klasa statyczna z wysylaniem title/subtitle. Jak juz to moglbys to dac gdzies indziej lub od razu nazwac TitleUtil lub coś w tym stylu (ja na twoim miejscu tez bym zrobil interfejs titlesender i implementacja dla 1.8.8 itp) Wiecej czytac mi sie nie chce, nie mam czasu xd

Edytowane przez yooniks

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość i zarejestrować się później. Jeżeli masz już konto, zaloguj się, aby dodać zawartość za jego pomocą.

Losowy awatar
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×