PDA

View Full Version : |Vídeo Aula| Criando um SubServer e não SUbSala =D



kingrox
20/11/2019, 08:29 PM
é mais simples do que parece...


[Only registered and activated users can see links]

andredeco
20/11/2019, 08:43 PM
Tutorial do Louis, mesma conta em Servidores diferentes, Personagens separados.


Fala galera, nesse tutorial vou explicar como criar um SUB-SERVER no MuEMU, você poderá ter um servidor Hard e easy utilizando as mesmas contas já criadas em um deles.

Mas como assim?

Por exemplo, você tem um servidor easy e gostaria de criar um servidor hard, você pode fazer tudo isso usando apenas uma máquina, apenas um cliente, e usar as mesmas conta que já foram criadas no servidor easy.

Mas então o player vai entrar no hard e já vai ter os personagens que ele tem no easy?

A resposta é não, ele usará a mesma conta, mais todos os personagens, itens, quests, resets, serão independentes do easy, será um novo servidor.

Vamos começar?

1° Passo:
Copie a pasta MuServer e renomeie para Muserver _HARD (exemplo).

2º Passo:
Crie uma nova DB no Sql server Chama MuOnline2, restaure o banco de dados zerado do seu servidor, banco de dados original que vem com o muserver, você pode restaurar a sua própria db Muonline porém terá de zerar todas as tabelas.

3º Passo:
Crie um nova ODBC chamada MuOnline2 e conecte ela com o banco de dados MuOnline2

4º Passo:
Edite todo seu Muserver _HARD, exp, drop de itens, eventos, etc.

5° Passo:
Edite o arquivo Muserver _HARD/Dataserver/DataServer.ini
[DataServerInfo]
CustomerName = enoch
DataServerODBC = MuOnline2 <-DEFINA MUONLINE2
DataServerPort = 55964 <-MUDE A PORTA PARA NÃO DAR CONFLITO COM A PORTA DO EASY


6° Passo:
Edite o arquivo Muserver _HARD/GameServer/GameServerInfo - Common.dat
;================================================= =
; Server Settings
;================================================= =
ServerName = Hard
ServerCode = 21 <-MUDE PARA CRIAR UM SUBGRUPO NA SELEÇÃO DOS SERVIDORES
ServerLock = 0
ServerPort = 55903 <-MUDE A PORTA PARA NÃO DAR CONFLITO COM A PORTA DO EASY
ServerVersion = 1.04.08
ServerSerial = TbYehR2hFUPBKgZz
ServerMaxUserNumber = 200

;================================================= =
; Connection Settings
;================================================= =
DataServerAddress = 127.0.0.1
DataServerPort = 55964 <- Coloque a nova porta do data server que você definiu no passo 5
JoinServerAddress = 127.0.0.1
JoinServerPort = 55970 <-Não mude
ConnectServerAddress = 127.0.0.1
ConnectServerPort = 55557 <-Não mude



7° Passo:
Edite o arquivo Muserver/ConnectServer/ServerList.dat (isso fica na pasta do servidor easy)
//ServerCode ServerName ServerAddress ServerPort ServerType
11 "GameServer" "SEU_IP" 55901 "SHOW"
19 "GameServerCS" "SEU_IP" 55919 "HIDE"
21 "GameServer" "SEU_IP" 55903 "SHOW" <- Adicione a linha referente ao servidor hard ( a porta deve ser a mesma que definiu no passo 6)
29 "GameServerCS" "SEU_IP" 55929 "HIDE" <- Edite como no passo 6 o arquivo Muserver _HARD/GameServerCS/GameServerInfo - Common.dat
end





8° Passo:
Edite o arquivo Muserver _HARD/data/MapServerInfo.dat
//ServerCode MapServerGroup InitSetVal IpAddress Port
21 0 1 SSEU_IP 55903
29 0 0 SSEU_IP 55929
end

1
//ServerCode NotMoveOption NextMap NextServerCode
21 0 30 19
21 0 31 19
21 0 34 19
21 0 41 19
21 0 42 19
21 0 79 19
29 1 30 -1
29 1 31 -1
29 1 34 -1
29 1 41 -1
29 1 42 -1
29 1 79 -1
end


Repare no que está em vermelho se está de acordo com suas configurações.

9° Passo:
Se você fez tudo corretamente você já pode abrir o servidor, lembre-se sempre de abrir os servidor easy primeiro, pois nele está o ConnectServer(responsável pela conexão dos clientes ao servidor) e o JoinServer(responsável por verificar e validar sua conta junto ao banco de dados).

Então abra o servidor Easy normalmente, após isso, no servidor hard você deve abrir apenas o DataServer, GameServer, e GameServerCs. Não esqueça de liberar todas as portas necessárias para conexão, no caso acima apenas a porta 55903(porta gameserver) e 55929(porta gameserver CS).

Considerações finais:
As contas ficarão sempre na tabela MEMB_INFO do banco de dados MuOnline. Qualquer dúvida não deixe de perguntar, isso foi testado e aprovado por mim, se esqueci de algo favor informar.

Compartilho este tutorial tendo em vista a facilidade de se usar a mesma conta para servidores de xp, difucldades, etc... diferentes.

kingrox
20/11/2019, 08:56 PM
Do louis muda só que ele não usa um novo joinserver

andredeco
20/11/2019, 09:31 PM
Do louis muda só que ele não usa um novo joinserver

Sim, pois o JoinServer serve para a Conta conectar ao Banco de Dados, como o tutorial do Louis usa a mesma conta para 2 Servidores só é necessário
um JoinServer.

cronusmaker
21/11/2019, 02:15 PM
Do louis muda só que ele não usa um novo joinserver

sera que foi por isso que o meu deu conflito ?

fiz outro data e outro join

depois de um tempo clicando nas duas salas começou a logar o mesmo char

Beeki
21/11/2019, 06:43 PM
Uma dúvida que sempre tive, consigo fazer isso utilizando hosts diferentes? Por exemplo, um dedicado aqui no Brasil e outro no EUA, utilizando o mesmo cliente/db?

andredeco
21/11/2019, 07:36 PM
Uma dúvida que sempre tive, consigo fazer isso utilizando hosts diferentes? Por exemplo, um dedicado aqui no Brasil e outro no EUA, utilizando o mesmo cliente/db?

Acho que tem como, mas o problema deste Servidor aqui é que ele faz a conexão com o Banco de Dados apenas via ODBC
e o SQL não aceita conexão remota via ODBC, nunca consegui kk
Teria que deixa o DataServer na máquina que está o SQL e depois configurar os IP's corretamente para apontar lá onde está
o DataServer.

cronusmaker
01/12/2019, 06:23 PM
Uma dúvida que sempre tive, consigo fazer isso utilizando hosts diferentes? Por exemplo, um dedicado aqui no Brasil e outro no EUA, utilizando o mesmo cliente/db?

sim e possível porem pode haver uma latência com o tempo de comunicação com o banco de dados


Acho que tem como, mas o problema deste Servidor aqui é que ele faz a conexão com o Banco de Dados apenas via ODBC
e o SQL não aceita conexão remota via ODBC, nunca consegui kk
Teria que deixa o DataServer na máquina que está o SQL e depois configurar os IP's corretamente para apontar lá onde está
o DataServer.

a odbc pode ser usada remotamente tambem ao inves de deixar (local) no campo vc vai definir o ip no campo de servidor se tudo ocorrer corredo so logar com os dados e ira aparecer as dbs se você colocar atem um pontinho no lugar do server alguns sql ja reconhece como server local

[Only registered and activated users can see links]

Beeki
02/12/2019, 11:49 PM
cronusmaker latência a gente resolve com proxy. :)

cronusmaker
03/12/2019, 04:46 PM
@cronusmaker ([Only registered and activated users can see links]) latência a gente resolve com proxy. :)

pois e manito a unica incoguinita que eu tenho e quanto a o joinserver e ao conectserver se no caso de uma seguinda maquina da pra fazer remortamente ou tem que fazer alguma gambiarra o cs e certeza

Beeki
03/12/2019, 04:53 PM
pois e manito a unica incoguinita que eu tenho e quanto a o joinserver e ao conectserver se no caso de uma seguinda maquina da pra fazer remortamente ou tem que fazer alguma gambiarra o cs e certeza

Uma incógnita, com base em que? O DS, CS e JS permanecerão juntos (mesmo host), e os gamesevers separados, em máquinas diferentes, e a conexão seria feita através de um proxy.

cronusmaker
03/12/2019, 09:01 PM
Uma incógnita, com base em que? O DS, CS e JS permanecerão juntos (mesmo host), e os gamesevers separados, em máquinas diferentes, e a conexão seria feita através de um proxy.

e pq tem gs que recusa se ligar se não encontrar o processo do joinserver mais no caso da mu emu pode ser executado remotamente