Skip to main content

gogomoa-patch-server

Predecessor do halk-patch-server. Implementação minimalista em PHP de um servidor de patch do MHF — serve os arquivos que o launcher precisa para atualizar o jogo.

Foi substituído pelo halk-patch-server, que adiciona suporte a pre-release, API administrativa, versionamento e edição de arquivos do jogo.

Como funciona

O launcher faz requisições HTTP para um único endpoint (mhf_file.php) com query params que indicam qual arquivo quer:

Query paramArquivo retornadoDescrição
?keykey.txt (como MHFUP_00.DAT)Metadados e checksums dos arquivos do jogo
?chkchk.txtMensagem de verificação estática do jogo

Arquitetura

Launcher → nginx:8080 → PHP-FPM:9000 → mhf_file.php

O nginx roteia as requisições para o PHP-FPM, que lê e serve os arquivos diretamente do disco com readfile().

Geração do key.txt

O key.txt é gerado pelo script genMhfKey.py, que percorre a pasta mhfdat/ e para cada arquivo calcula:

  • CRC32 do conteúdo
  • Timestamp no formato Windows FILETIME

Saída por linha:

CRC32,FILETIME_HIGH,FILETIME_LOW,dat\arquivo.dat,SIZE,0

Comparação com halk-patch-server

gogomoahalk
LinguagemPHPRust
Release / Pre-releaseNãoSim
API administrativaNãoSim (porta 5000)
Versionamento de patchesNãoSim
Edição de itens/monstrosNãoSim