Skocz do zawartości
  • 0

[BUNGEE] helpop i msg plugin


Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Przykładowy helpop:
 

for(ProxiedPlayer pp : getProxy().getPlayers()){
	if(pp.hasPermission("helpop.see")){
		pp.sendMessage("wiadomosc");	
	}
}

Oczywiście metoda jeszcze przed tym i rejestracja komenedy helpop :)

Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176076
Udostępnij na innych stronach

  • 0

Dodawanie funkcji serwera poprzez BungeeCord jest strasznie niewygodne. Lepiej zrobić plugin na Bukkit i synchronizować te dane, na przykład Redisem, albo bazą danych.

Dlaczego w ogóle rozwijać funkcje serwera przez BungeeCorda? Na pierwszy rzut oka wydaje się on integralny dla wszystkich serwerów i graczy, to przecież tak nie jest. Gdy sieć nam urośnie i będzie potrzebowali stawiać kolejne instancje BungeeCorda to już nie będzie to żadna integracja. Będziemy wtedy musieli synchronizować te dane między instancjami.

BungeeCord ma okrojoną obsługę pakietów (istnieje jedynie logowanie/scoreboardy/teleportacja/itp), przez co jesteśmy bardzo ograniczeni w możliwościach operowania na kliencie. No chyba, że samemu chcemy pisać pakiety. Dodatkowo BungeeCord nie posiada całej logiki gry, więc to też utrudnia robienie wielu rzeczy.

BungeeCord jest proxy, więc nie może bezpośrednio operować na serwerze. Przykładem mogą tu być pirackie serwery i system logowania. Mamy sobie taki /helpop, ale przecież Bungee nie wie czy ten admin na serwerze jest zalogowany, czy nie. Gdyby tak nie było to nie wiadomo czy jest to rzeczywiście ta osoba. Ryzykujemy wyciekiem poufnych informacji do osób które nie posiadają (a przynajmniej nie powinny mieć) do nich dostępu.

Dlatego BungeeCord jest najlepiej zostawić do celów wyświetlania serwera na liście serwerów (pingowanie), obsługa jakichś rzeczy od proxy, typu kicki i połączenia, oraz zarządzanie serwerami. Całą resztę najlepiej pisać na Bukkicie/Spigocie i synchronizować te dane przykładowo bazą danych i/lub Redisem, albo jakimś innym systemem.

Co do waszego pytania Towarzyszu to wszystko zależy jakiej technologii użyjecie. Przykładowo używając pub/sub Redisa można wysyłać wiadomości helpop. Przy wykonaniu komendy /helpop publikujesz do Redisa wiadomość gdzie zawierasz kto to napisał i jaką treść. Wtedy każdy z serwerów musi taką wiadomość subskrybować, jeżeli nadejdzie to loopujesz wszystkich graczy z jakimś tam uprawnieniem i wysyłasz im wiadomość tego helpopa.

Z /msg będzie trochę trudniej, bo wiadomości w Redis nie można edytować czy coś. Można zrobić tak, że serwer publikuje wiadomość, a następnie serwer na którym gra gracz odbiorca wiadomości publikuje wiadomość zwrotną o sukcesie wysłania prywatnej wiadomości.

Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176082
Udostępnij na innych stronach

  • 0
19 godzin temu, TheMolkaPL napisał:

Dodawanie funkcji serwera poprzez BungeeCord jest strasznie niewygodne. Lepiej zrobić plugin na Bukkit i synchronizować te dane, na przykład Redisem, albo bazą danych.

Dlaczego w ogóle rozwijać funkcje serwera przez BungeeCorda? Na pierwszy rzut oka wydaje się on integralny dla wszystkich serwerów i graczy, to przecież tak nie jest. Gdy sieć nam urośnie i będzie potrzebowali stawiać kolejne instancje BungeeCorda to już nie będzie to żadna integracja. Będziemy wtedy musieli synchronizować te dane między instancjami.

BungeeCord ma okrojoną obsługę pakietów (istnieje jedynie logowanie/scoreboardy/teleportacja/itp), przez co jesteśmy bardzo ograniczeni w możliwościach operowania na kliencie. No chyba, że samemu chcemy pisać pakiety. Dodatkowo BungeeCord nie posiada całej logiki gry, więc to też utrudnia robienie wielu rzeczy.

BungeeCord jest proxy, więc nie może bezpośrednio operować na serwerze. Przykładem mogą tu być pirackie serwery i system logowania. Mamy sobie taki /helpop, ale przecież Bungee nie wie czy ten admin na serwerze jest zalogowany, czy nie. Gdyby tak nie było to nie wiadomo czy jest to rzeczywiście ta osoba. Ryzykujemy wyciekiem poufnych informacji do osób które nie posiadają (a przynajmniej nie powinny mieć) do nich dostępu.

Dlatego BungeeCord jest najlepiej zostawić do celów wyświetlania serwera na liście serwerów (pingowanie), obsługa jakichś rzeczy od proxy, typu kicki i połączenia, oraz zarządzanie serwerami. Całą resztę najlepiej pisać na Bukkicie/Spigocie i synchronizować te dane przykładowo bazą danych i/lub Redisem, albo jakimś innym systemem.

Co do waszego pytania Towarzyszu to wszystko zależy jakiej technologii użyjecie. Przykładowo używając pub/sub Redisa można wysyłać wiadomości helpop. Przy wykonaniu komendy /helpop publikujesz do Redisa wiadomość gdzie zawierasz kto to napisał i jaką treść. Wtedy każdy z serwerów musi taką wiadomość subskrybować, jeżeli nadejdzie to loopujesz wszystkich graczy z jakimś tam uprawnieniem i wysyłasz im wiadomość tego helpopa.

Z /msg będzie trochę trudniej, bo wiadomości w Redis nie można edytować czy coś. Można zrobić tak, że serwer publikuje wiadomość, a następnie serwer na którym gra gracz odbiorca wiadomości publikuje wiadomość zwrotną o sukcesie wysłania prywatnej wiadomości.

[ciach] ~Ixidi

Wie ktoś może dlaczego gdy wgram plugin BMSG to gdy mam * to pisze że nie mam permisji, jakieś permsje dla bungee czy jak?
 

Edytowane przez Ixidi
Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176129
Udostępnij na innych stronach

  • 0
Godzinę temu, XXXXXXXXXX napisał:

Wie ktoś może dlaczego gdy wgram plugin BMSG to gdy mam * to pisze że nie mam permisji, jakieś permsje dla bungee czy jak?

W uprawnieniach BungeeCord nie ma systemu gwiazdek, więc jak zrobicie plugin.*, to nie będziecie mieli wszystkich uprawnień od plugin.

Godzinę temu, XXXXXXXXXX napisał:

Ale co ty mi tu piszesz nie pojebało Cię?

Trollujecie czy udajecie... buraku... Czy ja was obraziłem?

Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176131
Udostępnij na innych stronach

  • 0
5 godzin temu, XXXXXXXXXX napisał:

[ciach] ~Ixidi

Wie ktoś może dlaczego gdy wgram plugin BMSG to gdy mam * to pisze że nie mam permisji, jakieś permsje dla bungee czy jak?
 

a czy ty sie dobrze czujesz?

Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176177
Udostępnij na innych stronach

  • 0
Godzinę temu, XXXXXXXXXX napisał:

wie ktoś może jak dodać permisje dla gracza na serwerze bunge

W pliku konfiguracyjnym config.yml - masz to pokazane na przykładzie md_5 - założę, się że przed napisaniem tego posta nawet tam nie zajrzałeś...

Odnośnik do komentarza
https://skript.pl/temat/26747-bungee-helpop-i-msg-plugin/#findComment-176223
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...