Em versões de Main.exe mais recentes, não temos a possibilidade de editá-los utilizando ferramentas, e então é hora de partir para o editor hex e solucionar o problema:

O que você irá precisar:

- Informações da versão e serial que irá utilizar em seu servidor;
- Um main unpacked;
- Um editor hex; ( tem na area de downloads )
- Conhecimentos básicos em hex.

1] Definindo versão e serial no servidor:

Estas informações são basicamente encontradas no arquivo commonloc.cfg em seu servidor [em alguns casos, já encontrei servidores onde estas informações estavam no commonserver.cfg].

Ao abrir o meu commonloc.cfg, encontrei as seguintes informações:

[GameServerInfo]
ClientExeVersion = 0.99.28
ClientExeSerial = rfgsfdahliaijemf

Vamos supor de que eu desejo padronizar este serial e versão com informações de minha escolha [eu gostava de fazer isso, principalmente para lançar atualizações, assim dificultava o uso de clientes de outros servidores], então vou batizar esta versão como:

[GameServerInfo]
ClientExeVersion = 1.25.75 << nessa linha voce inclui a sua versao nesse formato #.##.##, onde é o digito escolhido
ClientExeSerial = Servidor'''''''''''''' << nessa linha voce inclui um serial com 16 caracteres alfanumericos a sua escolha

Pronto, agora ao ligar seu servidor, você terá as novas configuraçoes em funcionamento, e o seu servidor com sua versão e serial personalizados... e com isso partimos para a edição do main.exe que irá se conectar ao seu servidor sem o famoso erro de "Atualize sua versão...".

2] Noções básicas de Hex

Não vou entrar muito em termos matemáticos para falar sobre hex, ou base-16. O importante a saber é que nesse tipo de sistema, os números são representados de 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F. Para tentar improvisar ao máximo, veja como seria uma contagem de 0~20 em decimal, e em hex.

Decimal: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
Hex.....: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14

Notem que depois de 09, o decimal parte para 10, mas o hex continua contando A~F antes de cair em 10. Esta é a grade jogada dos valores em hex. Você pode utilizar a calculadora do windows, para conhecer mais um pouco sobre este assunto e realizar seus testes.

3] Localizando o serial e versão em seu main.exe

Não é tão dificil de se encontrar a versão e o serial de um main com editor hex, e treinando em versões mais antigas, nas quais você utilizava o SNModifier, facilmente ficará adaptado a encontrar os valores.

Ao abrir o main.exe com um editor hex [utilizei o disponivel em nossa seção de downloads], realize uma busca simples de text string por "mu.exe". Agora, você irá apertar F3 para localizar o próximo "mu.exe", e como resultado tera uma janela assim.

Certo, agora vem a parte chata da coisa... já brincaram de caça palavras? O objetivo aqui é encontrar na janela da direita [textos] a sequencia: ? + 5 caracteres + ??? + 16 caracteres. Os ? representam espaços vazios, os 5 caracteres seriam a versão, e os 16 caracteres seriam o serial. Veja onde estão na foto a seguir.

4] Realizando a alteração do serial [16 caracteres]

Não há muitos segredos aqui, de acordo com nosso main.exe da foto, e o que estabelecemos como novo serial, será necessário substituir os caracteres rfgsfdahliaijemf por ServidorMuciados, obedecendo maiusculas e minusculas. Isso é feito diretamente na janela da direita, selecionando o primeiro caracter da sequencia e digitando o novo serial.


5] Calculando o valor da versão para edição hex.

Talvez esta seja a parte mais chata, pois teremos que calcular o valor da versão para edição do serial. Antes, vou marcar o primeiro caracter do serial e com isso, ficará destacado a sequencia de valores hex, que serão posteriormente editados.

Então agora sabemos o serial deste main em hex é: 31 3B 3B 36 3D

Mas como vou editar estes valores para que se tornem minha superversão 1.25.75? Nem ao menos sei qual a versão deste main =/

O cálculo é simples, mas exige os conhecimentos sobre números hex que vimos anteriormente. O importante a saber aqui é que a base em hex para qualquer versão de mu é 31 32 33 34 35 [estes valores ao lado representam uma suposta versão 0.00.00, sem os pontos logicamente]... dificil de entender? Vejamos com os números em coluna:

Legenda:
BX - Valor Hex para base de cálculos
VR - Versão que desejo editar
VX - Valor em Hex a ser editado

BX - VR
31 - 0
32 - 0
33 - 0
34 - 0
35 - 0

Entao se eu desejo por exemplo uma versão, sei la, 1.00.00... basta somar o 1 da versao mais o 31 da base hex... e teriamos entao:

BX + VR = VX
31 + 1 = 32
32 + 0 = 32
33 + 0 = 33
34 + 0 = 34
35 + 0 = 35

Resultado: Versão 1.00.00 = Valor em Hex 32 32 33 34 35

Mais um exemplo, versão 1.02.19, teriamos:

BX + VR = VX
31 + 1 = 32
32 + 0 = 32
33 + 2 = 35
34 + 1 = 35
35 + 9 = 3E

Resultado: Versão 1.02.19 = Valor em Hex 32 32 35 35 3E

Se você não entendeu esta ultima soma, volte a parte deste tutorial sobre base hex... e você vai entender =) [35...36...37...38...39...3A...3B...]

E finalmente, vamos a nossa versão 1.25.75:

BX + VR = VX
31 + 1 = 32
32 + 2 = 34
33 + 5 = 38
34 + 7 = 3B
35 + 5 = 3A

Resultado: Versão 1.25.75 = Valor em Hex 32 34 38 3B 3A

Edite os 5 valores em Hex obtidos 32 34 38 3B 3A no lugar dos atuais 31 3B 3B 36 3D, salve o arquivo com as alterações, e finalmente temos um main.exe compatível com a nossa versão.

Boa sorte com seus testes, sucesso e chega do famoso erro "Esta versão não esta atualizada/compatível"!


"obs texto original retirado de um blog na net. achei muito util entao coloquei aki pra vcs."

"creditos ?? nao sei quem escreveu isso mais eu so copiei^^"
" axo ki é topmubr" me corrijam se estiver errado."

espero ter ajudado.