Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Chatbox

    Lembre-se de ler as nossas regras!
    Load More
    You don't have permission to chat.
morais

tutorial [Tutorial] Sistema de licenças

Recommended Posts

Posted (edited)

Vou ensinar como criar um sistema de licenças com uma database, no meu caso irei fazer na localhost mas dá com qualquer Host.

(Recomendo HypeHost)

Desculpem não ter colocado imagem sem ser por link

Programas Utilizados:

HeidiSQL ( Conexão a database ) - https://www.heidisql.com/download.php
WampServer ( Servidor web ) - http://www.wampserver.com/en/#download-wrapper
IntelliJ ( Criação de Plugin ) - https://www.jetbrains.com/idea/download/#section=windows
Gson - https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/

 


 

Primeiramente crie seu ProJeto com 2 classes

 

Agora vamos criar uma database para as licenças ( Escolha o nome que quiser, desde que não se esqueça de trocar depois )

 

Após isso crie uma tabela com o nome licenses

Após isso crie apenas com 1 campo chamado "token" com tipo de dados "VARCHAR" e guarda

 

Agora Vamos criar alguns "tokens"

(Estou usando o https://www.uuidgenerator.net/ para gerar "tokens")

 

Agora adicione esse "index.php" ao seu website e configura sua database no mesmo

Download : https://www.mediafire.com/file/6ducw0wxfcw2cbc/index.php/file

 

Agora vamos experimentar o sistema das licenças

Formato:

site/?license=licença

Se ela existir na sua database vai ficar true

Se ela não existir na sua database vai ficar false

Se isso der assim significa que está funcionando

-------------------------------------------------------------------------

Agora vamos voltar no Token.class e adicionasse esse código:

Spoiler

 

public class Token {

    private boolean token;

    public boolean getToken() {
        return this.token;
    }

    public void setToken(boolean token) {
        this.token = token;
    }
    
} 

 

 

 


Agora iremos na Main.class e adicionasse esse código:

Spoiler

 

import com.google.gson.Gson;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main extends JavaPlugin {

    public void onEnable() {
        saveDefaultConfig();
        String apiResponse = null;
        HttpURLConnection c = null;

        try {
            \\ ai voce pega no link do seu site e coloca onde diz site           
            URL u = new URL("site/?license=" + getConfig().getString("Licenca"));
            c = (HttpURLConnection) u.openConnection();
            c.setRequestMethod("GET");
            c.setRequestProperty("Content-Type", "application/json");
            c.setUseCaches(false);
            c.connect();

            int statusCode = c.getResponseCode();

            if (statusCode == 200 || statusCode == 201 || statusCode == 204) {
                String line;
                BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
                StringBuilder sb = new StringBuilder();

                while ((line = br.readLine()) != null) {
                    sb.append(line).append("\n");
                }

                br.close();
                apiResponse = sb.toString();
            }
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }

        Token licenseIsOk = new Gson().fromJson(apiResponse, Token.class);

        if (licenseIsOk.getToken()) {
            \\ Aqui seta os eventos se existir a licença na database por exemplo salvar eventos
            Bukkit.getConsoleSender().sendMessage("§aLicenca ativada");

        } else {
            Bukkit.getConsoleSender().sendMessage("§6Licenca nao encontrada");
            Bukkit.getConsoleSender().sendMessage("§4Desativando o Plugin");
            Bukkit.getPluginManager().disablePlugin(this);
        }
    }

}

 

 

 

Agora crie a config.yml com esse formato

Licenca: Insira sua licenca aqui
#resto da config do seu plugin

 

Agora é so ligar o Plugin no servidor e testar se tá tudo correto

Se a licença não existir na database

Se a licença existir na database

 

Espero ter ajudado

Discord: Morais_#7336

Edited by morais
  • Like 3

Share this post


Link to post
Share on other sites

Ótimo tutorial, acho que vai ajudar bastante quem não tem conhecimento nenhum em php/mysql mas sabe programar java.

  • Like 1

Share this post


Link to post
Share on other sites

O tutorial ta bom, só acho falho não disponibilizar uma forma de multi plugins, como o @Dark_Pizza já ficou com dúvidas.

  • Love 1

Share this post


Link to post
Share on other sites
Em 09/04/2019 em 15:15, iJhefe disse:

O tutorial ta bom, só acho falho não disponibilizar uma forma de multi plugins, como o @Dark_Pizza já ficou com dúvidas.

O mesmo pode ser implementado, mais logo estarei reformulando 🙂 
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×