Skocz do zawartości

Pytanie

Użytkownik

Witam !

Objaśnił by mi ktoś jak zrobić licencje do pluginu Minecraft. Chodzi mi o to, że przed włączeniem się pluginu sprawdza on licencje (czy ip serwera jest w pliku .json na githubie) jeśli tak to plugin zostanie włączony, jeśli nie plugin zostanie wyłączony. 

Z góry dzieki za pomoc :)

Edytowane przez Xmon

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Użytkownik
  • 1

Przyda się to:  Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

i wtedy możesz zrobić plik na github'ie i z niego odczytywać, np. tak:

public String github_url = "https://github.com/.................."

public void onEnable(){
	JSONObject text = Json.getJson(github_url);
	if(!text.getBoolean(#.getConfig().getString("licencja"))){
		getServer().getPluginManager().disablePlugin(this);
		Bukkit.getLogger().info("Brak licencji!");
	}
}

i config.yml:

licencja: "jakis_tekst"

I plik .json:
 

{
	"jakis_tekst": true
}

Osobiście przydałoby się zaciemnić kod, aby nie można było usunąć licencji z kodu i normalnie korzystać :)

Mogłem się gdzieś pomylić (męczący dzień, czas spać).

Edytowane przez KrejzolekPRO

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
W dniu 13.04.2018 o 21:55, Xmon napisał:

Witam !

Objaśnił by mi ktoś jak zrobić licencje do pluginu Minecraft. Chodzi mi o to, że przed włączeniem się pluginu sprawdza on licencje (czy ip serwera jest w pliku .json na githubie) jeśli tak to plugin zostanie włączony, jeśli nie plugin zostanie wyłączony. 

Z góry dzieki za pomoc :)

ale pamiętaj że ominięcie takiej licencji to zawsze tylko chwila roboty... a dodatkowo utrudniasz używanie zwykłemu użytkownikowi co kupił ten plugin... bo nikt nie ma 100% uptime, VPS ci padnie i nagle nie mogą używać produktu który kupili.

Udostępnij tę odpowiedź


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

ale pamiętaj że ominięcie takiej licencji to zawsze tylko chwila roboty... a dodatkowo utrudniasz używanie zwykłemu użytkownikowi co kupił ten plugin... bo nikt nie ma 100% uptime, VPS ci padnie i nagle nie mogą używać produktu który kupili.

Pobierać dane z githuba, który nie zostanie wyłączony od tak, ewentualne dobre zakodowanie pluginu i dla "podpierdalaczy", którzy jedyne co potrafią to ukraść plugin i sprzedawać jako autorski rzecz staje się niewykonalna :v 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
Godzinę temu, KrejzolekPRO napisał:

Pobierać dane z githuba, który nie zostanie wyłączony od tak, ewentualne dobre zakodowanie pluginu i dla "podpierdalaczy", którzy jedyne co potrafią to ukraść plugin i sprzedawać jako autorski rzecz staje się niewykonalna :v 

github też nie ma 100% uptime i czasem pada na kilka chwil lub nawet godzin.

Można też pisać dla normalnych klientów co normlanie płacą i kupują razem z source code i mieć wszystko w dupie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
W dniu 13.04.2018 o 22:08, KrejzolekPRO napisał:

Przyda się to:  Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

i wtedy możesz zrobić plik na github'ie i z niego odczytywać, np. tak:

public String github_url = "https://github.com/.................."

public void onEnable(){
	JSONObject text = Json.getJson(github_url);
	if(!text.getBoolean(#.getConfig().getString("licencja"))){
		getServer().getPluginManager().disablePlugin(this);
		Bukkit.getLogger("Brak licencji!");
	}
}

i config.yml:

licencja: "jakis_tekst"

I plik .json:
 

{
	"jakis_tekst": true
}

Osobiście przydałoby się zaciemnić kod, aby nie można było usunąć licencji z kodu i normalnie korzystać :)

Mogłem się gdzieś pomylić (męczący dzień, czas spać).

Usuniecie licencji to chwila, tymbardziej ,że teraz są super-deobfuscatory pod te allatori itd.

do tego:

field prywatny i finalny

public String github_url = "https://github.com/.................."

do wylaczania pluginu mozesz uzyc JavaPlugin#getPluginLoader(), i co to za nowe uzywanie loggera i sprawdzania licencji :thinking:

Od pobierania adresu ip serwera masz Bukkit.getIp();

static java.lang.String	getIp()	
Get the IP that this server is bound to, or empty string if not specified.
	if(!text.getBoolean(#.getConfig().getString("licencja"))){
		getServer().getPluginManager().disablePlugin(this);
		Bukkit.getLogger("Brak licencji!");
	}

 

ale takie licencje nie mają sensu, tak jak napisał goto, już lepiej zrobić true/false na stronie i bez jsona to robić i po prostu jeden plugin dla każdej osoby + zaobfuscowanie, najlepiej czymś innym, ostatnio widziałem takiego obfuscatora który wali wszytko do .dat, a klasy zastepuje swoim kodem ktory wczytuje podczas wlaczenia programu - no ale dla pluginów bez sensu.

 

i na oracle masz przykładowy kod.

 

Edytowane przez yooniks

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Losowy awatar
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

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

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

×