Pular para o conteúdo principal

Elemental Fracture, atualização Marla Server 2.0

· Leitura de 6 minutos
Brendon (Doobs)
Líder do projeto

E aí, pessoal, aqui é o Doobs! Cara, que jornada. Antes de entrar no assunto, deixa eu dizer: eu sei, eu sei. Eu falei seis horas. Acontece que, quando você arranca o encanamento e começa a trocar tudo, às vezes encontra mais alguns vazamentos pelo caminho. Mas depois do que pareceu um ciclo infinito de consertar uma coisa e quebrar outra, fico feliz em informar que está tudo no ar e funcionando melhor do que nunca. Esta atualização é enorme, tão grande que passei do limite do Nitro. Reformulamos a infraestrutura, reforçamos a segurança, melhoramos a eficiência dos servidores e adicionamos bastante automação. Ah, e coloquei algumas melhorias de qualidade de vida no back-end para facilitar a minha vida.

Novidades e melhorias

1. Digam olá para a Marla 2.0

A Marla foi totalmente integrada ao sistema! Ela ainda é um trabalho em andamento (todos nós somos, né?), mas acho que já dá para considerar oficialmente concluída esta versão 2.0. Se você tiver ideias de recursos ou ajustes, me avise. Ela está aqui para facilitar a vida, e eu quero continuar melhorando com base no que vocês precisam.

2. Sentinel: online.

Esta é para o nosso staff, mas também é a base do que está por vir (sem spoilers, desculpa, você vai ter que continuar lendo!). O tão esperado sistema Sentinel está no ar e é oficialmente a espinha dorsal de como acompanhamos os jogadores e gerenciamos o acesso aos servidores. Esse sistema traz um nível de estrutura e supervisão que fazia muita falta, deixando tudo mais justo e transparente para todo mundo. Veja o que ele faz:

  • Registro de atividade dos jogadores, que acompanha as primeiras conexões e mantém um histórico de logins.
  • Controle de acesso, que dá aos administradores uma forma estruturada de gerenciar permissões e restrições.
  • Registro seguro de ações, que garante que todas as interações sejam registradas, mantendo tudo transparente e com responsabilidade. Para quem se preocupa com privacidade, é exatamente isto que está sendo coletado:
  • Nome de usuário (o de quando você começou a jogar Spellbreak)
  • Endereço IP
  • Data e hora da primeira conexão Só isso. Nada de mensagens privadas, nada de rastreamento secreto dos seus outros hábitos de navegação (não me importa quantas horas você passa no YouTube vendo vídeos de conspiração). Agora, a segunda pergunta: "esses dados estão em risco?". A resposta honesta? Sim. Toda interação online carrega algum nível de risco, seja um jogo, o seu banco ou uma rede social. Os únicos dados realmente seguros são os que estão guardados offline ou os que não existem. Dito isso, coloquei proteções para reduzir a exposição:
  • Criptografia, todos os dados coletados são criptografados.
  • Acesso limitado, apenas contas com privilégios elevados (e um token RSA) podem acessá-los.
  • Proteções de root/sudo, descriptografar qualquer coisa exige privilégios completos de root/sudo, ou seja, ninguém fica bisbilhotando por acaso. Um incômodo pequeno, porém: se você mudar de nome de usuário, pode ter problemas de conexão. Conseguimos ajustar isso manualmente no Sentinel, mas, para evitar dor de cabeça, recomendo manter um nome consistente. Sei que isso atrapalha quem vive trocando de nome, e por isso peço desculpas. Mas, ei, pelo menos a sua crise de identidade está segura!

3. Sem Windows, sem cartão de crédito, sem enrolação

Esta é gigante. Depois do que pareceu uma eternidade lidando com as manias do Windows, migramos oficialmente tudo para Linux usando o Wine, com tudo configurado para rodar dentro de um conjunto de contêineres Docker. Acabaram as máquinas virtuais Windows nos atrasando. Acabaram os travamentos aleatórios porque o Windows decidiu que era hora de atualizar agora, ou porque a Pink Marla não gostou de alguma coisa! Enfim, blá-blá-blá de servidor, e o que isso significa para você?

  • Sem o peso do Windows, as VMs Windows consumiam muitos recursos e causavam problemas de desempenho. Isso ficou no passado.
  • Melhor desempenho, o Linux é bem mais eficiente, o que reduz a carga do sistema e deixa a jogatina mais fluida.
  • Mais estabilidade, menos travamentos, mais tempo no ar e uma experiência geral mais suave.
  • Atualizações e manutenção mais rápidas, sem o Windows no caminho, consigo publicar atualizações, correções e otimizações muito mais rápido. Mas aqui vem a parte realmente empolgante. Essa mudança nos dá muito mais flexibilidade para colocar servidores no ar. Podemos:
  • Subir servidores de teste público (PTB) sem derrubar mais nada.
  • Colocar no ar servidores de qualquer ciclo de patch de balanceamento anterior, incluindo o Spellbreak vanilla.
  • Automatizar um monte de tarefas de manutenção, reduzindo a intervenção manual.
  • Oferecer essa configuração a parceiros comunitários internacionais que solicitarem. Isso não é apenas uma vitória para a Elemental Fracture. É uma vitória para toda a comunidade de Spellbreak.

4. Sistema de acompanhamento de partidas melhorado

Acabaram os dias de esperar a lista de servidores rolar sem fim só para ver quem estava online. O Match Tracker Mod voltou, totalmente reintegrado e melhor do que nunca. Agora os dados das partidas são atualizados em tempo real no Discord. O sistema mostra cinco estados de partida:

  • Starting Up, o servidor de jogo está carregando.
  • Waiting for Players, o servidor está aberto e aceitando conexões.
  • Waiting to Start, a contagem regressiva da partida está rolando.
  • Started, a partida está em andamento (foi mal, sem atrasados).
  • Ended, a partida acabou (ou alguma coisa quebrou). Isso facilita muito ver quem está jogando em tempo real, mas também abre outras possibilidades legais. Aliás, eu adoraria a opinião de vocês nisso: a Marla deveria mencionar certos cargos quando houver gente suficiente online? Se tiver dez jogadores ou mais em Solos, ela deveria avisar o @Battle Royale para ajudar a encher a partida? Tem muito potencial aqui, então me digam o que acham.

Olhando para a frente

O próximo grande projeto? O launcher. Hoje, se configurar pode ser meio chato, principalmente se você não é muito de tecnologia. Quero deixar a experiência o mais simples e direta possível. E, embora eu tenha um monte de ideias, não dá para fazer tudo sozinho. Se quiser dar uma mão, me chama. Este é o roteiro:

  1. Chega de digitar IP na mão. Andei estudando como mapear pacotes de rede para modos de jogo específicos, para você só escolher um modo e conectar automaticamente, sem precisar digitar IP.
  2. Sistema de autenticação e acompanhamento. Quero construir um sistema que ligue o progresso do jogador, ou até um ELO, ao seu perfil no Sentinel. Isso abriria caminho para jogatina mais competitiva, melhorias no matchmaking e até torneios.

Se você tiver problemas, feedback ou só quiser me dizer o quanto ama (ou odeia) as mudanças, ou se achar que eu falei demais, me avise. Obrigado por serem sempre a melhor parte da Elemental Fracture e, como sempre, estou animado com o que vem por aí!