184 implementou um MVP disso (usando um script bash ao invés de outro módulo Java).
Ficaram faltando:
[x] Ao receber o sinal, servidor tem que desconectar jogadores à medida em que eles terminam suas partidas (de repente setar um boolean static no JogadorConectado, aí as próprias instâncias se desconectam)
[x] Ao receber o sinal, servidor tem que avisar jogadores que houve atualização e eles serão desconectados ao final da partida atual (ou imediatamente se não estiverem em jogo); melhor fazer depois que implementarmos esse tipo de notificação; os próprios JogadorConectado poderiam fazer isso com a flag sugerida acima
[x] ~Se algo der errado no envio do sigusr e o launcher cair, o servidor vai continuar rodando e escutando (impedindo novas instâncias de subirem); de repente pensar em algum cleanup ou timeout pra isso (talvez no startup do launcher mandar o sigusr1 pra qualquer processo que se pareça com um servidor desgarrado)?~ Foi pra #186
A gente poderia fazer um deploy com soft rollover, +/- da seguinte forma:
java -jar <caminho>server.jar
(1) como? o replace é atômico? (2) como? (stopfile, signal, etc) (3) precisa?