Criando e configurando um servidor Minecraft

Criando e configurando um servidor Minecraft

Minecraft é um dos jogos online mais populares da atualidade. Em menos de três anos (o primeiro lançamento oficial ocorreu no outono de 2011), conquistou milhões de fãs ao redor do mundo.

Os desenvolvedores de jogos concentram-se deliberadamente nos melhores exemplos de vinte anos atrás, quando muitos jogos eram, pelos padrões atuais, primitivos em termos de gráficos e imperfeitos em termos de usabilidade, mas ao mesmo tempo eram verdadeiramente emocionantes.

Como todos os jogos sandbox, o Minecraft oferece ao usuário enormes oportunidades de criatividade - esse, na verdade, é o principal segredo de sua popularidade.

Os servidores para jogos multijogador são organizados pelos próprios jogadores e suas comunidades. Hoje existem dezenas de milhares de servidores de jogos operando na Internet (veja, por exemplo, a lista aqui).

Existem muitos fãs deste jogo entre nossos clientes e eles alugam equipamentos de nossos data centers para projetos de jogos. Neste artigo falaremos sobre quais pontos técnicos você precisa prestar atenção na hora de escolher um servidor para
Minecraft.

Escolhendo uma plataforma

Minecraft inclui os seguintes elementos arquitetônicos:

  1. servidor - um programa através do qual os jogadores interagem entre si pela rede;
  2. cliente - programa de conexão ao servidor, instalado no computador do jogador;
  3. plugins - adições ao servidor que adicionam novas funções ou expandem as antigas;
  4. mods são adições ao mundo do jogo (novos blocos, itens, recursos).

Existem muitas plataformas de servidor para Minecraft. Os mais comuns e populares são Vanilla e Bukkit.

Baunilha Esta é a plataforma oficial dos desenvolvedores de jogos. É distribuído em versões gráficas e de console. Uma nova versão do Vanilla sempre sai ao mesmo tempo que uma nova versão do Minecraft.

A desvantagem do Vanilla é o consumo excessivo de memória (aproximadamente 50 MB por player). Outra desvantagem significativa é a falta de plugins.

bukkit foi criado por um grupo de entusiastas que tentaram melhorar o servidor oficial do Minecraft. A tentativa acabou sendo bem-sucedida: o Bukkit tem funcionalidades muito mais amplas do que o Vanilla, principalmente devido ao suporte de vários mods e plug-ins. Ao mesmo tempo, consome menos memória por player - aproximadamente 5 a 10 MB.

As desvantagens do Bukkit são que ele ocupa muita RAM durante a execução. Além disso, quanto mais tempo o servidor funciona, mais memória ele requer (mesmo que haja poucos jogadores). Ao escolher o Bukkit como servidor, você deve ter em mente que suas novas versões, via de regra, contêm erros; A versão estável geralmente aparece aproximadamente 2 a 3 semanas após o lançamento da versão oficial do Minecraft.

Além disso, outras plataformas ganharam popularidade recentemente (por exemplo, Spout, MCPC e MCPC+), mas têm compatibilidade limitada com Vanilla e Bukkit e suporte extremamente limitado para mods (por exemplo, para Spout você só pode escrever mods do zero). Se forem usados, apenas para experimentos.

Para organizar um servidor de jogo, recomendamos a utilização da plataforma Bukkit, por ser a mais flexível; Além disso, existem muitos mods e plug-ins diferentes para ele. A operação estável de um servidor Minecraft depende em grande parte da escolha correta da plataforma de hardware. Vamos considerar esse problema com mais detalhes.

Requisitos de hardware

Tanto o servidor quanto o cliente do Minecraft exigem muito dos recursos do sistema.
Ao escolher uma plataforma de hardware, você deve ter em mente que um processador multi-core não oferecerá muitas vantagens: o núcleo do servidor Minecraft só pode usar um thread de computação. O segundo núcleo, entretanto, seria útil: alguns plugins são executados em threads separadas, e Java também consome muitos recursos...

Portanto, para um servidor Minecraft, é melhor escolher um processador que tenha maior desempenho de núcleo único. Um processador dual-core mais potente será preferível a um processador multi-core menos potente. Em fóruns especializados, recomenda-se a utilização de processadores com frequência de clock de pelo menos 3 GHz.

Para o funcionamento normal do servidor Minecraft, é necessária uma grande quantidade de RAM. Bukkit ocupa aproximadamente 1 GB de RAM; além disso, para cada jogador, conforme mencionado acima, são alocados de 5 a 10 MB. Plugins e mods também consomem muita memória. Para um servidor com 30 a 50 jogadores, portanto, você precisará de pelo menos 4 GB de RAM.

No Minecraft, muito (por exemplo, carregar os mesmos plug-ins) depende da velocidade do sistema de arquivos. Portanto, é preferível escolher um servidor com disco SSD. É improvável que os discos de fuso sejam adequados devido à baixa velocidade de leitura aleatória.

A velocidade da sua conexão com a Internet também é de grande importância. Para um jogo de 40 a 50 pessoas, um canal de 10 Mb/s é suficiente. Porém, para quem está planejando um projeto minecraft maior, incluindo site, fórum e mapa dinâmico, é altamente desejável ter um canal com mais largura de banda.

Qual configuração específica é melhor escolher? De configurações que oferecemos Recomendamos que você preste atenção ao seguinte:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/mês;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB de RAM, 2x500 GB SATA, 3500 rublos/mês. — usamos esta configuração para nosso servidor de teste MineCraft, no qual você pode jogar agora mesmo (como fazer isso está escrito abaixo);
  • Intel Core i3-2120 3.3 GHz, 8 GB de RAM, 2x500 GB SATA, 3500 RUR/mês.

Essas configurações são bastante adequadas para criar um servidor Minecraft para 30 a 40 jogadores. Alguma desvantagem é a falta de drives SSD, mas damos outra vantagem importante: um canal garantido de 100 Mb/s sem quaisquer restrições ou proporções. Ao solicitar todas as configurações listadas acima, não há taxa de instalação.

Também temos servidores mais produtivos, mas ao mesmo tempo, naturalmente, mais caros (ao solicitar essas configurações também não é cobrada taxa de instalação):

  • 2x Intel Xeon 5130, 2 GHz, 8 GB de RAM, 4x160 GB SATA, 5000 rublos/mês;
  • 2x IntelXeon 5504, 2GHz, 12GB de RAM, 3x1TB SATA, 9000 rublos/mês.

Também recomendamos prestar atenção ao novo modelo econômico com unidade SSD baseada no processador Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB de RAM, SSD de 2x240 GB, 4000 rublos/mês, pagamento de instalação - 3000 rublos.

Instalando e executando o servidor Bukkit no OC Ubuntu

Antes de instalar o servidor, vamos criar um novo usuário e adicioná-lo ao grupo sudo:

$ sudo useradd -m -s /bin/bash <nome de usuário> $ sudo adduser <nome de usuário> sudo

A seguir, definiremos a senha com a qual o usuário criado se conectará ao servidor:

$ sudo senha <nome de usuário>

Vamos nos reconectar ao servidor com uma nova conta e iniciar a instalação.
O Minecraft é escrito em Java, portanto o Java Runtime Environment deve estar instalado no servidor.

Vamos atualizar a lista de pacotes disponíveis:

$ sudo apt-get update

Em seguida, execute o seguinte comando:

$ sudo apt-get install default-jdk

Para instalar e executar o Bukkit, também é aconselhável instalar um multiplexador de terminal - por exemplo, screen (você também pode usar outros multiplexadores de terminal - veja nosso visão global):

$ sudo tela de instalação do apt-get

A tela será necessária se nos conectarmos ao servidor do jogo via ssh. Com sua ajuda, você pode executar o servidor Minecraft em uma janela de terminal separada e, mesmo depois de fechar o cliente ssh, o servidor funcionará.

Vamos criar um diretório no qual os arquivos do servidor serão armazenados:

$ mkdir bukkit $ cd bukkit

Depois disso vamos para Página de download do site oficial do Bukkit. Na parte superior direita da página você pode ver um link para a última versão recomendada do servidor. Recomendamos baixá-lo:

$ wget <link da versão recomendada>

Agora vamos executar a tela:

$ sudo tela

e execute o seguinte comando:

$ java -Xmx1024M -jar craftbukkit.jar -o falso

Vamos explicar o que significam os parâmetros usados:

  • Xmx1024M – quantidade máxima de RAM por servidor;
  • jar craftbukkit.jar - chave do servidor;
  • o falso - permite acesso ao servidor de clientes piratas.

O servidor será iniciado.
Você pode parar o servidor digitando o comando stop no console.

Configurando e configurando o servidor

As configurações do servidor são armazenadas no arquivo de configuração server.properties. Ele contém os seguintes parâmetros:

  • gerador-settings — define o modelo para gerar um mundo superplano;
  • permitir-nether - determina a possibilidade de mudança para o Mundo Inferior. Por padrão, essa configuração é definida como verdadeira. Se definido como falso, todos os jogadores do Nether serão movidos para o normal;
  • nome do nível - o nome da pasta com os arquivos do mapa que serão usados ​​​​durante o jogo. A pasta está localizada no mesmo diretório onde os arquivos do servidor estão localizados. Se não existir tal diretório, o servidor cria automaticamente um novo mundo e o coloca em um diretório com o mesmo nome;
  • enable-query - quando definido como true, ativa o protocolo GameSpy4 para escutar o servidor;
  • permitir voo - permite voos ao redor do mundo Minecraft. O valor padrão é falso (voos são proibidos);
  • server-port - indica a porta que será utilizada pelo servidor do jogo. A porta padrão para Minecraft é 25565. Não é recomendado alterar o valor deste parâmetro;
  • level-type - determina o tipo de mundo (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - permite acesso remoto ao console do servidor. Por padrão está desabilitado (falso);
  • level-seed - dados de entrada para o gerador de nível. Para poder criar mundos aleatórios, este campo deve ser deixado em branco;
  • force-gamemode - define o modo de jogo padrão para jogadores conectados ao servidor;
  • server-ip – indica o endereço IP que será utilizado pelos jogadores para se conectarem ao servidor;
  • max-build-height - indica a altura máxima de um edifício no servidor. Seu valor deve ser múltiplo de 16 (64, 96, 256, etc.);
  • spawn-npcs - permite (se definido como verdadeiro) ou proíbe (se definido como falso) o aparecimento de NPCs nas aldeias;
  • lista branca - ativa ou desativa o uso de uma lista branca de jogadores no servidor. Se definido como verdadeiro, o administrador poderá criar uma lista branca adicionando manualmente apelidos de jogadores a ela. Se estiver definido como falso, qualquer usuário que conheça seu endereço IP e porta poderá acessar o servidor;
  • spawn-animals - permite a geração automática de mobs amigáveis ​​se definido como verdadeiro);
  • habilitado para snooper - permite que o servidor envie estatísticas e dados aos desenvolvedores;
  • hardcore - ativa o modo Hardcore no servidor;
  • Texture-pac - arquivo de textura que será usado quando o player se conectar ao servidor. O valor deste parâmetro é o nome do arquivo zip com texturas, que fica armazenado no mesmo diretório do servidor;
  • modo online - permite a verificação de contas premium de usuários conectados ao servidor. Se este parâmetro for definido como verdadeiro, apenas titulares de contas premium poderão acessar o servidor. Se a verificação da conta estiver desabilitada (definida como falsa), qualquer usuário poderá acessar o servidor (incluindo, por exemplo, jogadores que falsificaram seu apelido), o que cria riscos de segurança adicionais. Quando a verificação está desativada, você pode jogar Minecraft em uma rede local, sem acesso à Internet;
  • pvp - permite ou proíbe os jogadores de lutarem entre si. Se este parâmetro for verdadeiro, os jogadores podem destruir uns aos outros. Se definido como falso, os jogadores não poderão causar dano direto uns aos outros;
  • dificuldade - define o nível de dificuldade do jogo. Pode assumir valores de 0 (mais fácil) a 3 (mais difícil);
  • gamemode - indica qual modo de jogo será definido para os jogadores que entrarem no servidor. Pode assumir os seguintes valores: 0 - Sobrevivência, 1-Criativo, 2-Aventura;
  • player-idle-timeout — tempo de inatividade (em minutos), após o qual os jogadores são automaticamente desconectados do servidor;
  • max-players — o número máximo permitido de jogadores no servidor (de 0 a 999);
  • spawn-monsters - permite (se definido como true) o surgimento de mobs hostis;
  • gerar estruturas — habilita (verdadeiro)/desabilita (falso) a geração de estruturas (tesouros, fortalezas, aldeias);
  • view-distance - ajusta o raio dos pedaços atualizados a serem enviados ao jogador; pode assumir valores de 3 a 15.

Os logs do servidor Minecraft são gravados no arquivo server.log. Ele é armazenado na mesma pasta que os arquivos do servidor. O log aumenta constantemente de tamanho, ocupando cada vez mais espaço em disco. Você pode agilizar o trabalho do mecanismo de log usando a chamada rotação de log. Para rotação, é usado um utilitário especial - logrotate. Limita o número de entradas no log a um determinado limite.

Você pode configurar a rotação do log para que todas as entradas sejam excluídas assim que o arquivo de log atingir um determinado tamanho. Você também pode definir um período após o qual todas as entradas antigas serão consideradas irrelevantes e excluídas.

As configurações básicas de rotação estão localizadas no arquivo /etc/logrotate.conf; Além disso, você pode criar configurações individuais para cada aplicativo. Arquivos com configurações individuais são armazenados no diretório /etc/logrotate.d.

Vamos criar um arquivo de texto /etc/logrotate.d/craftbukkit e inserir os seguintes parâmetros nele:

/home/craftbukkit/server.log {rodar 2 semanas compress missok notifempty }

Vejamos seus significados com mais detalhes:

  • o parâmetro rotacionar especifica o número de rotações antes de excluir o arquivo;
  • semanalmente indica que a rotação será realizada semanalmente (você também pode definir outros parâmetros: mensalmente - mensalmente e diariamente - diariamente);
  • compress especifica que os logs arquivados devem ser compactados (a opção inversa é nocompress);
  • Missok indica que se não houver arquivo de log, você deve continuar trabalhando e não exibir mensagens de erro;
  • notifempty especifica para não deslocar o arquivo de log se ele estiver vazio.

Você pode ler mais sobre as configurações de rotação de log aqui.

Dicas de otimização

Imediatamente façamos uma reserva de que esta seção fornecerá dicas relacionadas apenas à otimização do servidor do jogo. As questões de ajuste fino e otimização do servidor no qual o Minecraft está instalado são um tópico separado que está além do escopo deste artigo; leitores interessados ​​podem encontrar facilmente as informações de que precisam na Internet.

Um dos problemas mais comuns que surgem ao jogar Minecraft são os chamados atrasos - situações em que o programa não responde à entrada do usuário em tempo hábil. Eles podem ser causados ​​​​por problemas tanto no lado do cliente quanto no lado do servidor. A seguir daremos recomendações que ajudarão a reduzir a probabilidade de ocorrência de problemas no servidor.

Monitore regularmente o consumo de memória do servidor e plugins

O consumo de memória pode ser monitorado usando plug-ins administrativos especializados - por exemplo, Medidor de Lag.

Fique ligado nas atualizações do plugin

Via de regra, os desenvolvedores de novos plugins se esforçam para reduzir a carga a cada nova versão.

Tente não usar muitos plugins com funcionalidades semelhantes

Plug-ins grandes (por exemplo, Essentials, AdminCMD, CommandBook) muitas vezes incluem a funcionalidade de muitos plug-ins menores. Por exemplo, o mesmo Essential contém as funções dos plugins iConomy, uHome, OpenInv, VanishNoPacket, Kit. Plugins pequenos, cuja funcionalidade é totalmente coberta pela funcionalidade de um grande, na maioria dos casos podem ser removidos para não sobrecarregar o servidor.

Restrinja o mapa e carregue-o você mesmo

Se você não limitar o mapa, a carga no servidor aumentará significativamente. Você pode limitar o mapa usando um plugin Fronteira Mundial. Para fazer isso, você precisa executar este plugin e executar o comando /wb 200 e, em seguida, desenhar o mapa usando o comando /wb fill.

Desenhar, claro, vai demorar muito, mas é melhor fazer uma vez, fechando o servidor para trabalhos técnicos. Se cada jogador desenhar o mapa, o servidor funcionará lentamente.

Substitua plug-ins pesados ​​por outros mais rápidos e que consomem menos recursos

Nem todos os plug-ins para Minecraft podem ser considerados bem-sucedidos: eles geralmente contêm muitas funções desnecessárias e desnecessárias e, às vezes, também consomem muita memória. É melhor substituir plug-ins malsucedidos por outros alternativos (há muitos deles). Por exemplo, o plugin LWC pode ser substituído por Wgfix+MachineGuard, e o plugin DynMap pelo Minecraft Overviewer.

Sempre limpe o drop ou instale um plugin para removê-lo automaticamente

Drops em jogos são itens que caem quando um mob morre ou alguns blocos são destruídos. Armazenar e processar quedas consome muitos recursos do sistema.

Para fazer o servidor funcionar mais rápido, é aconselhável deletar o drop. A melhor maneira de fazer isso é usando plug-ins especiais - por exemplo, NoLagg ou McClean.

Não use anti-cheats

Os chamados anti-cheats são frequentemente instalados em servidores de jogos - programas que bloqueiam tentativas de influenciar o jogo de forma desonesta.

Existem anti-cheats para Minecraft também. Qualquer anti-cheat é sempre uma carga adicional no servidor. É preferível instalar proteção para o launcher (que, no entanto, não oferece garantia absoluta de segurança e é facilmente quebrada - mas este é um assunto para uma discussão à parte) e para o cliente.

Em vez de uma conclusão

Quaisquer instruções e recomendações revelam-se muito mais eficazes se forem apoiadas por exemplos específicos. Com base nas instruções de instalação acima, criamos nosso próprio servidor Minecraft e colocamos algumas coisas interessantes no mapa.

Aqui está o que temos:

  • Servidor Bukkit - versão estável recomendada 1.6.4;
  • Plugin de estatísticas - para coletar estatísticas sobre jogadores;
  • Plugin WorldBorder - para desenhar e delimitar o mapa;
  • Plugin WorldGuard (+WorldEdit como dependência) - para proteger algumas áreas.

Convidamos a todos para jogar: para se conectar, adicione um novo servidor e digite o endereço mncrft.slc.tl.

Teremos o maior prazer se você compartilhar sua própria experiência de instalação, configuração e otimização de servidores MineCraft nos comentários e nos contar em quais mods e plug-ins você está interessado e por quê.

Boas notícias: A partir de 1º de agosto, a taxa de instalação de servidores dedicados de configuração fixa foi reduzida em 50%. Agora, o pagamento único de configuração é de apenas 3000 rublos.

Os leitores que não puderem deixar comentários aqui são convidados a nos visitar em Blog.

Fonte: habr.com

Adicionar um comentário