Um passo a passo oficial para configurar um servidor dedicado para NEBULOUS: Fleet Command.
Iniciando
Seleção do servidor
Sem os aspectos de renderização, os requisitos de desempenho para N:FC são bastante modestos. Meus testes iniciais da construção do servidor dedicado usaram um horrível $ 15 Hostwinds VPS com 1 núcleo e 2 GB de RAM. Conseguimos concluir alguns jogos de teste 3v3 usando este servidor sem problemas significativos, mas se você deseja que seus jogadores se divirtam, deve procurar algo melhor.
No mínimo, você vai querer 2 núcleos de CPU. O jogo é principalmente de thread único devido às limitações do Unity, mas alguns de nossos processos de longa duração, como pathfinding, são executados em threads separados, pois cada tarefa de pathfinding pode levar vários segundos para ser concluída nos mapas mais complexos. Com apenas um núcleo, você experimentará congelamentos momentâneos sempre que uma tarefa de descoberta de caminho estiver em andamento, como quando cada bote salva-vidas é lançado e calcula uma rota de fuga.
Conseguimos nos contentar com 2 GB de RAM em um teste inicial, mas recomendo que você tenha pelo menos 4 para o servidor.
Para ajudá-lo a calcular suas necessidades com um exemplo, os servidores oficiais funcionam em um VPS com um Ryzen 6X de 5900 núcleos com 16 GB de RAM. Temos dois desses servidores e cada um roda 3 instâncias do jogo. O tráfego de rede pode atingir um pico de saída de 10 Mbps, com tráfego de entrada insignificante.
Obtendo os binários
Atualmente, a compilação do servidor NÃO está disponível de maneira conveniente. Ainda estamos no processo de tornar a ferramenta de servidor disponível para download anonimamente via Steam e coordenando com os provedores de hospedagem para disponibilizar a hospedagem “com um clique”. Assim que estiverem disponíveis, esta seção será atualizada.
Enquanto isso, entre em contato comigo através do bot ModMail em nosso discord oficial para obter acesso à compilação do servidor.
Configuração do host
Esta seção cobrirá a configuração do seu novo servidor.
Depois de encontrar um provedor VPS que gostaria de usar e comprar seu servidor (ou configurar um em um computador sobressalente que você tenha por algum motivo), você precisará configurá-lo. A compilação do servidor é atualmente Linux apenas para economizar nos custos do servidor, já que um sistema operacional Windows pode adicionar até US $ 10 por mês ao aluguel do servidor. Eu corro os servidores oficiais no CentOS, mas você pode usar qualquer sabor que desejar.
Se o seu provedor não fornecer uma interface FTP fácil, você precisará configurar um serviço FTP em seu servidor. Se você decidiu usar o CentOS, você pode siga este guia para fácil configuração.
Também recomendo ALTAMENTE que você configure um firewall se a instalação do sistema operacional não o tiver por padrão. Abordarei as portas que você precisa abrir mais tarde. Para aqueles de vocês que nunca executaram um servidor voltado para a Internet pública antes, ficarão surpresos com a frequência com que seu servidor será invadido por agentes mal-intencionados que procuram transformar seu servidor de jogos em um minerador de bitcoin. Você pode seguir este guia SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Se você estiver executando seu servidor fora de sua casa ou de alguma outra rede com NAT, lembre-se de configurar o encaminhamento de porta em seu roteador para as portas que abordaremos posteriormente.
Por fim, não é recomendável executar o jogo como Root por motivos de segurança, portanto, você deve criar um novo usuário com permissões limitadas que servirá como usuário de execução.
Configuração do servidor
Esta seção abordará a configuração da instância do servidor dedicado N:FC. Lembre-se de que você pode executar várias instâncias em um único servidor se suas especificações forem altas o suficiente.
Carregando a compilação
Depois de ter os binários do servidor, você precisará carregá-los em seu servidor. Depois que o download anônimo da ferramenta Steam estiver ativado, você pode pular esta etapa.
A maneira mais fácil de fazer isso, depois de configurar seu serviço de FTP, é baixar o FileZilla e carregar toda a pasta de construção para a pasta compartilhada. Depois que a compilação for carregada, copie-a para um diretório de instalação de sua escolha:
cp -r /home/ftpuser/shared/Build_Server /installation/directory/you/want/ chown -R gameuser /installation/directory/you/want/ chmod +x /installation/directory/you/want/NebulousDedicatedServer
Arquivo de configuração
Há uma configuração de servidor de exemplo totalmente comentada fornecida com a compilação do servidor para você começar. Lembre-se de que, uma vez que o download automático com o Steam esteja disponível, esse arquivo será rastreado pelo Steam e atualizado se você o alterar, por isso é recomendável fazer uma cópia.
Quando o servidor iniciar, ele procurará por DedicatedServerConfig.xml no diretório de instalação. Você também pode especificar um arquivo de configuração diferente com o sinalizador -serverConfig. Essa opção existe para permitir que várias instâncias sejam executadas sem a necessidade de várias instalações distintas. Eu recomendo que você mantenha seu arquivo de configuração fora do diretório de instalação para que a atualização do servidor não o limpe.
O arquivo de configuração pode ser dividido em algumas seções lógicas:
- Noções básicas do servidor – Coisas como nome, MOTD, contagem de jogadores, portas e administradores.
- Configurações do jogo – Cenário, limite de tempo e outras regras do jogo.
- Rotação do Mapa – Mapas disponíveis e como funciona a rotação.
- Bots – Para servidores PVE.
- Mods – Mods disponíveis e se frotas modificadas são permitidas.
Você pode deixar a seção Admin em branco, mas se quiser controlar seu servidor quando estiver no lobby, precisará estar registrado aqui. Use seu Steam ID de 64 bits.
Filtragem de porta
Se você configurar um firewall (como deveria), precisará abrir as portas apropriadas para que os computadores externos se conectem ao seu servidor. Existem duas portas principais que precisam ser abertas. A porta padrão do jogo é 7777 TCP, e é por ela que todo o tráfego do jogo flui. A porta de consulta padrão do Steam é 27016 UDP, que é necessária para que seu servidor seja consultado pelo navegador do servidor. Use quaisquer portas que você colocar em seu arquivo de configuração.
Desbloqueie essas portas assim:
firewall-cmd --permanent --add-port 7777/tcp firewall-cmd --permanent --add-port 26017/udp systemctl reiniciar firewalld
Lembre-se de encaminhar essas portas em seu roteador se estiver executando o servidor dentro de sua rede doméstica.
Executando seu servidor
Assumindo que tudo acima foi feito corretamente, você deve conseguir iniciar seu servidor agora! Você pode executar o servidor com o seguinte comando:
NOTA: Quando você iniciar seu servidor, receberá um spam absoluto com uma parede de erros sobre shaders ausentes. Este é, aparentemente, um “recurso” do Unity e eles disseram repetidamente em seus fóruns que não será consertado. Você pode ignorá-los com segurança, embora seja muito difícil identificar erros legítimos reais que possam estar impedindo a inicialização correta do servidor.
/installation/directory/you/want/NebulousDedicatedServer -nographics -batchmode -logFile /caminho/para/seu/log/server.log -serverConfig /caminho/para/seu/servidor/ServerConfig.xml
No entanto, isso fará com que seu terminal fique ocupado com o servidor em execução e fechar seu terminal matará o servidor. Você pode colocar um & após o comando para fazer com que ele seja executado em segundo plano ou pode fazer um pouco de esforço extra na próxima seção para facilitar o gerenciamento do servidor.
Configurando um serviço (opcional)
Serviços são processos controlados por meio do daemon systemctl. Você pode criar um processo para qualquer binário que desejar com um arquivo de configuração especial. Isso permitirá que você inicie, inicie e verifique o status do seu servidor de jogo facilmente.
Arquivo de serviço
Os serviços são definidos por arquivos .service e são armazenados em vários locais. Para este tutorial, vamos colocá-lo em /etc/systemd/system/.
Este arquivo criará um serviço simples para nosso servidor N:FC. Salve este arquivo como neb-server.service
[Unit] Description=Nebulous Dedicated Server After=network.target [Install] WantedBy=multi-user.target [Service] Type=simples ExecStart=/installation/directory/you/want/NebulousDedicatedServer -nographics -batchmode -logFile /path/ to/your/log/server.log -serverConfig /path/to/your/server/ServerConfig.xml WorkingDirectory=/installation/directory/you/want/ User=gameuser Group=gameuser Restart=sempre RestartSec=30
Certifique-se de substituir todos os caminhos pelos apropriados que deseja usar.
Depois de escrever este arquivo e copiá-lo para o diretório correto, você precisa recarregar o daemon systemctl:
systemctl daemon-reload
Você pode então usar estes comandos para gerenciar seu serviço:
systemctl start neb-server systemctl status neb-server systemctl stop neb-server
Você também pode configurar seu servidor de jogos para iniciar automaticamente quando o servidor for inicializado com este comando:
systemctl enable --now neb-server
Uma nota sobre mods
Os mods são um tópico precário para servidores dedicados devido ao seu longo tempo de atividade e ao fato de que os mods do Workshop são atualizados automaticamente para os jogadores. Se um mod de workshop for atualizado e um cliente tiver o mod atualizado, mas o servidor estiver em execução por uma semana e, portanto, não tiver recebido a atualização, pode haver um comportamento incomum. Como sempre, os mods são usados por sua conta e risco.
Existem alguns detalhes a serem lembrados se você optar por usar mods.
Download de mods
Atualmente, há um problema com a compilação do servidor dedicado, onde às vezes não é possível baixar mods. Parece variar de acordo com o computador. Executar o servidor para teste em meu próprio computador resultou no download dos mods, mas rodando nas máquinas oficiais do servidor, não. Fui forçado a copiar todos os mods manualmente para o servidor. Para logins anônimos no Steam, que é o que o servidor usa, seus mods são baixados no diretório de instalação em steamapps/workshop/content/887570/ .
Mapas Modificados
Os mapas foram os mods testados com mais frequência durante o desenvolvimento dos servidores dedicados e funcionam bem. A única coisa a lembrar aqui é que você deve especificar o número de ID do mod no seção do seu arquivo de configuração, ou ele não será carregado e, portanto, o mapa não poderá ser usado.
Mods de casco e componentes
Por motivos de segurança, os servidores dedicados não carregarão mods que não estejam incluídos na lista de mods do arquivo de configuração. Se você planeja permitir frotas modificadas em seu servidor, deve listar explicitamente cada uma que está autorizando em sua lista de mods, bem como definir a configuração AllowModdedFleets como true.
Isso é tudo o que estamos compartilhando hoje para isso NEBULOSO: Comando da Frota guia. Este guia foi originalmente criado e escrito por Mártir_de_Kharak. Caso não consigamos atualizar este guia, você pode encontrar a atualização mais recente seguindo este link.