SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[____ADMINISTRADOR OFFLINE____]
[DÚVIDA] ANIMAÇÕES DA ARMA
[Parceria] Parceria com meu fórum
Menu principal
[2d] Pistola Usp-s (CSGO) vetorizada em 2d
alguem tem um modelo 3d de arvore realista
Vídeo - RPG - DEMO de uma parte do mapa + Vegetação
FPS MULTIPLAYER (PHOTON) : Salas não aparecem para os outros jogadores.
Como usar o GetButton(¨Vertical¨) e o GetButton(¨Horizontal¨)
Virtual joystick controle para movimentar personagem
Atualização 0.0.1.0 Do meu rpg cartoon . Deem suas opnioes
[_____CRONOGRAMA (ASSET DE VEÍCULOS)_____]
[Ajuda "Rec" na unity]
TROCAR RODAS DO CARRO NA OFICINA
[Em teste] Jogo Fps sem nome :/
Como Posso Fazer isto ? Marco Uma Toggle no Canvas e um Mesh Seja ativado ?
[Duvida] Criei um script para rotacionar e andar e deu ruin.
character collide
-[ALGUEM SABE ALGUM ASSETS OU TENHA ALGUMA PASTA QUE TENHA AUDIOS CAR?]-
Duvida personagem ao passar certo ponto quero q um objeto suma e outro apareça.
(Pedido) Presciso de Um Script q quando eu Chegar em Um Local a camera alterar !
[Duvida] Rotate e RigidBody e Carro Andando de Lado.
[Dúvida] - Rotacionar a camera com touch screen
Deixar cenário 2d Totalmente escuro
Mirar e atirar na posiçao do mouse?
[TUTORIAL] Multiplicador de inimigos
MOVIMENTAÇÃO DE TANK DE GUERRA UNITY 3D
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
[RESOLVIDO] Ponteiro do mouse
Script de Spawn Aleatório
Salvar vida do player por tempo
To string return
programa que cria automaticamente Mapas com vegetacao
alguem sabe como eu posso colocar um joystick para mover a camera
O que está errado neste script ?
[TUTORIAL] Sistema COMPLETO de câmeras
[Modelo]Deem uma julgada ae garotada!
Reviver o Car Town EX
[Votação] Mira jogo fps ;-; [Terminada]
alguem sabe por que ta acontecendo isso com a minha unity
Script de seleção de player deu erro no UI
[RESOLVIDO] Como usar LookAt em apenas um eixo?
[AWP CS-GO] A PEDIDO DE UM Fã MEU
Mecanismo dos jogos da LEGO (troca de personagens)
Motivacional
DirectX ou Vulkan?
[Tutoria] Pegar item no chao. [Corrigido]
Galera?, Vamos Trocar umas Musicas Favoritas?
[Duvida]Como fazer um objeto Filho de outro
[Duvidas Com Arrays]
Como mudar o prefab do network por meio de uma UI
apagar posicoes ao morrer
Problema em criar tiros múltiplos
[____TÓPICO LIVRE____] FALE O QUE QUISER
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Mira de Third Person Shooter
NavMeshAgent não aparece no script
AI simples inimiga
Criar jogo estilo clash of clans
Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
[Ajuda] Third Person subir degrau
Script para sistema de genética
Adicionar arma em uma animação do Mixamo
Meu rpg Lendarios
[Duvida]Centralizar Cursor
[TUTORIAL] SISTEMA DE TREM.
[Modelo 3d] Machadinha
Enabling or adding a Renderer during rendering; this is not allowed
[TUTORIAL] Importando animação do mixamo para Unity3d.
Dúvidas na estrutura de puzzle.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Alguem que Conhece boas musicas para um game de suspense
É possivel aumentar a renderização de distancia da câmera?
Trocar Position Por Rotation
[RESOLVIDO] Script mira mouse?
Check-in no facebook dentro da Unity
[TUTORIAL] Sistema de escolha de personagens
[Socorro] Deu Um Erro Aqui e Eu Acho q Fiz Tudo Certo.
[Asset] Efeitos Realistas Pack V3 + Download
[Duvida]Como pegar todos os arquivos de uma pasta.
Tutorial PassarValor entre Scenas
Modelo HK SL8 (arma)
Compilar para Android
Problema com script para joystick virtual
CÂMERA ORBITAL PARA ANDROID
Mudar de cana ao clicar numa tecla
Pack de arvores Lowpoly
[TUTORIAL] Banco de dados || MySQL
Preciso de integrantes!
problema para acessar arquivos da pasta StreamingAssets
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Cenários Espaciais vs Escala
RESTAURAR A POSIÇÃO DO CARRO
-[COMO FAÇO O TOUCH PAD DO UNITY MOVER MINHA CAMERA?]-
-[ COMO FAÇO PARA MOVER UM OBJ NO EIXO "Y" COM UM BOTÃO? ]-
Spotlight Otimizada para Android
Modelo AK-12 (Arma)
Clicar no botão
Alguém pode me indicar um site de tutorial de c# sem ser em videos
Hoje à(s) 7:13 am
Hoje à(s) 6:05 am
Hoje à(s) 4:39 am
Hoje à(s) 4:08 am
Hoje à(s) 4:02 am
Hoje à(s) 4:00 am
Hoje à(s) 3:57 am
Hoje à(s) 3:53 am
Hoje à(s) 3:49 am
Hoje à(s) 3:22 am
Hoje à(s) 3:15 am
Hoje à(s) 3:09 am
Ontem à(s) 11:40 pm
Ontem à(s) 10:19 pm
Ontem à(s) 10:03 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:48 pm
Ontem à(s) 8:45 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:42 pm
Ontem à(s) 7:26 pm
Ontem à(s) 1:20 pm
Ontem à(s) 12:51 pm
Ontem à(s) 12:06 pm
Ontem à(s) 12:02 pm
Ontem à(s) 10:14 am
Ontem à(s) 7:23 am
Ontem à(s) 7:21 am
Ontem à(s) 5:51 am
Ontem à(s) 4:46 am
Ontem à(s) 12:24 am
Qua Abr 26, 2017 11:05 pm
Qua Abr 26, 2017 10:35 pm
Qua Abr 26, 2017 9:23 pm
Qua Abr 26, 2017 9:14 pm
Qua Abr 26, 2017 6:53 pm
Qua Abr 26, 2017 5:55 pm
Qua Abr 26, 2017 5:53 pm
Qua Abr 26, 2017 5:05 pm
Qua Abr 26, 2017 2:27 pm
Qua Abr 26, 2017 1:55 pm
Qua Abr 26, 2017 1:20 pm
Qua Abr 26, 2017 1:18 pm
Qua Abr 26, 2017 1:17 pm
Qua Abr 26, 2017 6:42 am
Ter Abr 25, 2017 10:07 pm
Ter Abr 25, 2017 9:57 pm
Ter Abr 25, 2017 9:55 pm
Ter Abr 25, 2017 9:33 pm
Ter Abr 25, 2017 9:05 pm
Ter Abr 25, 2017 8:29 pm
Ter Abr 25, 2017 5:52 pm
Ter Abr 25, 2017 1:55 pm
Ter Abr 25, 2017 12:26 pm
Ter Abr 25, 2017 12:24 pm
Ter Abr 25, 2017 9:53 am
Ter Abr 25, 2017 7:46 am
Ter Abr 25, 2017 12:40 am
Seg Abr 24, 2017 9:55 pm
Seg Abr 24, 2017 8:29 pm
Seg Abr 24, 2017 8:04 pm
Seg Abr 24, 2017 4:44 pm
Seg Abr 24, 2017 4:22 pm
Seg Abr 24, 2017 12:51 pm
Seg Abr 24, 2017 9:52 am
Seg Abr 24, 2017 9:50 am
Seg Abr 24, 2017 1:06 am
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 9:21 pm
Dom Abr 23, 2017 8:56 pm
Dom Abr 23, 2017 8:49 pm
Dom Abr 23, 2017 8:39 pm
Dom Abr 23, 2017 8:20 pm
Dom Abr 23, 2017 7:24 pm
Dom Abr 23, 2017 6:19 pm
Dom Abr 23, 2017 6:10 pm
Dom Abr 23, 2017 5:12 pm
Dom Abr 23, 2017 3:52 pm
Dom Abr 23, 2017 2:25 pm
Dom Abr 23, 2017 2:23 pm
Dom Abr 23, 2017 12:06 pm
Dom Abr 23, 2017 11:47 am
Dom Abr 23, 2017 10:54 am
Dom Abr 23, 2017 9:28 am
Dom Abr 23, 2017 2:07 am
Sab Abr 22, 2017 10:38 pm
Sab Abr 22, 2017 7:22 pm
Sab Abr 22, 2017 5:17 pm
Sab Abr 22, 2017 5:00 pm
Sab Abr 22, 2017 4:56 pm
Sab Abr 22, 2017 3:31 pm
Sab Abr 22, 2017 3:27 pm
Sab Abr 22, 2017 2:09 pm
Sab Abr 22, 2017 11:22 am
Sab Abr 22, 2017 11:19 am
Sab Abr 22, 2017 11:10 am
dstaroski
Gabriel César O
LucasPettine
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Madness
wender
PauloFR
PauloFR
DuViDoSo34
PauloFR
PauloFR
PauloFR
nicolasfive
rafaelllsd
marcos4503
IanLuan
rafaelllsd
Callyde Jr
IanLuan
sabbath
GloryGames
GloryGames
Callyde Jr
maikonluis
artplayer
Gabriel César O
Lando
silva75
DuViDoSo34
thiagograssi
PauloFR
rafaelllsd
IanLuan
916anderson
DuViDoSo34
IanLuan
HeF Software
Moa
DuViDoSo34
Weverton Borges da Silva
John Rambo
John Rambo
thzin
bravoent
JailtonUnity
Mic4el
GameS DoG
Callyde Jr
xXGianlucksXx
dstaroski
dstaroski
916anderson
Zecandy
DuViDoSo34
lelouchsdky
zZAndersonZz
DuViDoSo34
rafaelllsd
PauloFR
dstaroski
Hardencio
hbesm
cody0033
DuViDoSo34
Eric Vinicius
HeF Soft
Callyde Jr
Hardencio
HeF Soft
DuViDoSo34
weslleyFx
Matrirxp
Callyde Jr
DuViDoSo34
Ále Kauvy
dstaroski
HeF Soft
dstaroski
Mic4el
NyanHeavyBR
cody0033
erick.q.faria
MarcosSchultz
JohnSantosGamer
rafaelllsd
MrTFGamer1
MrTFGamer1
IanLuan
DuViDoSo34
weslleyFx
weslleyFx

[TUTORIAL] Banco de dados || MySQL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Banco de dados || MySQL

Mensagem por RenanMSV em Sex Jul 01, 2016 5:15 pm


Após o tutorial de SQLite que eu postei a algum tempo atrás, venho trazer agora o tutorial de banco de dados MySQL.

O banco de dados MySQL é um banco de dados online, que fica em um servidor. Portanto você precisará ter um host já contratado e ativo.
Você pode contratar um serviço pago ou um gratuito neste site: http://www.freesqldatabase.com/. Ou varios outros gratuitos na internet. Este foi só um exemplo.

Independente de qual você escolher lhe será dado um hostname, um nome de usuario, uma senha e talvez uma porta. E será com essas informações que você vai poder utilizar seu banco de dados em seus jogos.

Muito bem, ja tenho tudo isso. Vamos começar? Vamos.

Precisamos baixar o MySQL Connector neste site: http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.0.9-noinstall.zip

Abra o zip e extraia o MySql.Data.dll que se encontra na pasta bin.

Crie uma pasta em seu Unity com o nome de Plugins e coloque a DLL lá.

Abra a pasta C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0 ( depende de onde você instalou seu Unity ) e copie os arquivos I18N.dll e I18N.West.dll para a pasta Plugins do seu projeto do Unity.

Agora você TERA QUE IR em Build Settings > Player Settings > Optimization e selecionar .NET 2.0

Caso você tenha escolhido usar o banco de dados do freesqldatabase.com basta voce logar aqui http://www.phpmyadmin.co/ para ter acesso a uma interface de administração de seu banco de dados.
Caso você escolha outro provedor do serviço verifique que o método dele é diferente.
Mas todos provedores vão levar você ao PHP My Admin.

Muito, bem agora vamos aos codigos.

Dentro do PHP My Admin clique em seu banco de dados, clique em SQL e cole este código aqui:

Código:
CREATE TABLE IF NOT EXISTS `login_users` (
  `id_user` int(11) NOT NULL AUTO_INCREMENT,
  `name_user` varchar(255) NOT NULL,
  `pass_user` varchar(255) NOT NULL,
  `email_user` varchar(255) NOT NULL,
  PRIMARY KEY (`id_user`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;


INSERT INTO `login_users` (`id_user`, `name_user`, `pass_user`, `email_user`) VALUES
(1, 'Usuario 1', 'senha123', 'asflasjf.com'),
(2, 'Usuario 2', 'senha321', 'asfhas@.com');

Clique em executar.

Com este código criamos uma tabela simples que guardará os usuarios de nosso jogo. Guardaremos nome, senha e email. Um ID será automaticamente criado para este usuario. Iremos nos basear sempre pelo ID do usuario para fazermos nossas requisições ao banco de dados.

Bem, feito isto podemos ir para o Unity.

Vejam aqui a string source usada para o MySQL se conectar: https://www.connectionstrings.com/mysql/

Crie um script C#:

Código:

using UnityEngine;
using System.Collections;
using MySql.Data.MySqlClient; // importamos a dll
using UnityEngine.UI;

public class MyDataTut : MonoBehaviour {
   public string Host; // host do seu banco de dados
   public string Pass;   // senha do seu banco de dados
   public string User;   // nome de usuario do seu banco de dados
   public string DataBaseName; // nome do seu banco de dados
   public string LoginTableName; // nome da tabela do seu banco de dados.
   private MySqlConnection connection; // declaramos a conexao que iremos utilizar. podemos utilizar centenas de conexoes juntas
   private string source;

   void Start () {
      source = "Server=" + Host + ";Database= " + DataBaseName + ";Uid=" + User + ";Pwd="+ Pass +";"; // Estamos criando a source string para conexoes MySQL
      if (ConectarBanco(source)){ // perguntamos ao jogo se ele pode conectar
         ListarTodosOsDados(connection);// pedimos para ele listar todos os dados existentes no banco
      }
   }
   bool ConectarBanco(string _source){
      print ("Criando conexao"); // Printamos que estamos criando a conexão
      connection = new MySqlConnection (_source); // criando a conexao
      print ("Abrindo conexao"); // Printamos que estamos abrindo a conexão
      try { // tente
         connection.Open (); // abrir a conexao
         print ("Conexao aberta");
         return true; // retorna verdadeiro
      }catch(System.Exception e){ // se não conseguir
         Debug.LogError (e); // mostre o erro no console
         return false; // e retorne falso
      }
   }
   void ListarTodosOsDados(MySqlConnection _conn){
      MySqlCommand cmd = _conn.CreateCommand(); // criamos um comando vazio na conexao passada
      cmd.CommandText = "SELECT * FROM " + LoginTableName; // colocamos uma requisicao sql no comando pertencente a esta conexao
      MySqlDataReader dados = cmd.ExecuteReader (); // executamos este comando na conexao passada
      while (dados.Read ()) { // enquanto houver dados
         print("Dados: " + "ID: " + dados ["id_user"] + ". UserName: " + dados ["name_user"] + ". Senha: " + dados ["pass_user"] + ". Email: " + dados ["email_user"]  + "\n"); // Mostramos estes dados
      }
      dados.Close(); // por fim fechamos a leitura e o comando
      dados = null;
      cmd.Dispose();
      cmd = null;
   }
   void OnApplicationQuit (){ // Se a aplicação for fechada
      connection.Close (); // Fechamos a conexao
      connection = null;
      print ("Database Fechado"); // Printamos que foi fechado
   }
}

Para se pegar os dados utilizamos dados[nome do campo no banco de dados]. Exemplo:

Código:

string PegarSenhaDoUsuarioPeloID(MySqlConnection _conn,int id){
   string retSt;
   MySqlCommand cmd = _conn.CreateCommand(); // criamos um comando vazio na conexao passada
   cmd.CommandText = "SELECT pass_user FROM " + LoginTableName + "where id_user =" + id; // pegamos a senha do usuario que tiver o id passado
   MySqlDataReader dados = cmd.ExecuteReader (); // executamos este comando na conexao passada
   if (dados.Read ()) { // como existe apenas 1 usuario por id não precisamos do while.
      print("Senha: " + dados[pass_user]); // Mostramos esta senha
      retSt = dados[pass_user]);
   }
   dados.Close(); // por fim fechamos a leitura e o comando
   dados = null;
   cmd.Dispose();
   cmd = null;
   return retSt;
}

No exemplo criamos um simples método que pode ser usado para saber a senha do usuario a partir de seu id.
E retornamos esta senha. Iriamos utilizar assim:

Código:

print(PegarSenhaDoUsuarioPeloID(connection,2)); // irá printar a senha
string senha = PegarSenhaDoUsuarioPeloID(connection,this.id); // irá atribuir a senha

Demais explicações estão no script.

Agora o resultado:

Console:


PHP My Admin:


Qualquer duvida mandem abaixo.

Até!


Última edição por RenanMSV em Sex Jul 01, 2016 8:52 pm, editado 1 vez(es) (Razão : Erro corrigido. Falha ao buscar por DLL.)
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1709
REPUTAÇÃO : 323
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Chilinger em Sex Jul 01, 2016 6:48 pm

Irmao eu sei fazer igual o seu mas descobri pouco tempo depois que fazer em php e mas rapido

Chilinger
MembroAvançado

Masculino PONTOS : 1161
REPUTAÇÃO : 26
Idade : 23
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Guilherme_cj852 em Sex Jul 01, 2016 8:29 pm

Na unity deu esse erro no script
Código:
Unhandled Exception: Mono.CSharp.InternalErrorException: Assets/Scripts/MyDataTut.cs(6,14): MyDataTut ---> Mono.CSharp.InternalErrorException: Assets/Scripts/MyDataTut.cs(12,33): MyDataTut.connection ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
avatar
Guilherme_cj852
ProgramadorMaster

Masculino PONTOS : 1057
REPUTAÇÃO : 116
Idade : 16
Áreas de atuação : Programador C#
Designer
Iniciante em PHP
Respeito as regras :

Ver perfil do usuário http://ugames-studio.weebly.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por RenanMSV em Sex Jul 01, 2016 8:39 pm

Não é erro no banco de dados. Ocultei as informações para evitar de gente entrando.

Tente: Ir em Build Settings > Player Settings > Optimization e selecione .NET 2.0


Última edição por RenanMSV em Sex Jul 01, 2016 8:53 pm, editado 1 vez(es)
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1709
REPUTAÇÃO : 323
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Guilherme_cj852 em Sex Jul 01, 2016 8:47 pm

RenanMSV escreveu:Não é erro no banco de dados. Ocultei as informações para evitar de gente entrando.

Tente:

Ir em Build Settings > Player Settings > Optimization e selecione .NET 2.0
Ou ir na pasta  C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0 e copiar o arquivo System.Data.dll para a pasta Plugins de seu projeto.

Volte aqui e diga qual funcionou, ou se não funcionou.
Mudei para .NET 2.0 e funcionou, vlw
avatar
Guilherme_cj852
ProgramadorMaster

Masculino PONTOS : 1057
REPUTAÇÃO : 116
Idade : 16
Áreas de atuação : Programador C#
Designer
Iniciante em PHP
Respeito as regras :

Ver perfil do usuário http://ugames-studio.weebly.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por RenanMSV em Sex Jul 01, 2016 8:50 pm

Vi agora, esqueci de mencionar que precisa alterar isso. Ai as dll não precisam serem importadas.
Vou colocar isto no post. Obrigado.
avatar
RenanMSV
Instrutor

Masculino PONTOS : 1709
REPUTAÇÃO : 323
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por rafaelllsd em Sex Jul 01, 2016 8:53 pm

Que massa, esse assunto é novo para mim mais acho bem legal, muito bom.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Chilinger em Qui Set 22, 2016 10:33 am

Renan fui a tras da resposta certa e vi que eu tinha falado algo erro pois se nao for c# a unity tem que buscar uma biblioteca fora entao demora mas logo banco com c# e mas rapido.

No meu nao estou conseguindo cadastrar e logar ao msm tempo com c# mysql so com php.

Chilinger
MembroAvançado

Masculino PONTOS : 1161
REPUTAÇÃO : 26
Idade : 23
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Deiverson em Seg Dez 05, 2016 3:23 pm

Tenho uma preocupação relacionada na comunicação com o banco de dados remoto, podemos melhorar isso aplicando uma criptografia para que os dados não seja interceptados facilmente durante a comunicação?

Teria como fazer essa comunicação criptografada usando alguma API do Unity? Usar um HTTPS (até um certificado digital não valido) ou fazer essa consulta no banco via Webservice?

Deiverson
Iniciante
Iniciante

PONTOS : 750
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por artplayer em Seg Dez 05, 2016 5:19 pm

Deiverson escreveu:Tenho uma preocupação relacionada na comunicação com o banco de dados remoto, podemos melhorar isso aplicando uma criptografia para que os dados não seja interceptados facilmente durante a comunicação?

Teria como fazer essa comunicação criptografada usando alguma API do Unity? Usar um HTTPS (até um certificado digital não valido) ou fazer essa consulta no banco via Webservice?

Por isso o ideal é você deixar que o servidor manipule o banco de dados e não a Unity em si. Você envia os dados via WWWforms pra uma página php com apenas os parâmetros definidos e deixa que o php faz a consulta retornando apenas o desejado.
Eu só trabalho com consultas desta forma, e só em jogos online, daí restrinjo o meu apache a aceitar conexões somente do servidor, impedindo que os forms sejam manipulados por usuários mau intencionados.
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 868
REPUTAÇÃO : 200
Idade : 32
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por Deiverson em Seg Dez 05, 2016 6:03 pm

Sim, nesse caso você faz somente consultas, correto?

No caso da necessidade de sincronização de dados do cliente (podendo ser mobile ou pc) para servidor MySQL, qual seria uma solução do ponto de vista de uma arquitetura mais simples, para você conseguir inserir os dados remotos no banco? Webservice usando o PHP para inserir + algum outro mecanismo de criptografia?

Com o Apache HTTPD já da para garantir uma proteção maior evitando SQL Injection.

Minha preocupação seria na manipulação de dados envenenandos no POST, por que eu teria que sincronizar incluindo informações no banco de dados do servidor (não é Sql Injection e sim o jogador alterar por exemplo Level do personagem, que esta em 2, para 9999, alterar valores dos campos submetidos no form). Vou dar uma estudada nesse envio os dados via WWWforms, talvez já resolva.

Acho que pode depender muito mais da forma que está sendo projetado essa sincronização de dados, tanto de consumo do webservice como envio, no caso do envio que é mais complicado. Não sei se seria possivel ou bom encapsular os dados com criptografia um xml ou json (tambem não sei se o Unity suporta isso) e submeteria para o webservice descriptografar e fazer as atualizações no banco remoto. Talvez por HTTPS resolva essa questão de sincronização com segurança sem maiores problemas, vou dar uma verificada depois.


Última edição por Deiverson em Seg Dez 05, 2016 6:13 pm, editado 5 vez(es) (Razão : Adicionando mais informações sobre sincronização...)

Deiverson
Iniciante
Iniciante

PONTOS : 750
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por artplayer em Seg Dez 05, 2016 6:48 pm

Deiverson escreveu:Sim, nesse caso você faz somente consultas, correto?

No caso da necessidade de sincronização de dados do cliente (podendo ser mobile ou pc) para servidor MySQL, qual seria uma solução do ponto de vista de uma arquitetura mais simples, para você conseguir inserir os dados remotos no banco? Webservice usando o PHP para inserir + algum outro mecanismo de criptografia?

Com o Apache HTTPD já da para garantir uma proteção maior evitando SQL Injection.

Minha preocupação seria na manipulação de dados envenenandos no POST, por que eu teria que sincronizar incluindo informações no banco de dados do servidor (não é Sql Injection e sim o jogador alterar por exemplo Level do personagem, que esta em 2, para 9999, alterar valores dos campos submetidos no form). Vou dar uma estudada nesse envio os dados via WWWforms, talvez já resolva.

Acho que pode depender muito mais da forma que está sendo projetado essa sincronização de dados, tanto de consumo do webservice como envio, no caso do envio que é mais complicado. Não sei se seria possivel ou bom encapsular os dados com criptografia um xml ou json (tambem não sei se o Unity suporta isso) e submeteria para o webservice descriptografar e fazer as atualizações no banco remoto. Talvez por HTTPS resolva essa questão de sincronização com segurança sem maiores problemas, vou dar uma verificada depois.

Foi uma das minhas primeiras preocupações quando comecei a usar WWWForms. Também sou um pouco paranoico com segurança, até contestei isso no fórum da Unity. Sempre fiquei me perguntando uma maneira de evitar que alguém manipule os dados do form que está sendo enviado. 
No final das contas, eu pensei em Ssh. Como eu disse, só preciso fazer isso em jogos online, oque é bem mais fácil de manter a segurança.


EDIT: Uma maneira eficaz de proteger os dados seria usar uma criptografia AES. Uma vez que ela usa uma chave secreta pra criptografar / descriptografar os dados, a única maneira de um hack conseguir a sua SecretKey seria descompilando o seu código. E, pra reforçar um pouco a segurança do código você poderia usar algum inibidor / ofuscador.


Última edição por artplayer em Seg Dez 05, 2016 7:27 pm, editado 3 vez(es) (Razão : Sugestão de criptografia AES.)
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 868
REPUTAÇÃO : 200
Idade : 32
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por NyanHeavyBR em Sex Abr 14, 2017 12:32 pm

No caso eu tenho um sistema de noticias que seria uma tabela com 3 campos: titulo da noticia, descrição e data, teria como usar esse sistema só para consultar esses dados e mostrar na Unity?

NyanHeavyBR
Membro
Membro

PONTOS : 425
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por MarcosSchultz em Sex Abr 14, 2017 7:19 pm

yep
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por NyanHeavyBR em Dom Abr 16, 2017 3:49 am

No caso do tutorial dele, ele insere as informações, eu quero é apenas verificar elas no banco de dados. como poderia fazer isso?

NyanHeavyBR
Membro
Membro

PONTOS : 425
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por MarcosSchultz em Qua Abr 19, 2017 1:53 am

verificar no banco de dados? Assim como da pra setar valores da pra consultar ué O.o

Qual exatamente o problema?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8449
REPUTAÇÃO : 1257
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Banco de dados || MySQL

Mensagem por NyanHeavyBR em Dom Abr 23, 2017 2:07 am

oh, não tinha reparado em uma parte do script que faria tudo dar certo! obrigado

NyanHeavyBR
Membro
Membro

PONTOS : 425
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum