Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

JaszczuWezwanie - Najlepszy plugin na sprawdzanie cheaterów!


AdamGrzegorz

Rekomendowane odpowiedzi

Opublikowano

OD RAZU ZAZNACZAM IŻ JASZCZURG JEST MOIM DRUGIM NICKIEM, JEST TO WYKONANE W 100% PRZEZEMNIE I NIE ZNAJDZIECIE TAKIEGO INNEGO W INTERNECIE. DZIĘKUJE.


 


 


 


JASZCZUWEZWANIE1.0.2


 


 


Czy denerwowało Cię kiedyś to, że gdy chciałeś sprawdzić cheatera musiałes wykonywać wiele czynności naraz? Teleportoawanie


użytkownika w określone miejsce, potem spamienie na chacie że gracz został wezwany. Do tego gracz może się wylogować i nic o tym nie wiesz, albo może uciec na spawn komendą /spawn ...


 


Ułatwiłem Ci robotę, wystarczy że wpiszesz /wezwij <online gracz> i po kłopocie, możesz go już sprawdzać, i nie martw się - nie ucieknie komendami, i gdy wyloguję się, zabije go i napisze na chacie globalnym. 


 


Jeżeli uznałeś że gracz jest czysty, wpisz po prostu /czysty <sprawdzany gracz> i gracz zostanie przeteleportowany w miejsce w którym ostatnio był. Wygodne, prawda?


 


Pamiętaj że możesz ustawić miejsce teleportowania gracza po /wezwij, wystarczy wpisać /wezwanie-ustaw tam gdzie chcesz by teleport miał następować!


 


Ah, a do tego spory szereg konfiguracji w config.yml!


Oto on!




Wiadomosci:
Wezwanie: '&8[&4WEZWANIE&8] &4{WEZWANY}&c zostal wezwany na ts3: &4{TEAMSPEAK}&c
przez &4{SPRAWDZAJACY}&c!'
Informacje: '&cZostales wezwany w celu sprawdzenia czy posiadasz niedozwolone modyfikacje,
pamietaj aby sie nie wylogowywac w tym czasie.'
Logout: '&cGracz {WEZWANY} wylogowal sie podczas wezwania na ts3!'
Czysty: '&aOkazalo sie, ze jestes czysty. Mozesz dalej smialo grac na naszym serwerze!
Dziekujemy za wspolprace! :)'
Cheater: '&cUznano, ze jestes &4cheaterem&c!'
Konfiguracja:
TeamSpeak: ts.mojserwer.pl
Zapisy:
lokacja:
x: 0
y: 75
z: 0
lokacja-wezwany:
AdamGrzegorz:
x: 0.1765304070592967
y: 68.015625
z: -0.4564268699203015
Sprawdzani:
AdamGrzegorz:
sprawdzanie: false
 


 


 


> Wszystkie komendy <


 


 


/wezwij <online gracz>


 


/czysty <sprawdzany gracz>


 


/cheaty <sprawdzany gracz>


 

 


/wezwanie-ustaw


 


/wezwanie-reload


 


> Uprawnienia <


 


 


jaszczuwezwanie.bypass 


(jeżeli posiadasz to uprawnienie, to nie można Cię wezwać)


 


jaszczuwezwanie.ustaw


 


jaszczuwezwanie.wezwij


 


jaszczuwezwanie.czysty


 


jaszczuwezwanie.cheaty


 


jaszczuwezwanie.reload


 


> Download <


 


nima, bo aż wstyd

 


 


> Skan <


 


ps: ten kod to rak

 


 


 


 


 


 


Pozdrawiam :)


Moja oficjalna strona! :)

http://socketbyte.pl/ 

  • Odpowiedzi 52
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Podoba mi się, przyda się na serwer HardCore/EasyHardCore.

 

Podasz przykładowy config w spoilerze?

 

@AdamGrzegorz

Opublikowano

nie zrypałeś przypadkiem z tym configiem?

CraftPlayer{name=AdamGrzegorz}: 

Myślałem że jakiś ciekawy anty-cheat, a tu tylko kolejne gie do tepania graczy ;(

Nic ciekawego ;/

­

1438614356923701010629.png

 

Opublikowano

@GotoFinal

Nie, tak ma być :) Działa praktycznie tak samo - a nawet lepiej.

 

Ciekawy antycheat? Wgraj NoCheatPlus a nie marudzisz... jest najlepszy. 

lepiej? xD niby w czym lepiej, właśnie jest ostro zrypane....

Zapisuj normlanie po nicku, a nie po graczu, zmienią kiedyś toString-a na jakiegoś większego i sobie plugin nie poradzi albo zapisze jakąś dziwną ścieżkę za każdym razem inną.

 

nie pisze że NoCheatPlus jest zły, tylko że dalej nie widze sensu w takich nic nie robiących pluginach.

­

1438614356923701010629.png

 

Opublikowano

@GotoFinal 

dobrze dobrze koksie.

Nie podoba Ci się? Nie musisz używać. Jestem pewny że komuś się przyda - a to jest najważniejsze.

 

W następnej aktualizacji i tak chce sporo zmienić (pod względem zapisu, optymalizacji i klas, nie funkcje widocznie dla gracza) więc będzie lepiej.

 

 

PS: Nie każdy zaczyna od najbardziej zaawansowanych rzeczy - kiedyś wielcy informatycy zaczynali od bardzo prostych rzeczy :)

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

pomijając że był taki plugin na forum (kodu nie sprawdzałem bo po jakiego nic tam ciekawego nie znajdę )<był taki plugin że teleportuje gracza na jakieś tam miejsce bla bla> ,

http://www.mpcforum.pl/topic/1326115-dl-17-checkplayer-sprawdz-gracza-czy-ma-cheaty/

nie piszę że kod został przekopiowany , ale sama idea pluginu jakże twórcza >

...

co do tego co zrobiłeś to raczej nie jest to nic przydatnego :\ 2 komendy do teleportacji :| ?? co to da ??

.przykładowo teleportujesz gracza na za pomoca tej twojej komendy i co dalej , grzecznie się pytasz czy posiada jakies wspomagacze, pewnie zaraz wyskoczysz z tekstem że grzecznie prosisz o przesłanie SS z gry ale jak to ma się do ułatwienia zadania adminowi ?? jedynie go dodatkowo obciąża głupia , żmudna i bezsensowną robotą ...

 

i napiszę <wsumie to przekopiuje > to co napisałem w innym temacie z podobnym czymś*
 

bezsensowny plugin :/ po co sobie utrudniać zycie i reczenie wszystko sprawdzać :/ strata czasu

 

ja bym to widział nieco inaczej :

1. warto by było aby plugin współpracował z nocheat i gdy nocheatplus będzie wykrywało zaburzenia*  u jakiegoś gracza twój plugin powinien wkroczyć do akcji tzn najprościej rzecz ujmując ,

- sprawdzić czy gracz a nie jest w sąsiedztwie innego gracza

- sprawdzić czy gracz a nie jest w sąsiedztwie jakiegoś mob'a

- wysłać pakiety do gracza a z 1 mobem 1 Npc 1 przyjaznym potworem w niewielkim promieniu od gracza na jak najkrótszą chwilę (ale nie bezpośrednio przed graczem tylko po bokach i z tyłu)

- sprawdzić czy gracz ich zaatakował jeśli tak perm

 

ProtocolLib

citizens

 

trochę więcej roboty od tego co zrobiłeś ale wtedy ten plugin miał by sens plugin by był wtedy faktycznie użyteczny bo jak na razie eh

jak na razie jego skuteczność jest znikoma i to samo tyczy sie jego efektywności

 

oczywiście to jest jedna z możliwości można np. dodać ogolny stopień ostrzeżeń + utrudnienie do radaru , automatyczne bany ....

 

skoro się uczysz nie boj się stawiać sobie wyzwań (nie musi ci od razu wyjść) ale jak masz zamiar marnować czas na pisanie pluginów tak małych (nie jest to wprawdzie Hello World ) to warto przysiąść trochę dłużej i  zrobić coś większego ,

potem wstawiasz na forum (ale nie jako gotowy plugin bla bla) aby ktoś ci powiedział co żle robisz w kodzie ,np dostaniesz konstruktywny opierdziel od GotoFinal

Opublikowano

Wszystko ladnie wszystko pieknie  ALE! :D

            Main.getInstance().getConfig().set("Sprawdzani." + czysty + ".sprawdzanie", Boolean.valueOf(false));
            int X = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".x");
            int Y = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".y");
            int Z = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".z");

Nie mozesz za kazdym razem pobierac z CONFIGU ! zrob sobie mapke w ktorej trzymasz lokacje 

 

Tak samo tutaj 

           Bukkit.broadcastMessage(ChatColor.GREEN + Main.getInstance().getConfig().getString("Wiadomosci.Czysty").replace("&", "§"));

Tez musisz zrobic sobie mapke z wiadomosciami :D Pobierasz tylko raz przy ladowaniu pluginu i potem tylko z mapki pobierasz !

mca.png
Opublikowano

Wszystko ladnie wszystko pieknie  ALE! :D

            Main.getInstance().getConfig().set("Sprawdzani." + czysty + ".sprawdzanie", Boolean.valueOf(false));
            int X = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".x");
            int Y = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".y");
            int Z = (int)Main.getInstance().getConfig().getDouble("Zapisy.lokacja-wezwany." + czysty.getName() + ".z");

Nie mozesz za kazdym razem pobierac z CONFIGU ! zrob sobie mapke w ktorej trzymasz lokacje 

 

Tak samo tutaj 

           Bukkit.broadcastMessage(ChatColor.GREEN + Main.getInstance().getConfig().getString("Wiadomosci.Czysty").replace("&", "§"));

Tez musisz zrobic sobie mapke z wiadomosciami :D Pobierasz tylko raz przy ladowaniu pluginu i potem tylko z mapki pobierasz !

czyli zamiast z mapki będzie pobierał z mapki?

Bardzo ciekawy pomysł, możesz mi wyjaśnić w którym miejscu pobieranie z mapki jest wydajniejsze od pobierania z mapki?

 

raczej bym się przyczepił do wywoływania 

 Main.getInstance().saveConfig();

co komendę, ale tutaj może to mieć sens, by nie stracić lokacji na crashu.(ale można by ograniczyć laga tworząc osobne pliki dla każdego gracza, ale raczej nigdy nie będzie sprawdxanych 500 graczy na raz by to miało jakieś znaczenie.)

­

1438614356923701010629.png

 

Opublikowano

Jedna klasa, biippp -> ŹLE!

- Równie dobrze mogłeś to wjebać do Main.

Jedna wielka żmija z warunków if/else, biippp -> ŹLE!

- Oczywiście że da się to skrócić o wiele.

Zapis do yaml, a jak wyłączy serwer podczas sprawdzania automatyczna śmierć dla sprawdzanego.

- Wybaczam, ale dodaj jakieś zabezpieczenie.

.replace("&", "§")

AŁĆĆ!

- Kolorów w minecraft nie masz całego alfabetu, a tylko HEX, czyli 16. [0-F]. Jest od tego przygotowana metoda już w bibliotece Bukkita.

Gdyby to zrobić obiektowo, i dodać takie rzeczy jak dane sprawdzającego, sprawdzanego, data zdarzenia, powód itp. Prezentowało by się dobrze.

Przepisz to na UUID, bo za 3 dni wchodzi zmiana nicku w życie.

Opublikowano

czyli zamiast z mapki będzie pobierał z mapki?

Bardzo ciekawy pomysł, możesz mi wyjaśnić w którym miejscu pobieranie z mapki jest wydajniejsze od pobierania z mapki?

 

raczej bym się przyczepił do wywoływania 

 Main.getInstance().saveConfig();

co komendę, ale tutaj może to mieć sens, by nie stracić lokacji na crashu.(ale można by ograniczyć laga tworząc osobne pliki dla każdego gracza, ale raczej nigdy nie będzie sprawdxanych 500 graczy na raz by to miało jakieś znaczenie.)

­

 

Chodzi mi o to, ze lokacje powinien wstawic do Mapki a nie pobierac za kazdym razem z cfg :)

mca.png
Opublikowano

Chodzi mi o to, ze lokacje powinien wstawic do Mapki a nie pobierac za kazdym razem z cfg :)

dużo to nie zmieni, świata i tak nie zapisuje, a tak to Location to tylko obiekt z kilkoma zmiennymi, tworzenie takiego obiektu nie jest wymagającą operacją, więc to nie robi prawie żadnej różnicy ;) A przy aktualnym niezbyt dobrym kodzie tylko dorobiło by roboty.

Tu się nie ma co martwić ;)

Rozumiem jak by tam robił uje-muje z tymi danymi, ale one są tylko do stworzenia lokacji.

 

A efekt byłby pewnie zyskiem kilkunastu nanosekund, nie ma co się martwić tutaj.

­

1438614356923701010629.png

 

Opublikowano

Kazdy miliiiiiiiiiiisekundy sa wazne ! xD

mili może i tak, ale nano juz nie ;P

I jak byś chciał oszczędzać każdą nanosekundę, to każdy plugin by trzeba było pisać nie-obiektowo,  bo jednak obiekty to tylko większa ilość metod to wywołania, większa ilość klass do załadowania ;) Same starty!

Bardziej liczy się wygoda, a czas trzeba utrzymać w jakiś sensownych granicach, no chyba że nasz kod wykonywany jest co tick w głównym wątku, wtedy tak, trzeba zacząć się martwić.

 

A tak to tutaj, po za beznadziejną strukturą kodu, to jest ok :P

No i jeszcze te replace z kolorami... nie dość że nie poprawne, to też wolniejsze, i to znacznie :D metoda z ChatColor jest chyba z 20x szybsza, już nie pamiętam ile, ale liczyłem kiedyś.

­

1438614356923701010629.png

 

Opublikowano

Mam w sumie jeszcze jedno pytanie:

 if (sender.hasPermission("jaszczuwezwanie.ustaw"))
 {
   if ((sender instanceof Player))
   {
    //twój kod
   }
}

Dlaczego najpierw sprawdzasz czy sender ma uprawnienia, a dopiero potem czy to gracz? Czyżby konsola mogła mieć uprawnienia o.0?

I dlaczego do cholery, nie użyjesz:

if ((sender instanceof Player))

Już na początku metody z komendą, skoro i tak potem ciągle to sprawdzasz w każdej komendzie?

Opublikowano

Mam w sumie jeszcze jedno pytanie:

 if (sender.hasPermission("jaszczuwezwanie.ustaw"))
 {
   if ((sender instanceof Player))
   {
    //twój kod
   }
}

Dlaczego najpierw sprawdzasz czy sender ma uprawnienia, a dopiero potem czy to gracz? Czyżby konsola mogła mieć uprawnienia o.0?

To nie jest nic "złego", i o dziwo, konsola może mieć uprawnienia :D 

public abstract class ServerCommandSender implements CommandSender {
    private static PermissibleBase blockPermInst;
    private final PermissibleBase perm;

    public ServerCommandSender() {
        if(this instanceof CraftBlockCommandSender) {
            if(blockPermInst == null) {
                blockPermInst = new PermissibleBase(this);
            }

            this.perm = blockPermInst;
        } else {
            this.perm = new PermissibleBase(this);
        }

    }

    public boolean isPermissionSet(String name) {
        return this.perm.isPermissionSet(name);
    }

    public boolean isPermissionSet(Permission perm) {
        return this.perm.isPermissionSet(perm);
    }

    public boolean hasPermission(String name) {
        return this.perm.hasPermission(name);
    }

    public boolean hasPermission(Permission perm) {
        return this.perm.hasPermission(perm);
    } 
public class CraftConsoleCommandSender extends ServerCommandSender implements ConsoleCommandSender {

­

1438614356923701010629.png

 

Opublikowano

To nie jest nic "złego", i o dziwo, konsola może mieć uprawnienia :D

public abstract class ServerCommandSender implements CommandSender {
    private static PermissibleBase blockPermInst;
    private final PermissibleBase perm;

    public ServerCommandSender() {
        if(this instanceof CraftBlockCommandSender) {
            if(blockPermInst == null) {
                blockPermInst = new PermissibleBase(this);
            }

            this.perm = blockPermInst;
        } else {
            this.perm = new PermissibleBase(this);
        }

    }

    public boolean isPermissionSet(String name) {
        return this.perm.isPermissionSet(name);
    }

    public boolean isPermissionSet(Permission perm) {
        return this.perm.isPermissionSet(perm);
    }

    public boolean hasPermission(String name) {
        return this.perm.hasPermission(name);
    }

    public boolean hasPermission(Permission perm) {
        return this.perm.hasPermission(perm);
    } 
public class CraftConsoleCommandSender extends ServerCommandSender implements ConsoleCommandSender {

­

Okej, teraz to mnie zagiąłeś :D

@topic

Pomysł i wykonanie pojawił się już na forum z tego co widzę, więc dodaj coś nowego, i popraw w kodzie chociaż to co spowoduje jakiekolwiek lepsze działanie go, bo jest straszny. Chociaż po obejrzeniu z ciekawości 2 poradników tego Kamilkime uważam że są ludzie potrafiący mniej niż Ty C:

Opublikowano

Po co kolejny plugin piszesz, ktory juz jest na internecie? (poprzedni plugin - stoneiarki - sa w necie, teraz checkplayer, zrob jeszcze AntiBota)
"najlepszy plugin" ahh ta skromnosc <3

public static Main instance;

hermetyzacja? Gdzie?

po co println w onEnable z prefixem, skoro mozna loggera i sam prefix dodaje?

gdzie jest komenda, ze gracz ma cheaty?

Opublikowano

@filippop1

Znowu ty...

"Po co println" k***a mać no do każdego szczegółu się musisz przyjebać...

Poza tym jebie mnie to czy taki plugin już jest, przynajmniej ja nie widziałem.

 

Jaka komenda że gracz ma cheaty? Mógłbyś wypowiadać się jaśniej?

Jak ma cheaty, to niech go zbanuje i tyle...

Poza tym powiedz tak do Dzikiego (dev FunnyGuilds)

 

 

Po co kolejny plugin piszesz, ktory juz jest na internecie? 

 

Przyjebałeś się po prostu do mnie bo... nie wiem, mniej umiem od ciebie ? i musisz wszystko co robi ktoś kto jeszcze sporo nie umie hejtować? Zgrywasz koksa po prostu i tyle...

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

@filippop1

Znowu ty...

"Po co println" k***a mać no do każdego szczegółu się musisz przyjebać...

Poza tym jebie mnie to czy taki plugin już jest, przynajmniej ja nie widziałem.

 

Jaka komenda że gracz ma cheaty? Mógłbyś wypowiadać się jaśniej?

Poza tym powiedz tak do Dzikiego (dev FunnyGuilds)

 

Przyjebałeś się po prostu do mnie bo... nie wiem, mniej umiem od ciebie ? i musisz wszystko co robi ktoś kto jeszcze sporo nie umie hejtować? Zgrywasz koksa po prostu i tyle...

Aktualnie, mówi do Ciebie, więc zareaguj normalnie.

Co do printów, też bym o tym pisał, ale już chciałem sobie oszczędzić właśnie takiego wjechania na moją osobę.

Ale co do pisania takiego samego pluginu, to jest sens, bo może poprzedni projekt będzie porzucony, albo po prostu ten będzie lepiej rozwijany.

Opublikowano

@filippop1

Znowu ty...

"Po co println" k***a mać no do każdego szczegółu się musisz przyjebać...

Poza tym jebie mnie to czy taki plugin już jest, przynajmniej ja nie widziałem.

 

Jaka komenda że gracz ma cheaty? Mógłbyś wypowiadać się jaśniej?

Jak ma cheaty, to niech go zbanuje i tyle...

Poza tym powiedz tak do Dzikiego (dev FunnyGuilds)

 

Przyjebałeś się po prostu do mnie bo... nie wiem, mniej umiem od ciebie ? i musisz wszystko co robi ktoś kto jeszcze sporo nie umie hejtować? Zgrywasz koksa po prostu i tyle...

Jaka spina XDDDDD

Dzik ze swoimi gildiami (tak, nie frakcje) byl pierwszy wiec? Poza tym to jest duzo wiekszy projekt.

Eh... #mpc mowie co do poprawy, zeby plugin dobrze dzialal, a tu bol dupy

Polecam:

hi_8pcxVl2KFjiOsLaFhkZNaQWpZfE6thyo,w207

to jak sprawdzam gracza i ma cheaty to jego lokalizacja zostanie nadal tam, tak?

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...