Multiplayer e comunicação
4 participantes
Página 1 de 1
Multiplayer e comunicação
Estou inciando agora o meu projeto e estou com dificuldade em escolher o framework de network que uso.
Entre as opções eu tenho:
1 - network da Unity(HLAPI),
2 - Photon,
3 - criar um servidor node.js com pacotes de sokets já existentes.
4 - SignalR da Microsoft WebSoket.
Inicialmente optei por usar o SignalR da Microsoft mas vejo que ele é bem voltado para Brwonzer e ai fiquei em duvida se vale apena continuar com ele.
E usar node.js eu não tenho muito conhecimento e estou meio assim de fazer com ele.
O Photon e o da Unity(HLAPI) tem um problema muito forte ao meu ver. Que é a questão de instanciar o servidor no cliente e ser obrigado a usar um servidor deles sempre, quando eu tiver que armazenar os dados em uma base de dados eu teria que gerar códigos no cliente para atualizar o servidor deles onde faz as replicações de dados via soket e tal... e fazer chamadas para um outro servidor meu onde eu atualizo uma base de dados?
O que vocês me indicam a usar alguem já trabalho com algum game multiplayer e possa esclarecer essas minhas duvidas.
Entre as opções eu tenho:
1 - network da Unity(HLAPI),
2 - Photon,
3 - criar um servidor node.js com pacotes de sokets já existentes.
4 - SignalR da Microsoft WebSoket.
Inicialmente optei por usar o SignalR da Microsoft mas vejo que ele é bem voltado para Brwonzer e ai fiquei em duvida se vale apena continuar com ele.
E usar node.js eu não tenho muito conhecimento e estou meio assim de fazer com ele.
O Photon e o da Unity(HLAPI) tem um problema muito forte ao meu ver. Que é a questão de instanciar o servidor no cliente e ser obrigado a usar um servidor deles sempre, quando eu tiver que armazenar os dados em uma base de dados eu teria que gerar códigos no cliente para atualizar o servidor deles onde faz as replicações de dados via soket e tal... e fazer chamadas para um outro servidor meu onde eu atualizo uma base de dados?
O que vocês me indicam a usar alguem já trabalho com algum game multiplayer e possa esclarecer essas minhas duvidas.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
gordoido escreveu:Estou inciando agora o meu projeto e estou com dificuldade em escolher o framework de network que uso.
Entre as opções eu tenho:
1 - network da Unity(HLAPI),
2 - Photon,
3 - criar um servidor node.js com pacotes de sokets já existentes.
4 - SignalR da Microsoft WebSoket.
Inicialmente optei por usar o SignalR da Microsoft mas vejo que ele é bem voltado para Brwonzer e ai fiquei em duvida se vale apena continuar com ele.
E usar node.js eu não tenho muito conhecimento e estou meio assim de fazer com ele.
O Photon e o da Unity(HLAPI) tem um problema muito forte ao meu ver. Que é a questão de instanciar o servidor no cliente e ser obrigado a usar um servidor deles sempre, quando eu tiver que armazenar os dados em uma base de dados eu teria que gerar códigos no cliente para atualizar o servidor deles onde faz as replicações de dados via soket e tal... e fazer chamadas para um outro servidor meu onde eu atualizo uma base de dados e acredito que isso ficaria bem mais lento por ir em dois servidores.
O que vocês me indicam a usar alguem já trabalho com algum game multiplayer e possa esclarecer essas minhas duvidas.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Cara no meu projeto optei por network da Unity(HLAPI) por conta que pretendo fazer um master server usando hospedagem, no começo pensei em usar o photon por ele ter varias possibilidades ja prontas más não vejo muito diferente do Unet, o Unet está me satisfazendo até agr e por enquanto não tive problemas no meu projeto, más é bom experimentar os que você achar mais em conta
Re: Multiplayer e comunicação
Mas como que você faz para trabalhar com os armazenamentos de dados que forem necessários?MRX escreveu:Cara no meu projeto optei por network da Unity(HLAPI) por conta que pretendo fazer um master server usando hospedagem, no começo pensei em usar o photon por ele ter varias possibilidades ja prontas más não vejo muito diferente do Unet, o Unet está me satisfazendo até agr e por enquanto não tive problemas no meu projeto, más é bom experimentar os que você achar mais em conta
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Sempre usei Unet e sempre usei VPS ou dedicados com uma compilação headless para o servidor. Então dizer que você é obrigado a utilizar os servidores deles não me parece estar correto.gordoido escreveu:
O Photon e o da Unity(HLAPI) tem um problema muito forte ao meu ver. Que é a questão de instanciar o servidor no cliente e ser obrigado a usar um servidor deles sempre, quando eu tiver que armazenar os dados em uma base de dados eu teria que gerar códigos no cliente para atualizar o servidor deles onde faz as replicações de dados via soket e tal... e fazer chamadas para um outro servidor meu onde eu atualizo uma base de dados?
Para banco de dados, eu utilizava uma API php/Mysql geralmente no mesmo servidor, fazendo as consultas via POST(wwwforms) e restringindo o acesso tanto do Apache quanto do Mysql somente a localhost.
Aprendi muito com Unet, sou entusiasta de o início, mas pra produção mesmo, pelo menos pra mim não rola. Por causa de questões como previsão e interpolação e Ipv6 que o Bolt resolve com praticamente um click.
Lógico, tudo depende muito do estilo do seu jogo e do seu tempo disponível/tamanho da equipe.
Abraços.
Re: Multiplayer e comunicação
gordoido escreveu:Mas como que você faz para trabalhar com os armazenamentos de dados que forem necessários?MRX escreveu:Cara no meu projeto optei por network da Unity(HLAPI) por conta que pretendo fazer um master server usando hospedagem, no começo pensei em usar o photon por ele ter varias possibilidades ja prontas más não vejo muito diferente do Unet, o Unet está me satisfazendo até agr e por enquanto não tive problemas no meu projeto, más é bom experimentar os que você achar mais em conta
Usando Mysql
Re: Multiplayer e comunicação
Vou tentar me explicar melhor, penso que não é correto eu colocar chamadas do meu banco de dados mysql no cliente, então eu crio um "servico de webapi" em servidor meu que vai fazer as chamadas ao banco. O meu cliente só tem as chamadas do meu webapi. Sendo assim eu teria que usar meu servidor para armazenar os dados e fazer chamadas de websokets para atualizar os meus clientes. Então de cara eu já faria duas chamadas para dois servidores diferentes um para atualizar o meu banco e outro com as chamadas em websoket feita em photm ou Unet. E isso não deixaria meu sistema mais lento e mais complicado?MRX escreveu:gordoido escreveu:Mas como que você faz para trabalhar com os armazenamentos de dados que forem necessários?MRX escreveu:Cara no meu projeto optei por network da Unity(HLAPI) por conta que pretendo fazer um master server usando hospedagem, no começo pensei em usar o photon por ele ter varias possibilidades ja prontas más não vejo muito diferente do Unet, o Unet está me satisfazendo até agr e por enquanto não tive problemas no meu projeto, más é bom experimentar os que você achar mais em conta
Usando Mysql
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
artplayer escreveu:Sempre usei Unet e sempre usei VPS ou dedicados com uma compilação headless para o servidor. Então dizer que você é obrigado a utilizar os servidores deles não me parece estar correto.gordoido escreveu:
O Photon e o da Unity(HLAPI) tem um problema muito forte ao meu ver. Que é a questão de instanciar o servidor no cliente e ser obrigado a usar um servidor deles sempre, quando eu tiver que armazenar os dados em uma base de dados eu teria que gerar códigos no cliente para atualizar o servidor deles onde faz as replicações de dados via soket e tal... e fazer chamadas para um outro servidor meu onde eu atualizo uma base de dados?
Para banco de dados, eu utilizava uma API php/Mysql geralmente no mesmo servidor, fazendo as consultas via POST(wwwforms) e restringindo o acesso tanto do Apache quanto do Mysql somente a localhost.
Aprendi muito com Unet, sou entusiasta de o início, mas pra produção mesmo, pelo menos pra mim não rola. Por causa de questões como previsão e interpolação e Ipv6 que o Bolt resolve com praticamente um click.
Lógico, tudo depende muito do estilo do seu jogo e do seu tempo disponível/tamanho da equipe.
Abraços.
Vou tentar me explicar melhor, penso que não é correto eu colocar chamadas do meu banco de dados mysql no cliente, então eu crio um "servico de webapi" em servidor meu que vai fazer as chamadas ao banco. O meu cliente só tem as chamadas do meu webapi. Sendo assim eu teria que usar meu servidor para armazenar os dados e fazer chamadas de websokets para atualizar os meus clientes. Então de cara eu já faria duas chamadas para dois servidores diferentes um para atualizar o meu banco e outro com as chamadas em websoket feita em photm ou Unet. E isso não deixaria meu sistema mais lento e mais complicado?
tipo assim:
// passo 1 -> Codigo que atualiza meu soket Unet que trasmite mus dados para os clientes.
// passo 2 -> Codigo que atualiza minha base de dados em outro servico.
Eu não gosto da idéia de que o meu código fique no cliente vc não acho isso estranho.
No meu ponto de vista um serviço poderia fazer tudo, tipo: Atualiza os cliente via soket e depois armazena no banco. no cliente só teria uma chamada para esse serviço.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Exato Gordoido;
Por isso eu utilizo uma api php rodando direto no servidor. Só quem tem acesso ao banco de dados e ao apache e o servidor.
Não sei se ficou claro, mas quem acessa o banco de dados e única e exclusivamente o php, que é uma linguagem interpretada e não compilada. O cliente apenas recebe os retornos do sevidor. Adicionalmente, eu ainda posso reforçar a segurança me valendo de sessions, ssl e afins. Para evitar que os dados de retorno possam ser manipulados externamente de alguma forma, restrinjo o apache apenas a localhost ( o próprio servidor ).
Já deixei trechos do código aqui no fórum e ia pro github, mas estou utilizando em um projeto privado e por contrato, nenhuma parte do código pode ser exposta.
Por isso eu utilizo uma api php rodando direto no servidor. Só quem tem acesso ao banco de dados e ao apache e o servidor.
Não sei se ficou claro, mas quem acessa o banco de dados e única e exclusivamente o php, que é uma linguagem interpretada e não compilada. O cliente apenas recebe os retornos do sevidor. Adicionalmente, eu ainda posso reforçar a segurança me valendo de sessions, ssl e afins. Para evitar que os dados de retorno possam ser manipulados externamente de alguma forma, restrinjo o apache apenas a localhost ( o próprio servidor ).
Já deixei trechos do código aqui no fórum e ia pro github, mas estou utilizando em um projeto privado e por contrato, nenhuma parte do código pode ser exposta.
Re: Multiplayer e comunicação
artplayer escreveu:Exato Gordoido;
Por isso eu utilizo uma api php rodando direto no servidor. Só quem tem acesso ao banco de dados e ao apache e o servidor.
Não sei se ficou claro, mas quem acessa o banco de dados e única e exclusivamente o php, que é uma linguagem interpretada e não compilada. O cliente apenas recebe os retornos do sevidor. Adicionalmente, eu ainda posso reforçar a segurança me valendo de sessions, ssl e afins. Para evitar que os dados de retorno possam ser manipulados externamente de alguma forma, restrinjo o apache apenas a localhost ( o próprio servidor ).
Já deixei trechos do código aqui no fórum e ia pro github, mas estou utilizando em um projeto privado e por contrato, nenhuma parte do código pode ser exposta.
É possivel eu usar a biblioteca do Unet ou Photon dentro de um serviço meu e no cliente(unity) eu só chamar esse meu serviço? Não gosto da idéia das minhas regras ficar no meu cliente. E os exemplos que eu vejo desses caras os servidores são instanciados dentro do cliente, e isso me incomoda bastante já que sendo assim eu teria que colocar minhas regras no cliente.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
gordoido escreveu:artplayer escreveu:Exato Gordoido;
Por isso eu utilizo uma api php rodando direto no servidor. Só quem tem acesso ao banco de dados e ao apache e o servidor.
Não sei se ficou claro, mas quem acessa o banco de dados e única e exclusivamente o php, que é uma linguagem interpretada e não compilada. O cliente apenas recebe os retornos do sevidor. Adicionalmente, eu ainda posso reforçar a segurança me valendo de sessions, ssl e afins. Para evitar que os dados de retorno possam ser manipulados externamente de alguma forma, restrinjo o apache apenas a localhost ( o próprio servidor ).
Já deixei trechos do código aqui no fórum e ia pro github, mas estou utilizando em um projeto privado e por contrato, nenhuma parte do código pode ser exposta.
É possivel eu usar a biblioteca do Unet ou Photon dentro de um serviço meu e no cliente(unity) eu só chamar esse meu serviço? Não gosto da idéia das minhas regras ficar no meu cliente. E os exemplos que eu vejo desses caras os servidores são instanciados dentro do cliente, e isso me incomoda bastante já que sendo assim eu teria que colocar minhas regras no cliente.
Primeiramente, obrigado a vocês que estão me ajudando. Eu sou iniciante no assunto então posso estar fazendo confusão.
Tentando esclarecer minhas idéias pergunto a vocês, será que é normal que essa abertura de Host fique no cliente porque o trabalho deles é só atualizar a view para os clientes. E a minha regra de negócio fica toda em outro serviço num servidor meu em qualquer linguagem que eu quiser?
por exemplo se meu personagem jogou uma corda em uma prédio. E eu tenho que saber se ele acertou ou não.
pergunta a vocês se seria mas ou menos assim:
passo 1 - Eu pego os dados da acao de jogar a corda pelo meu cliente (photon/unet).
passo 2 - mando uma mensagem para o meu servidor(php/mysql) com os dados dessa acao ele faz os calculos para ver se acertou
passo 3 - ai então manda de volta a informação para o cliente.
passo 4 - atualizo o resultado no (photon/unet). ex.: "sim acertou a corda no predio"
Dessa maneira o (photon/unet) fica sendo apenas um carinha responsáevl por atualizar minhas informações e todos os clientes e minhas regras ficam em outro serviço em um servidor, podendo ser tcp ou udp o que quiser?
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
É basicamente isso, mas no caso você mandaria a mensagem para um servidor unet(ou outros) e nele iria calcular físicas e lógicas, salva-las e mandaria de volta para os clientes. Dessa forma, o servidor dedicado(ou salas, tendo o gameserver spawnado em um host remoto) é responsável por tudo e as chances de alterações(crackers e hackers) são mais baixas.
Re: Multiplayer e comunicação
recagonlei escreveu:É basicamente isso, mas no caso você mandaria a mensagem para um servidor unet(ou outros) e nele iria calcular físicas e lógicas, salva-las e mandaria de volta para os clientes. Dessa forma, o servidor dedicado(ou salas, tendo o gameserver spawnado em um host remoto) é responsável por tudo e as chances de alterações(crackers e hackers) são mais baixas.
Eu entendo que a resolução de fisica fica por conta da unity mesmo e os unet fica responsavel só de passar as informações atualizadas para todos os clientes. e isso tudo fica no cliente (exe gerado no unity na maquina do cliente). sendo assim o unet fica para o unity da mesma forma que fica o angular para o brwonzer.
E qualquer coisa que exija o regra de negócios como guardar um item em bau fica por conta de um outro cara(serviço ) que pode ou não estar no mesmo servidor que é responsavél por essas regras.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
gordoido escreveu:
É possivel eu usar a biblioteca do Unet ou Photon dentro de um serviço meu e no cliente(unity) eu só chamar esse meu serviço? Não gosto da idéia das minhas regras ficar no meu cliente. E os exemplos que eu vejo desses caras os servidores são instanciados dentro do cliente, e isso me incomoda bastante já que sendo assim eu teria que colocar minhas regras no cliente.
Não sei se entendi bem.
Você diz no caso de uma engenharia reversa o "cara" ver quais regras, nomes e tudo mais estão sendo utilizadas no servidor e de alguma forma se beneficiar disso?
Re: Multiplayer e comunicação
Exato!artplayer escreveu:gordoido escreveu:
É possivel eu usar a biblioteca do Unet ou Photon dentro de um serviço meu e no cliente(unity) eu só chamar esse meu serviço? Não gosto da idéia das minhas regras ficar no meu cliente. E os exemplos que eu vejo desses caras os servidores são instanciados dentro do cliente, e isso me incomoda bastante já que sendo assim eu teria que colocar minhas regras no cliente.
Não sei se entendi bem.
Você diz no caso de uma engenharia reversa o "cara" ver quais regras, nomes e tudo mais estão sendo utilizadas no servidor e de alguma forma se beneficiar disso?
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Mas agora estou mudando um pouco minhas idéias se eu usar o unet só para atualização dos meus dados não tem teanto problema assim, Ja que eu vou usar um outro serviço para guardar minhas regras. Vou fazer um desenho de como penso que vai ficar a arquitetura em enviar aqui no forum.
Mas ainda continuo achando que seria melhor isso estar em um servidor meu mas como teria que trabalhar com soket implementar segurança e tudo mais. Talves seja melhor trabalhar com esse cara(unet/photon) que já existe e trabalha dessa forma.
Exatamente por conta de uma engenharia reversa que acho ruim esse lance de criar o host no cliente.
Mas ainda continuo achando que seria melhor isso estar em um servidor meu mas como teria que trabalhar com soket implementar segurança e tudo mais. Talves seja melhor trabalhar com esse cara(unet/photon) que já existe e trabalha dessa forma.
Exatamente por conta de uma engenharia reversa que acho ruim esse lance de criar o host no cliente.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
É meio inviável colocar o host no cliente, é melhor criar um master server que controle tudo inclusive as atualizações das informações... Ficará muito inseguro, com o client sendo host, com o masterserver além de flexibilidade, mais segurança e um controle bem mais prático. Isso se aplica tanto como servidores dedicados, quanto salas privadas ou públicas. Só não é inviável, quando a intenção é disponibilizar o host, como no minecraft, o cs(ele é um exemplo dos dois sistemas juntos, servidores oficiais e não oficiais), rust, entre outros.
Re: Multiplayer e comunicação
Os exemplos que tenho visto os host são criados no cliente pelo unity, vc tem algum link onde tenha informações desse master service?recagonlei escreveu:É meio inviável colocar o host no cliente, é melhor criar um master server que controle tudo inclusive as atualizações das informações... Ficará muito inseguro, com o client sendo host, com o masterserver além de flexibilidade, mais segurança e um controle bem mais prático. Isso se aplica tanto como servidores dedicados, quanto salas privadas ou públicas. Só não é inviável, quando a intenção é disponibilizar o host, como no minecraft, o cs(ele é um exemplo dos dois sistemas juntos, servidores oficiais e não oficiais), rust, entre outros.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
*Master server.
Tem um asset muito bom gratuito, que poderá estudar a api e ter uma bela noção:
MasterServer by Barebones
Tem um asset muito bom gratuito, que poderá estudar a api e ter uma bela noção:
MasterServer by Barebones
Re: Multiplayer e comunicação
segue um link da ujnity usando o network deles docs.unity3d.com/Manual/UNetManager.html
para mim isso é usar o cliente para fazer as coisas e para vocês?
para mim isso é usar o cliente para fazer as coisas e para vocês?
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Então pessoal pensei em fazer seguindo essa arquitetura ai o que vocês acham:
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
seguindo esse modelo acima minha camada de gateway seria onde ficaria minha autenticação, segurança e tudo mais ...
E o meu gatway acessaria todos os meus serviços necessarios.
E o a camade view ficaria por conta da unity e do unet fazendo o trabalho de espelahar minhas informações via soket.
Como eu tenho uma camada de segurança caso alguem tente rakear na camada de view eu consigo verificar o usuário e parar a partida.
A esse Master Service pelo que li é legado já e não é muito indicado a usarmos.
Acho que vou implementar essa iséia dando certo compartilho com voces.
O que vocês acharam da arquitetura é por ai mesmo ta uma droga qualquer observação é valida?
E o meu gatway acessaria todos os meus serviços necessarios.
E o a camade view ficaria por conta da unity e do unet fazendo o trabalho de espelahar minhas informações via soket.
Como eu tenho uma camada de segurança caso alguem tente rakear na camada de view eu consigo verificar o usuário e parar a partida.
A esse Master Service pelo que li é legado já e não é muito indicado a usarmos.
Acho que vou implementar essa iséia dando certo compartilho com voces.
O que vocês acharam da arquitetura é por ai mesmo ta uma droga qualquer observação é valida?
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
galera, sou novo e não conheço ninguem aki. Mas desejo a todos um felisz natal.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
gordoido escreveu:seguindo esse modelo acima minha camada de gateway seria onde ficaria minha autenticação, segurança e tudo mais ...
E o meu gatway acessaria todos os meus serviços necessarios.
E o a camade view ficaria por conta da unity e do unet fazendo o trabalho de espelahar minhas informações via soket.
Como eu tenho uma camada de segurança caso alguem tente rakear na camada de view eu consigo verificar o usuário e parar a partida.
A esse Master Service pelo que li é legado já e não é muito indicado a usarmos.
Acho que vou implementar essa iséia dando certo compartilho com voces.
O que vocês acharam da arquitetura é por ai mesmo ta uma droga qualquer observação é valida?
Master Server velho... E qual você está dizendo? O antigo Master Server da Unity, sim... Ele é obsoleto e da API antiga. Tu ao mesmo deu ao trabalho de visitar o link que eu disse? Aquele não é o Master Server antigo e sim um sistema criado pelo Barebones, usando o HLAPI(Unet) e eu mesmo estou usando no meu projeto como base e estudo. Ele é um sistema completo, tudo que disse acima é basicamente implementado nesse assets. Ele tem um sistema de servidor dedicado, registros de salas, banco de dados, tudo isso GRATUITAMENTE. Estável e bom para estudo, para ti que não tem conhecimento, essa é uma boa escolha. Ele é divido dessa forma:
Master Server -> Spawners* -> Módulos -> Sistema de database, entre muitos outros.
*O Spawner é o módulo usado para spawnar salas, quando criado uma sala, ele aparecerá na lista de salas e esse módulo é responsável pelo gerenciamento delas.
Nas próximas vezes, cheque o material dado antes de comentar! Abraços e um ótimo feriado pagão pra ti!
De olho nas regras:
3- Não é permitido postar novamente em um tópico mais de três vezes seguidas. Caso queira adicionar algo depois de três posts consecutivos, aguarde 24h.
Re: Multiplayer e comunicação
okrecagonlei escreveu:gordoido escreveu:seguindo esse modelo acima minha camada de gateway seria onde ficaria minha autenticação, segurança e tudo mais ...
E o meu gatway acessaria todos os meus serviços necessarios.
E o a camade view ficaria por conta da unity e do unet fazendo o trabalho de espelahar minhas informações via soket.
Como eu tenho uma camada de segurança caso alguem tente rakear na camada de view eu consigo verificar o usuário e parar a partida.
A esse Master Service pelo que li é legado já e não é muito indicado a usarmos.
Acho que vou implementar essa iséia dando certo compartilho com voces.
O que vocês acharam da arquitetura é por ai mesmo ta uma droga qualquer observação é valida?
Master Server velho... E qual você está dizendo? O antigo Master Server da Unity, sim... Ele é obsoleto e da API antiga. Tu ao mesmo deu ao trabalho de visitar o link que eu disse? Aquele não é o Master Server antigo e sim um sistema criado pelo Barebones, usando o HLAPI(Unet) e eu mesmo estou usando no meu projeto como base e estudo. Ele é um sistema completo, tudo que disse acima é basicamente implementado nesse assets. Ele tem um sistema de servidor dedicado, registros de salas, banco de dados, tudo isso GRATUITAMENTE. Estável e bom para estudo, para ti que não tem conhecimento, essa é uma boa escolha. Ele é divido dessa forma:
Master Server -> Spawners* -> Módulos -> Sistema de database, entre muitos outros.
*O Spawner é o módulo usado para spawnar salas, quando criado uma sala, ele aparecerá na lista de salas e esse módulo é responsável pelo gerenciamento delas.
Nas próximas vezes, cheque o material dado antes de comentar! Abraços e um ótimo feriado pagão pra ti!
De olho nas regras:
3- Não é permitido postar novamente em um tópico mais de três vezes seguidas. Caso queira adicionar algo depois de três posts consecutivos, aguarde 24h.
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
me parece que vc sabe bem das coisas não quer compartilhar mais???????
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Re: Multiplayer e comunicação
Entendo pouco, ainda tem muito estudo pela frente... Mas o que eu entendo é basicamente isso... A arquitetura que pensou, é interessante, dependendo do estilo online que seguirá seu game... Mas já lhe adianto, que cliente sendo host, é inviável se for ter informações que não devem ser acessíveis do jogador, de maneira tão fácil, o mais correto é um sistema de gameservers para spawn de salas que as controlam e sejam o host, como nos outros, encarregados de desenvolver todo o flow do game.
Re: Multiplayer e comunicação
recagonlei escreveu:Entendo pouco, ainda tem muito estudo pela frente... Mas o que eu entendo é basicamente isso... A arquitetura que pensou, é interessante, dependendo do estilo online que seguirá seu game... Mas já lhe adianto, que cliente sendo host, é inviável se for ter informações que não devem ser acessíveis do jogador, de maneira tão fácil, o mais correto é um sistema de gameservers para spawn de salas que as controlam e sejam o host, como nos outros, encarregados de desenvolver todo o flow do game.
Eu tinha visto o projeto sim mas me pareceu que ele fazia o mesmo esquema de criar o host no cliente por isso tinha largado de mão. Mas como vc falou denovo, fui olhar la mais uma vez, e ele cria um executavel no servidor. Achei a documentação dele la dentro do código.
Esse lance de criar o exe eu particluarmente não gosto, talves um serviço no windows seja melhor.
Acho que mesmo sendo um serviço pode ficar complicado escalar isso quando necessário teria que ver direitinho como ficaria essa questão.
Mas eu gostaria mesmo é de usar o servidor deles para isso já que eles devem ter todas essas questões muito bem resolvidas.
Só queria que o Host foce criado no servidor só isso. Meu cliente acessa meu server e dai vou no server deles.
Como falei antes não mesmo gosto da idéia do host estar sendo criado no cliente mas eu posso estar exagerando nesse sentimento, porque só vejo exemplo assim.
Meu jogo é de turno, então até acho que essa minha arquitetura vai resolver. Porem concordo plenamente que um servidor seria muito melhor esses exemplos que eles dão na unity de instanciar o host no cliente acho muito ruim, fica muito inseguro.
Acho muito estranho que a unity não coloque nenhum exemplo criando o host em um servidor. talves porque eles queiram que usemos os servidores deles para eles ganharem uma grana.
Estou pensando se é relevante para um jogo de turnos eu criar todo um servidor para isso com base nesse que vc me passou ou usar essa arquitetura mais simple que passei acima. O que vc acha?
gordoido- Iniciante
- PONTOS : 2547
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Comunicação entre scripts
» [Multiplayer] Base para começar um multiplayer?
» MULTIPLAYER LAN
» [Dúvida] comunicação de multiplas linguagens c/ o xml/json desempenho
» Multiplayer
» [Multiplayer] Base para começar um multiplayer?
» MULTIPLAYER LAN
» [Dúvida] comunicação de multiplas linguagens c/ o xml/json desempenho
» Multiplayer
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos