Skocz do zawartości


Zdjęcie

Minecraft 1.8 i jCraft UUID System


  • Zaloguj się, aby dodać odpowiedź
31 odpowiedzi w tym temacie

#1 Kodek

Kodek

    jCraft Head Admin

  • Weteran
  • 1387 postów
  • KodekPL

Napisano 01 April 2014 - 13:34

Aktualnie każdy użytkownik ma swoją unikalną nazwę za pomocą, której każdy odnosi się do danego gracza. Z wejściem wersji MC 1.8 będziemy bliżej systemu pozwalającego zmienić nazwę gracza. Piszę ten temat ponieważ jest to poważny problem, z którym głównie ja muszę sobie jakoś poradzić.

 

Ze względu na to, że identyfikowanie graczy polega aktualnie na użyciu ich nicku wszystko jest zapisane w ten sposób. Wszystkie cuboidy, LWC, konta iConomy, ekwipunki między-światowe, permisje, zgrupowania, łóżka, system banów i wiele innych używają nazw graczy do identyfikacji.

Powoduje to, że po wyjściu wersji Minecraft 1.8 wszystko to będzie nieaktualne i nieużywalne. Wniosek jest prosty, trzeba wszystko zaktualizować i pomimo że zabierze mi to masę czasu to nie jest to dla mnie wielki problem. Jednak ze względu na zewnętrzne pluginy, których los nie zależny ode mnie, przejście na nową wersję może potrwać dodatkowo dłużej.

 

Pomimo, że jest to problem, nie jest to powodem, dla którego piszę temat. Powodem jest identyfikowanie użytkowników przez administrację oraz graczy. Jeśli każdy może wejść używając dowolnego nicku wymagane będzie stworzyć wewnętrzny system, do którego każdy będzie mieć dostęp i będzie mógł sprawdzić kto jest kim. Nie możemy jednak polegać na unikalnych kluczach identyfikacyjnych (UUID), ponieważ nikt nie zapamięta ciągu znaków w stylu: 069a79f444e94726a5befca90e38aaf5.

 

Chcę aby każdy mógł posiadać jeden identyfikacyjny nick tak jak teraz, który będzie przypisany do unikalnego identyfikatora (UUID), ale używany będzie realny nick, który jest możliwy do zmiany w każdej chwili. Oznacza to, że każdy gracz będzie posiadać dwie nazwy gracza oraz unikalny klucz (UUID), który będzie widoczny dla każdego gracza na serwerze za pomocą komendy. Pozwoli to łatwiej rozpoznawać kto ukrywa się pod widoczną nazwą gracza.

 

Ponieważ aktualnie nie da się zmieniać nazwy gracza, ale można pozyskać identyfikacyjny klucz (UUID) gracza, to każdy kto wszedł chociaż raz na serwer zostanie zapisany do naszej wewnętrznej bazy z unikalnym kluczem i identyfikacyjną nazwą gracza, jaką posiada teraz. Każdy nowy gracz w przyszłości, który nigdy nie był na serwerze otrzyma unikalną nazwę gracza na podstawie pierwszej nazwy z jaką wszedł na serwer. To jest moje rozwiązanie, dołączam

By zobaczyć linki musisz się zalogować lub zarejestrować

jeśli ktoś się zgubił w tym jak powinien działać system.

 

Jeśli macie lepszy pomysł to chciałbym go znać. Jeśli chcecie zapoznać się lepiej z tym jak Bukkit będzie obsługiwać unikalne klucze w przyszłości, zalecam przeczytać

By zobaczyć linki musisz się zalogować lub zarejestrować

. Jeśli nikt nie przedstawi lepszego pomysłu niż mój, to najpewniej zacznę przepisywać pluginy gdy otrzymamy wersję Minecraft 1.7.6+.


  • GreyHavens, Damianex1234 i __lkjhgfdsa__ lubią to

craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 Theo

Theo

    Wyjadacz

  • Użytkownik+
  • 1131 postów
  • TheoMarque

Napisano 01 April 2014 - 14:35

Wsparłbym system dwoma dodatkowymi zabezpieczeniami:
- pierwsza rzecz to zapobiegniecie podszywaniu się czyli jeśli gracz miał nick MashuuMidori, zmieni sobie nick na Narina98 to co wtedy? System powinien automatycznie odrzucać taki nick poniewaz taki już jest w naszej "wewnętrznej bazie" z komunikatem "nick zarezerwowany, wybierz inny nick".
- druga rzecz to czas aktualizacji nicku, myślę że powinien być wyświetlany stary nick jeszcze 24h od jego zmiany. Zapobiegnie to randomowemu zmienianiu nicku co chwile i robieniu bałaganu.

Zmieni się tez regulamin serwera i konieczność logowania wszystkiego tekstowo - chodzi o to że dowód w postaci screenu nie bedzie już dowodem.

Rozwiązanie alternatywne to ignorowanie nazwy zmienionego nicku (zawsze brany i wyświetlany tylko ten z którym weszło się pierwszy raz)

CO w takim razie z banami? Domyslam sie ze pociągniesz ich UUID "offline" i odpowiednio banlista działać będzie.
  • quxxo lubi to
exRYBP0.png

#3 Pawełek

Pawełek

    Ekspert

  • Weteran
  • 1474 postów
  • Evolveye#7100
  • Evolveye

Napisano 01 April 2014 - 14:45

Jestem przeciwny ignorowaniu nowego nicku gdyż sam chcę sobie zmienić, a o starym (tj obecnym) zapomnieć

 

Co do tematu to jest to najleszę rozwiązanie



#4 Likore

Likore

    Znawca

  • Użytkownik+
  • 241 postów
  • Likore

Napisano 01 April 2014 - 14:54

Screen dalej może być dowodem, jeśli będzie zawierał zdjęcie z komendą (również wykaz logów).


X2YBzqf.png
Lass mich deine seele dem herrscher der finsternis opfern.
Post wyraża opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemuw dniu jutrzejszym.
Autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.


#5 Yunius

Yunius

    Uczony

  • Użytkownik+
  • 522 postów
  • Yunius

Napisano 01 April 2014 - 14:55

Wsparłbym system dwoma dodatkowymi zabezpieczeniami:
- pierwsza rzecz to zapobiegniecie podszywaniu się czyli jeśli gracz miał nick MashuuMidori, zmieni sobie nick na Narina98 to co wtedy? System powinien automatycznie odrzucać taki nick poniewaz taki już jest w naszej "wewnętrznej bazie" z komunikatem "nick zarezerwowany, wybierz inny nick".
- druga rzecz to czas aktualizacji nicku, myślę że powinien być wyświetlany stary nick jeszcze 24h od jego zmiany. Zapobiegnie to randomowemu zmienianiu nicku co chwile i robieniu bałaganu.

Zmieni się tez regulamin serwera i konieczność logowania wszystkiego tekstowo - chodzi o to że dowód w postaci screenu nie bedzie już dowodem.

Rozwiązanie alternatywne to ignorowanie nazwy zmienionego nicku (zawsze brany i wyświetlany tylko ten z którym weszło się pierwszy raz)

CO w takim razie z banami? Domyslam sie ze pociągniesz ich UUID "offline" i odpowiednio banlista działać będzie.

 

Pierwsza i druga rzecz jest niemożliwa(?) z racji tego, że zmiana nicku leży po stronie mojangu, a nie serwera.



#6 Kodek

Kodek

    jCraft Head Admin

  • Weteran
  • 1387 postów
  • KodekPL

Napisano 01 April 2014 - 15:01

- pierwsza rzecz to zapobiegniecie podszywaniu się czyli jeśli gracz miał nick MashuuMidori, zmieni sobie nick na Narina98 to co wtedy? System powinien automatycznie odrzucać taki nick poniewaz taki już jest w naszej "wewnętrznej bazie" z komunikatem "nick zarezerwowany, wybierz inny nick".

Rzeczywiście mogłyby być nicki, które moglibyśmy blokować i nie wpuszczać na serwer osób z takimi wypadkami. Głównie zabronić też nadawania sobie nicku, który ktoś ma zdefiniowany jako "identyfikacyjną nazwę".

 

 

- druga rzecz to czas aktualizacji nicku, myślę że powinien być wyświetlany stary nick jeszcze 24h od jego zmiany. Zapobiegnie to randomowemu zmienianiu nicku co chwile i robieniu bałaganu.

Co do tego to nie zrobimy dużo. Głównie dlatego, że nie wiemy jakie limity wprowadzi sam Mojang, a na pewno jakieś będą. Zapewne pojawi się blokada nadawania obraźliwych nazw, ale co z cooldown zmiany nicku, to musimy zobaczyć w przyszłości.

 

 

Zmieni się tez regulamin serwera i konieczność logowania wszystkiego tekstowo - chodzi o to że dowód w postaci screenu nie bedzie już dowodem.

Rozwiązanie alternatywne to ignorowanie nazwy zmienionego nicku (zawsze brany i wyświetlany tylko ten z którym weszło się pierwszy raz)

CO w takim razie z banami? Domyslam sie ze pociągniesz ich UUID "offline" i odpowiednio banlista działać będzie.

Gdy ktoś wchodzi na serwer wyświetlany jest komunikat o tym kto wszedł, można tam dorzucać UUID i jak ktoś pokazuje logi na dowód to zawsze można to znaleźć łatwiej, wystarczy że poda ten UUID i czas kiedy się to stało.

Nie mogę używać unikalnej nazwy gracza, ponieważ wszystkie inne pluginy będą używać tej którą można zmieniać.

Bany są obsługiwane przez MCBans i zakładam, że oni przekonwertują wszystko na UUID ze swojej strony.



#7 Theo

Theo

    Wyjadacz

  • Użytkownik+
  • 1131 postów
  • TheoMarque

Napisano 01 April 2014 - 15:03

Ale serwer wpuszcza lub nie gracza - tak samo jak ban lista, przecież bany nie sa po stronie Mojangu, tak samo kickniecie kogos kto wchodzi z takim samym nickiem jaki już mamy w swojej bazie - jest normalne.
Sęk w tym że jak będzie chciała wejść nowa z nickiem Paweł a w naszej bazie już Paweł będzie, to robi się problem. Bo granie dwóch użytkowników o nicku Paweł będzie problematyczne społecznie. Albo taką osobę odbijać z komunikatem "nick już jest zarezerwowany na tym serwerze, zmień nick na bardziej unikalny".

Ogólnie to może działać tylko po naszej stronie jaka nazwę tak naprawdę na czacie wyświetlimy. Przeciez nic nie stoi na przeszkodzie tłumaczyć UUID na nick zapisany w naszej bazie.

Jestem przeciwny ignorowaniu nowego nicku gdyż sam chcę sobie zmienić, a o starym (tj obecnym) zapomnieć

Przecież będziesz mógł zmienić. Chodzi tylko o rozwiązanie problemu "kto jest kto" - może akceptacja zmiany wyświetlanego nicku przez moderację?
exRYBP0.png

#8 Kodek

Kodek

    jCraft Head Admin

  • Weteran
  • 1387 postów
  • KodekPL

Napisano 08 April 2014 - 16:24

System poglądu UUID jest już gotowy i najpewniej wprowadzę go przy najbliższym restarcie. Aktualnie nie ma on żadnego zastosowania dla was, bo nie da się jeszcze zmienić nazwy gracza i będzie wymagał aktualizacji, gdyż Bukkit nie oferuje jeszcze wszystkich elementów potrzebnych do pełnej obsługi UUID graczy. Także jeszcze trochę pracy nad systemem identyfikacji i dni i dni pracy nad resztą pluginów, które nie obsługują jeszcze UUID.

 

Jutro pojawi się Minecraft 1.7.6, który oficjalnie wprowadza elementy, które obsługują zmianę nazwy gracza, także Bukkit może oficjalnie wprowadzi elementy API pozwalające na obsługę tego. Miejmy wtedy nadzieję, że pluginy, które wykorzystuje serwer nie napisane przeze mnie zostaną zaktualizowane przed pojawieniem się Minecraft 1.8.

 

Wprowadzenie teraz systemu identyfikacji UUID jest bardzo ważne, bo gdy pojawi się opcja zmiany nazwy (najpewniej Minecraft 1.8), to zmiana nicku spowoduje, że stracę możliwość rozpoznania kto jest kim. Dzięki temu, że teraz sporządzę całą bazę z dopasowanym oryginalnym nickiem i UUID, będę mógł aktualizować pozostałe pluginy, jeśli nie zdążę zrobić tego przed wyjściem Minecraft 1.8 lub wprowadzeniem opcji zmiany nicku.

 

Aktualny system dostępny pod komendą /uuid powinien działać poprawnie i nie zmieni swojej postaci po wyjściu Minecraft 1.8. Za pomocą komendy będziecie mogli podejrzeć UUID gracza, identyfikator gracza oraz każdy nick z jakim pojawił się dany gracz na serwerze jCraft. Mały pogląd dla ciekawskich

By zobaczyć linki musisz się zalogować lub zarejestrować

.


  • Narina lubi to

#9 Pelikanos94

Pelikanos94

    Nowy

  • Użytkownik
  • 72 postów
  • Barteek2010

Napisano 08 April 2014 - 17:07

Można też wprowadzić jedynie jednorazową możliwość zmiany nicku jcrafcie. Po wersji 1.8 gracz o nicku maciek zmienia nick na janusz i jezeli serwer nie pamieta wczesniejszych zmian nicku to przepuszcza gracza, a jego stary, jak i nowy nick zapisuje pod konkretnym uuid. Po jakims czasie gracz janusz zmienia nick na tadeusz i wchodzi na jcrafta. Wtedy serwer odkrywa ze to jego 3ci zanotowany nick i wyrzuca go. Gracz wraca do starego nicku i zglasza cos w rodzaju modreq z prosba o zmiane nicku i administracja rozpatrza wniosek, w tym wypadku pozytywnie. Z bazy nickow usuwany jest pierwszy zarejestrowany nick gracza i dodany nowy. Od tej pory gracz tadeusz przez 24/48h bedzie wyswietlany jako np. tadeusz aka. janusz, lub jego nick bedzie kolorowy co oznaczy ze zmienial nick w ciagu ostatnich 48h i jezeli ktos chce wiedziec kto to jest, bedzie musial uzyc komendy /uuid ktora zadziala tak jak zaprezentowal kodek.

tak, wiem, duzo slowa 'nick'
 

#10 Pawełek

Pawełek

    Ekspert

  • Weteran
  • 1474 postów
  • Evolveye#7100
  • Evolveye

Napisano 08 April 2014 - 17:42

Ten pomysł jakoś mi nie pasuje. A co jeśli gdy 1 raz zmianie nick wejdę na serwer zobaczyć czy jest taki jaki chciałem, i mam 1 literkę źle?



#11 Pelikanos94

Pelikanos94

    Nowy

  • Użytkownik
  • 72 postów
  • Barteek2010

Napisano 08 April 2014 - 17:53

Sprawdzisz sobie na stronie mojangu. Nie potrzeba specjalnie wchodzić na serwer. Poza tym jak będzie blokada 24 godzinna to też szybko sobie nicku nie zmienisz na lepszy.


 

#12 Pawełek

Pawełek

    Ekspert

  • Weteran
  • 1474 postów
  • Evolveye#7100
  • Evolveye

Napisano 08 April 2014 - 18:20

raczej będzie tygodniowa ale tak czy siak jak wejdę ze złym nickiem to lipa. Poco mam wchodzić na mojang jak "mam pewność", że nick jest poprawny

 

Osobiście nie zatwierdzam tego pomysłu



#13 Pelikanos94

Pelikanos94

    Nowy

  • Użytkownik
  • 72 postów
  • Barteek2010

Napisano 08 April 2014 - 18:32

tylko problem w tym iż zmieniasz nick na stronie mojangu ._. (lub minecrafta, gdzie też możesz to sprawdzić)


 

#14 Pawełek

Pawełek

    Ekspert

  • Weteran
  • 1474 postów
  • Evolveye#7100
  • Evolveye

Napisano 08 April 2014 - 18:53

Tak ale jak zmienię i będę mieć go przed oczyma czcionką 20 pogrubioną to zwyczajnie i tak komuś może nie będzie się chciało sprawdzać czy jest wszystko ok, a wszystko wyjdzie po wejściu na serwer gdy ktoś się cb zapyta czy taki błąd jest celowy.



#15 Theo

Theo

    Wyjadacz

  • Użytkownik+
  • 1131 postów
  • TheoMarque

Napisano 08 April 2014 - 18:58

Pawela, nie szukaj rozwiązań swojej pierdołowatości.


exRYBP0.png

#16 Pelikanos94

Pelikanos94

    Nowy

  • Użytkownik
  • 72 postów
  • Barteek2010

Napisano 08 April 2014 - 19:08

Nie widzę najmniejszego problemu w sprawdzeniu nicku na singlu. Nie rozumiem po co komplikować sprawę i tworzyć chore dyskusje. Nie każdy jest taką sierotą, że nie umie poprawnie napisać swojego nicku. Przecież gdy człowieki zakładają konta w jakiejś innej grze mają tylko jedną szansę na podanie nazwy swojego bohatera, której będą używać przez resztę czasu, a jednak nikomu to nie przeszkadza.


 

#17 JASIO007

JASIO007

    Znawca

  • Użytkownik+
  • 311 postów
  • JASIO007

Napisano 09 April 2014 - 13:27

A czy nie da się zablokować zmiany nicku na serwerze?

Czyli, pod jakim nickiem się wbije po raz pierwszy, pod takim się gra, a zmiany może dokonać''tylko w wyjątkowych i uzasadnionych przypadkach'' admin.

Mojang chyba nie do końca przemyślał sprawę zmiany nazwy gracza.

Spamerzy , trolle  i osoby z ''dysfunkcją społeczną '' bardziej lub mniej zaawansowaną będą uciążliwi.



#18 Pawełek

Pawełek

    Ekspert

  • Weteran
  • 1474 postów
  • Evolveye#7100
  • Evolveye

Napisano 09 April 2014 - 13:38

Pawela, nie szukaj rozwiązań swojej pierdołowatości.

Jaki genius... Kto mówił o mnie

 

 

 Nie każdy jest taką sierotą, że nie umie poprawnie napisać swojego nicku.

 

Właśnie a np taki Przemek, który ma (chyba) z 7 lat to co?

(nie znasz Przemka (chyba))

 

btw nie ma sensu ciągnąć tego tematu dalej...

 

 

Mojang chyba nie do końca przemyślał sprawę zmiany nazwy gracza.

Spamerzy , trolle  i osoby z ''dysfunkcją społeczną '' bardziej lub mniej zaawansowaną będą uciążliwi.

Dlatego nicku nie będzie można zmieniać co 5 minut a co jakiś czas



#19 Ice_trooper

Ice_trooper

    Advanced Member

  • Użytkownik+
  • 297 postów
  • Ice_trooper

Napisano 09 April 2014 - 13:46

Niektórzy nie rozumieją co Kodek chce zrobić. Spieszę, więc z wyjaśnieniem:

1. Pluginy (MCBans, BlockActivity itp.) będą potrafiły rozpoznać kto co zrobił, ponieważ one będą posługiwać się, przy banowaniu lub zapisywaniu informacji, np. o zniszczonym bloku, UUID gracza. Plugin nie musi wiedzieć jak ktoś się nazywa (nick), tylko rozpoznawać UUID.

2. Za to my jako Administracja musimy umieć potrafić rozpoznać jaka osoba za monitorem ukrywa się pod modyfikowanym nickiem. Wiadomo przecież, że nikt z nas nie będzie potrafił zapamiętać UUID jakiegoś gracza. Po to właśnie Kodek tworzy system jCraft UUID: plugin ten zapamiętuje trzy rzeczy: Nick_pierwotny(czyli taki, który przez plugin ani cokolwiek innego nie podlega zmianom; dzięki temu nickowi, każdy będzie mógł rozpoznać tego gracza), Nick_zmieniany (czyli ten nick, który się wyświetla na czacie jak i nad głową postaci; ten jest zmieniany na stronie Mojang), UUID (dzięki temu plugin zapisze UUID oraz jego nick wtedy kiedy wszedł pierwszy raz na serwer [te 2 dane będą ze sobą powiązane] oraz przy następnych logowaniach tego gracza [w międzyczasie gracz mógł zmienić nick] plugin będzie dopisywał do już znanych danych [UUID, Nick_pierwotny] Nick_zmieniany).

 

To samo co powiedziałem wyżej, jest na schemacie Kodeka (pierwszy post):

By zobaczyć linki musisz się zalogować lub zarejestrować


  • snickers111a lubi to
Pomogłem? Nie zapomnij o like'u ;]

 


#20 Kodek

Kodek

    jCraft Head Admin

  • Weteran
  • 1387 postów
  • KodekPL

Napisano 09 April 2014 - 14:07

System rozpoznawania graczy jest już na serwerze, pomimo tego że nie ma on teraz żadnego zastosowania dla graczy. Teraz pozostała masa pluginów, która wciąż działa zapisując dane na podstawie nazw graczy. Miejmy nadzieję, że twórcy nie-jcraftowych pluginów zaczną je również aktualizować.

 

Jeśli serwer nie zostanie kompletnie zaktualizowany do UUID przed pojawieniem się opcji zmiany nazwy gracza, to najpewniej serwer będzie musiał zostać wyłączony do czasu pełnej aktualizacji.


  • snickers111a lubi to