Console Farsight
Console web local e também o único ponto de entrada: definir a pasta do jogo, iniciar e parar os serviços, iniciar e parar instâncias do jogo, configurar a próxima partida, ver o que a IA está pensando, dar ordens manuais, dirigir a câmera e consultar o histórico de partidas.
O Farsight é o console web que roda na sua máquina e só escuta em 127.0.0.1. Ele também é o único ponto de entrada de todo o sistema: iniciar partidas, trocar de IA, o gateway, os balões de fala e o LLM local, tudo é feito aqui, sem precisar procurar outros scripts.
start.bat # verifica a instalação e depois abre o Farsight em http://127.0.0.1:8866
start.bat 5 6 # também inicia os testes nas instâncias 5 e 6 (jogo + cérebro de referência)
start.bat restart # reinicia só o backend do Farsight (depois de alterar o código do servidor; jogos e serviços não são afetados)
stop.bat # para tudo
A porta é configurada em ports.console, no openwar3.json (padrão 8866).
Central de controle
A página inicial do Farsight.
- Pasta do jogo: localiza automaticamente ou você mesmo escolhe; verifica a versão do jogo e extrai os dados do seu jogo.
- Serviços locais: gateway, balões de fala, LLM local (LM Studio) e prévia local do site; cada cartão permite iniciar, parar, reiniciar e ver os logs. Também mostra se o servidor MCP foi conectado por algum cliente.
- Verificação do ambiente: se o Python, os arquivos do runtime, os dados do jogo, os dados do AMAI e as demais partes estão instalados.
- Parar tudo (canto superior direito): as instâncias do jogo, a IA, o gateway, os balões, o modelo local usado por este sistema e o backend do Farsight param, nessa ordem; é o mesmo que dar dois cliques em
stop.bat. Os servidores MCP são gerenciados pelos clientes, como o Claude, e não são parados; o próprio programa LM Studio também não é fechado.
Páginas
| Grupo | Página | O que faz |
|---|---|---|
| Controle geral | Central de controle | Veja a seção anterior |
| Partida | Visão geral | Resumo da partida na instância atual |
| Comando de batalha | Vista do mapa; permite dar ordens manuais (ordens manuais têm a maior prioridade na tabela de reivindicações: 95) | |
| Dados de unidades | Ordem, alvo da tarefa, mana, nível e experiência do herói, recargas de habilidades e inventário de cada unidade | |
| Decisões da IA / Decisões de combate | O que o cérebro de referência está pensando neste tick e os detalhes de cada decisão de combate | |
| Conselheiro de estratégia | Status do conselheiro com LLM: se o servidor do modelo está no ar, se cada instância está conectada, a última sugestão e a entrada que ele viu | |
| Direção | Câmera automática, barras de vida sobre as unidades | |
| Balões de fala | Fazer unidades falarem, conversar com o modelo local, roda de conversa dos camponeses, diálogo na câmera, gatilhos da partida, configurações do modelo. Veja Balões de fala | |
| Velocidade de comandos | APM e vazão de comandos | |
| Eventos e entrada | O que aconteceu na partida: feitiços lançados, chat e mensagens na tela, cliques em botões, teclas de atalho, cliques no chão, seleção, jogadores que saem, com filtro por categoria; ao lado, a posição do mouse, o item sob o cursor e a seleção local. Veja Interface e entrada | |
| Registros | Logs / Histórico de partidas | Fontes de log de cada instância; resultado, duração e pico de tropas de cada partida |
| Notas de problemas | No jogo, aperte Pause/Break para pausar e marcar o momento; depois, complete a descrição aqui | |
| Sistema | Instâncias e partidas | Iniciar e parar instâncias; configurar o mapa (mapas de confronto, ou também mapas RPG / personalizados), as raças, a dificuldade e a velocidade da próxima partida; escolher um esquema de IA para cada instância; “Iniciar teste” sobe o jogo + a IA com um clique |
| Esquemas de IA | Importar, exportar, copiar, confiar e excluir esquemas, trocar o esquema de uma instância (até a partida em andamento pode passar na hora para outra IA) e ver os resultados de cada esquema. Veja Esquemas de IA | |
| Console JASS | Escreva um script JASS e clique em executar; à direita, consulte as 1291 funções por categoria e clique para inseri-las no script; as variáveis ficam guardadas durante toda a partida. Veja Canal JASS | |
| Conexão e extensão | Status do gateway e início com um clique; endereços de conexão gerados por papel (dev / jogador / observador), comandos e configuração para conectar o MCP; exemplos em JS e Python. Veja Gateway e MCP | |
| Dados e disco | Quanto espaço em disco ocupa cada tipo de dado de execução (gravações, histórico de partidas, logs etc.), quanto foi adicionado no último dia e o que pode ser apagado (o Farsight nunca apaga nada automaticamente) | |
| Configurações | Pasta do jogo, idioma da interface, aparência (escuro / claro, moderno / estilo Warcraft) etc. | |
| Feedback e sugestões | Encontrou um problema ou tem uma sugestão? Envie direto para nós; as informações de diagnóstico só são anexadas se você marcar a opção, e dá para visualizá-las antes de enviar |
Aperte Ctrl + K para abrir a paleta de comandos: ir para uma página, trocar de instância, encerrar a partida atual, iniciar um novo cérebro.
Na parte de baixo da barra lateral, “Novidades” lista o que foi adicionado recentemente ao Farsight e à plataforma. Ao iniciar (e depois a cada 6 horas), o Farsight pergunta ao War3AI.com se há uma versão nova e, se houver, avisa você. Quando o Farsight é atualizado, aparece um aviso no topo da página: salve o que estiver digitando e clique em “Recarregar”.
Várias instâncias
O runtime/farm.py cuida de abrir várias instâncias (o Farsight o chama por você ao iniciar e parar instâncias): copia o lançador original War3.exe e o renomeia para War3-<N>.exe (sem modificar nenhum arquivo do jogo), e cada instância recebe um número e uma pasta (bin/inst<N>/). Ao fim de uma partida, a próxima começa automaticamente conforme o next_game.json (que é o que a página “Instâncias e partidas” do console edita).
O seu Bot se conecta a uma instância específica com --inst N. A página “Instâncias e partidas” do console mostra quais números estão em uso — não use o mesmo número do cérebro de referência.
Página de live
http://127.0.0.1:8866/live é uma página de log com rolagem, feita para usar como “Fonte de navegador” no OBS, que mostra as decisões da IA e o andamento da partida.
API
O servidor do console é um conjunto de APIs REST + WebSocket locais (status das instâncias, configuração da próxima partida, detalhes de unidades, ordens manuais, logs, histórico de partidas, direção, esquemas de IA, chamadas JASS, canvas…); a página web é só um dos clientes, e programas em qualquer linguagem podem chamá-las diretamente. A lista de endpoints fica no cabeçalho do arquivo console/server/app.py; o uso dos grupos de esquemas, JASS e canvas está em Esquemas de IA, Canal JASS e Canvas, respectivamente.