Índice:

O OreServer - um servidor Minecraft dedicado do Raspberry Pi com indicador de player de LED: 9 etapas (com imagens)
O OreServer - um servidor Minecraft dedicado do Raspberry Pi com indicador de player de LED: 9 etapas (com imagens)
Anonim

Por MrJymmFollow Sobre: Muitas ideias, nunca há tempo suficiente. Mais sobre MrJymm »

ATUALIZAÇÃO de julho de 2020 - Antes de iniciar este projeto, esteja ciente de que MUITAS alterações e atualizações foram feitas nas várias ferramentas de software que usei para criar isso há mais de dois anos. Como resultado, muitas das etapas não funcionam mais como escritas. O projeto ainda pode ser concluído e ainda é muito divertido, mas espere ter que fazer seus próprios ajustes para fazer tudo funcionar. Algumas soluções podem ser encontradas em comentários recentes no final do instrutível. Obrigado e feliz mineração

Se você é um fã de jogar Minecraft, provavelmente já pensou em como seria divertido ter seu próprio servidor pessoal para compartilhar com seus amigos. Meus filhos estavam constantemente me perguntando sobre seu próprio mundo compartilhado e, eventualmente, seu interesse no Minecraft combinou-se com meu interesse no Raspberry Pi, e a ideia do OreServer nasceu.

Este projeto mostrará como configurar um servidor Minecraft com um recurso divertido e exclusivo - ele é construído para se parecer com um bloco de minério e acende com cores diferentes dependendo de quantas pessoas estão jogando no seu mundo!

Mas não para por aí! Também tornaremos o servidor acessível a qualquer pessoa com a edição para PC do Minecraft, para que você possa compartilhar o endereço do servidor e convidar amigos para o seu mundo. Funcionará 24 horas por dia, 7 dias por semana, portanto, mesmo que você esteja ocupado ou fora de casa, seus amigos podem continuar construindo. E vamos configurar backups automáticos para o caso de ocorrer uma tragédia (aquele canhão TNT parecia uma boa ideia na época …) para que você possa reiniciar o trabalho do dia anterior.

Etapa 1: Lista de peças e ferramentas

Lista de peças e ferramentas
Lista de peças e ferramentas

Estas são as peças, ferramentas e software de que você precisará para concluir este projeto. Eu adicionei links para referência, mas a maioria desses suprimentos está disponível em vários fornecedores, portanto, pegue-os onde for mais fácil / mais barato para você.

Partes:

  • Raspberry Pi 3 e fonte de alimentação

    Eles também estão disponíveis como um conjunto

  • Adaptador micro USB de ângulo reto
  • Cartão MicroSD

    Mínimo 8 GB, mas um cartão de alta qualidade de 16 ou 32 GB é recomendado

  • Joia Adafruit Neopixel
  • Três fios GPIO curtos
  • Filamento de impressão 3D prata ou cinza (qualquer tipo)
  • Parafusos de 2,5 mm (x4)
  • Papel pergaminho ou lenço de papel branco

Ferramentas:

  • Leitor de cartão microSD
  • Equipamento de solda
  • Chave de fenda pequena
  • impressora 3d

Programas:

  • Minecraft (Java PC Edition)
  • Raspbian Lite ISO

    NÃO a versão "com desktop"

  • etcher.io
  • Putty ou um cliente de terminal SSH semelhante
  • Filezilla ou cliente de FTP semelhante

Etapa 2: configurar e preparar o Raspberry Pi

Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi
Configurar e preparar o Raspberry Pi

Antes de começarmos a instalar o servidor, precisamos concluir algumas etapas básicas de instalação e configuração do Pi.

1. Prepare o cartão MicroSD

Primeiro, precisamos colocar o sistema operacional Rasbian em nosso cartão MicroSD usando etcher.io.

  1. Insira o cartão MicroSD no leitor de cartão e o leitor de cartão em uma porta USB do PC
  2. Execute o etcher e use o botão Selecionar imagem para carregar o ISO do Rasbian Lite
  3. Selecione o cartão MicroSD para a unidade de instalação
  4. Clique em Flash!

Quando o processo for concluído, o etcher irá desconectar a unidade MicroSD do sistema, mas precisamos adicionar mais um arquivo, então apenas desconecte-o e conecte-o novamente. O cartão agora será lido como uma unidade rotulada "boot". Copie um arquivo em branco chamado "ssh" na unidade de inicialização e, em seguida, desconecte a unidade MicroSD do sistema novamente. O cartão MicroSD agora está pronto para ser movido para o Raspberry Pi.

** Se você não pode baixar o arquivo "ssh", é fácil fazer o seu simplesmente renomeando um arquivo de texto em branco. Certifique-se de excluir a extensão ".txt". Quando funcionar, o ícone ficará em branco como na imagem. **

2. Conecte ao terminal do Pi

Agora que o Pi tem um sistema operacional, vamos ligá-lo!

  1. Conecte um cabo Ethernet com fio e a fonte de alimentação do Rasberry Pi. Embora o Pi 3 tenha suporte integrado para Wi-Fi, uma conexão com fio é mais robusta e preferível para o nosso servidor.
  2. Em seguida, precisamos recuperar o endereço IP do Pi do seu roteador. Esta etapa será um pouco diferente dependendo da marca do seu roteador - no meu caso, eu insiro 192.168.1.1 no meu navegador para fazer o login no painel de controle do roteador. Você estará procurando por uma lista de clientes DHCP e uma entrada chamada "raspberrypi". Observe o endereço IP atribuído, no meu exemplo é 192.168.1.115. Agora também é uma boa oportunidade para definir o endereço IP como "reservado" ou "permanente" para que não seja atribuído um endereço diferente posteriormente. Se você tiver alguma dificuldade com esta etapa, verifique a documentação do roteador ou o site de suporte para obter detalhes.
  3. Agora podemos abrir o Putty, inserir o endereço IP do Pi no campo "Host Name" e clicar em "Open".

Agora você deve estar olhando para uma tela preta com "faça login como:". Este é o terminal do seu Pi e é onde faremos o resto do trabalho de configuração do servidor. Lembre-se de que as telas dos terminais são para teclados! Seu mouse não será muito útil aqui.

3. Raspi-config

Para terminar a configuração inicial, precisamos fazer o login usando os padrões:

faça login como: pi

senha: framboesa

Agora podemos passar por algumas configurações básicas das configurações padrão do Pi, inserindo o seguinte

sudo raspi-config

Precisamos fazer várias alterações, e vou guiá-lo por elas na mesma ordem em que estão numeradas na tela de configuração.

  1. Alterar a senha do usuário - é obrigatório! Todos sabem a senha padrão, então mude-a imediatamente.
  2. Opções de rede

    Nome do host - por padrão, é "raspberrypi", mas se desejar, pode alterá-lo para ser mais descritivo

  3. - (sem alteração) -
  4. Opções de localização - se você não estiver no Reino Unido, vai querer alterá-las para o seu próprio país. Meus exemplos presumem que sejam os EUA.

    1. Alterar localidade - use a seta para baixo para encontrar uma entrada para "en_GB" com um * próximo a ela. Use a barra de espaço para remover esse * e desça um pouco mais para "en_US. UTF-8" e novamente use a barra de espaço para marcá-lo com *.
    2. Alterar fuso horário - definir isso é importante para que nossas tarefas cronometradas funcionem corretamente
    3. Alterar layout do teclado - você pode ignorar isso, mas se for deixado no Reino Unido, alguns símbolos do teclado serão movidos
  5. Opções de interface

    1. - (sem alteração) -
    2. SSH - Habilite isso para que você possa continuar a usar o Putty após reiniciar o Pi.
  6. - (sem alteração) -
  7. Opções avançadas

    1. Expandir sistema de arquivos - isso garante que o Pi possa usar todo o espaço disponível no cartão SD
    2. - (sem alteração) -
    3. Divisão de memória - mude para 16 para liberar mais memória para uso do Minecraft.

Agora selecione "Concluir" e, em seguida, selecione "Sim" para reiniciar.

Isso encerrará sua sessão no Putty. Basta aguardar um momento para concluir a reinicialização e, em seguida, abrir o Putty novamente e reconectar ao endereço IP do Pi. Lembre-se de usar sua nova senha!

Etapa 3: Instale o servidor dedicado

Configurar o software do servidor é a etapa mais longa, mas também a mais importante. Estaremos gastando muito tempo digitando vários comandos chatos do Linux. Não se deixe intimidar! Contanto que você possa copiar e colar, você pode passar por esta parte.

Um servidor do Minecraft é bastante complexo e executá-lo em um computador tão pequeno quanto um Raspberry Pi requer um pouco de simplificação. Comecei com este tutorial fantástico de James Chambers, porque ele tem várias dicas ótimas para maximizar o desempenho do servidor. Vou resumir seu processo de instalação abaixo e destacar algumas mudanças e atualizações que fiz, mas recomendo fortemente que você leia sua página para obter mais detalhes.

Agora que você efetuou login novamente usando o "pi" padrão e sua nova senha, podemos começar a inserir os comandos para instalar os arquivos do servidor.

Importante - muitos desses comandos são longos e complexos e seria muito difícil digitar na janela do terminal. Portanto, não faça isso! Destaque o texto do comando nesta janela, copie-o com ctrl-c e, em seguida, na janela do seu terminal, apenas clique com o botão direito do mouse para colar o texto. Veja, aquele mouse é bom para alguma coisa, afinal!

No restante desta etapa, você copiará cada um dos comandos nessas caixas de texto de código.

Vou dar breves explicações sobre o que estamos fazendo ao longo do caminho.

Começaremos atualizando nosso software.

sudo apt-get update && sudo apt-get upgrade

Sempre que você vir uma solicitação de aprovação de instalação, digite "y" e pressione Enter para aceitar e continuar.

O Minecraft é executado em Java, mas nossa instalação "Lite" do Rasbian não o incluiu, então vamos pegá-lo.

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense = accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808 /jdk-8u161-linux-arm32-vfp-hflt.tar.gz

Nota ** Quando o Java é atualizado para uma versão mais recente, esse comando pode ficar desatualizado. Se você receber uma mensagem de erro, precisará atualizar o comando para a versão mais recente. Visite a página de downloads do Java da Oracle, clique no botão "Aceitar Contrato de Licença" e, a seguir, clique com o botão direito do mouse no link do arquivo linux-arm32 mais recente e selecione copiar o link. Você precisará usar esse link atualizado para substituir o texto no comando acima, começando em http. **

Agora podemos instalar os arquivos Java que acabamos de baixar.

sudo mkdir / usr / java

cd / usr / java

Se você teve que alterar o link de download para uma nova versão, certifique-se de alterar o número da versão nos próximos comandos para corresponder.

sudo tar xf ~ / jdk-8u161-linux-arm32-vfp-hflt.tar.gz

sudo atualizar-alternativas --install / usr / bin / java java /usr/java/jdk1.8.0_161/bin/java 1000

sudo atualizar-alternativas --install / usr / bin / javac javac /usr/java/jdk1.8.0_161/bin/javac 1000

cd ~

E, finalmente, o evento principal pelo qual você estava esperando com tanta paciência, vamos instalar o servidor do Minecraft. Esta é uma versão especializada do servidor chamada Paper, e está cheia de otimizações para melhorar o desempenho.

Papel mkdir

wget

descompacte master.zip -d Paper

mv ~ / Paper / RaspberryPiMinecraft-master / * ~ / Paper /

papel cd

chmod + x start.sh

wget

java -jar -Xms512M -Xmx800M paperclip.jar

Esse último comando iniciará o servidor pela primeira vez e, após alguns momentos, você receberá um erro que diz que você deve concordar com o EULA. Abra o EULA com o próximo comando:

nano eula.txt

Altere a linha que diz "eula = false" para "eula = true". Salve suas alterações pressionando ctrl-x, depois em Y e depois em Enter.

Nota ** James Chambers menciona um método para overclock de seu cartão SD neste ponto de seu guia. Eu não tentei pessoalmente essa etapa, porque requer um cartão de alta qualidade e o que eu tinha disponível para usar não é nada de especial. Acredito que o overclock certamente melhoraria ainda mais o desempenho, mas mesmo sem o overclock o servidor funciona bem o suficiente para que eu não receba nenhuma reclamação das crianças brincando nele. **

Vamos rapidamente dar uma olhada nas Propriedades do servidor e fazer algumas alterações.

nano server.properties

Há uma longa lista de coisas que você pode alterar em seu servidor aqui, como personalizar o nome do servidor e MOTD, alterar o modo de jogo ou habilitar PvP ou blocos de comando. Você pode alterar as coisas de acordo com sua preferência agora ou pode abrir este arquivo para fazer mais alterações posteriormente, mas há duas alterações que faremos imediatamente.

jogadores máximos = 8

server-port = 25565

Oito jogadores é o máximo que eu recomendaria, qualquer valor mais alto e é muito provável que você veja o desempenho do servidor ficar lento, mesmo com todas as otimizações feitas para executar coisas no Pi.

A porta do servidor deve ser alterada porque, como a senha padrão "raspberry", todos conhecem a porta padrão 25565. Mesmo uma pequena alteração na 26565 ajudará a manter seu servidor seguro. Anote o número da porta ao lado de onde você salvou o endereço IP do Pi. Você precisará de ambos mais tarde.

Assim que terminar de atualizar suas configurações, salve as alterações pressionando ctrl-x, depois em Y e depois em Enter.

A próxima etapa na preparação do servidor também levará mais tempo depois de iniciar, provavelmente cerca de uma hora. Esses comandos irão pré-gerar seu mundo, o que significa que o servidor não terá que fazer todo esse trabalho mais tarde, enquanto você e seus amigos estão explorando.

cd ~ / Paper / plugins

wget --content-disposition -E

sudo apt-get install tela

papel cd

./start.sh

Não vai parecer que nada aconteceu, mas seu servidor já foi iniciado! Para interagir com o servidor, precisamos usar este comando

tela -r minecraft

E então iremos pré-gerar o mundo:

wb world set 1000 spawn

wb world fill 1000

wb preencher confirmar

Essa é a parte que vai demorar muito. Vá fazer um lanche e volte mais tarde! Quando o processo estiver concluído, desligue o servidor com um comando muito simples

Pare

Isso salvará e fechará o servidor e o levará de volta ao terminal Raspberry Pi.

Nossa tarefa final é configurar o servidor para iniciar automaticamente quando o Raspberry Pi for conectado ou reiniciado. Podemos fazer isso criando um script simples.

cd ~

nano startup.sh

Nós usamos o nano para editar alguns arquivos antes, mas desta vez estamos criando um do zero, então a janela estará vazia. Copie essas duas linhas no arquivo:

cd / home / pi / papel

screen -dmS minecraft java -server -Dfile.encoding = UTF-8 -Xms512M -Xmx800M -XX: NewSize = 300M -XX: MaxNewSize = 500M -XX: + CMSIncrementalMode -XX: + UseConcMarkSweepGC -XX: + UseParNewGC -XX: + UseParNewGC -XX: CMSIncrementalPacing -XX: ParallelGCThreads = 4 -XX: + AggressiveOpts -XX: + AlwaysPreTouch -XX: + DisableExplicitGC -XX: SurvivorRatio = 16 -XX: TargetSurvivorRatio = 90 -jar /home/pi/Paper/paperclip.jar nogui

Em seguida, salve seu novo script pressionando ctrl-x, a seguir Y e, em seguida, Enter.

chmod + x startup.sh

chmod + x /etc/rc.local

sudo nano /etc/rc.local

A última linha do arquivo rc.local diz "exit 0". Diretamente acima dessa linha, vamos adicionar o seguinte:

su pi -c /home/pi/startup.sh

E mais uma vez salvamos as alterações do arquivo com ctrl-x, depois Y e, em seguida, enter.

sudo reboot

Você receberá uma mensagem informando que a conexão foi encerrada e pode fechar a janela do Putty.

É isso! Você superou a parte chata! Agora estamos prontos para testar nosso servidor!

Etapa 4: teste seu servidor e convide seus amigos

Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos
Teste seu servidor e convide seus amigos

Em seguida, vamos verificar se o servidor está funcionando e garantir que nossos amigos possam entrar.

Abra o iniciador do Minecraft em seu PC e clique em Play. Certifique-se de estar usando a versão mais recente para corresponder ao servidor Paper.

Na tela principal, selecione Multijogador e, em seguida, Adicionar servidor. Digite o nome que você gostaria de ter em sua lista de servidores e, em Endereço do servidor, digite o IP do seu Pi e o número da porta. Para meu exemplo, usamos 192.168.1.115:26565. Certifique-se de que haja dois pontos entre o endereço IP e o número da porta e que não haja espaços. Clique em Concluído e, em seguida, clique em reproduzir no seu servidor. Depois de alguns momentos, você será lançado em seu novo mundo!

Espere, volte! Não comece a construir sozinho, vamos convidar alguns amigos! Infelizmente, eles não podem usar o mesmo endereço IP que você usa. Para que isso funcione, primeiro você precisa informar ao roteador que não há problema em pessoas que estão fora de sua casa se conectarem ao Pi. Isso é chamado de encaminhamento de porta e o processo exato será um pouco diferente dependendo do seu roteador. Anexei uma captura de tela da aparência do meu roteador TP Link, mas talvez você precise verificar o site de suporte de roteadores para obter mais informações.

Nas configurações de Encaminhamento de porta, insira o número da porta que você escolheu para o seu servidor e, em seguida, o endereço IP do Raspberry Pi. Seu roteador agora sabe que quando seus amigos tentarem se conectar a esse número de porta, eles devem ser direcionados ao Pi.

Em seguida, precisamos usar um serviço gratuito como o No-IP para criar seu próprio endereço exclusivo, chamado Hostname. Você também configurará seu roteador ou PC para manter o endereço IP do nome do host atualizado.

Siga as etapas do Guia de configuração agora.

Quando você terminar de configurar sua conta No-IP, seus amigos poderão se conectar ao seu servidor inserindo seu novo nome de host e o número da porta na seção Endereço do servidor da tela multijogador do Minecraft. Por exemplo, hostname.ddns.net:26565.

Etapa 5: Salve o mundo! (com backups automáticos)

Salve o mundo! (com backups automáticos)
Salve o mundo! (com backups automáticos)

Esta etapa é opcional, mas é um salva-vidas em potencial. Seu mundo enfrenta alguns riscos sérios, seja de um cartão MicroSD corrompido, travessuras ou mágoas ocasionais ou apenas aqueles rastejadores incômodos. Para proteger todo o seu trabalho árduo, faremos com que o servidor salve automaticamente seu arquivo mundial todas as noites. Para evitar que o seu cartão MicroSD fique cheio, também excluiremos todos os backups com mais de uma semana. Depois disso, você pode copiá-los facilmente para seu próprio PC ou outra unidade de backup para ainda mais segurança.

Começaremos usando Putty para reconectar ao nosso Pi e fazer outro novo script.

nano dailybackup.sh

Copie os seguintes comandos no script:

# Pare o servidor Minecraft

screen -x minecraft -X stuff stop ^ M sleep 5 # Copiar diretório Paper para backup / PaperYYDDMM cp -a Paper /. backup / Paper $ (data +% F) # Excluir backups com mais de 7 dias localizar backup / * -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

E então, diga comigo - salve seu arquivo pressionando ctrl-x, Y, enter.

Agora vamos criar uma tarefa recorrente para executar o script de backup todas as noites usando o crontab.

crontab -e

Você terá uma escolha de editores na primeira vez que executar este comando, selecione o número 2 para o Nano.

Isso abrirá um arquivo especial para agendamento de tarefas. Na parte inferior deste arquivo, adicione as seguintes linhas:

5 0 * * * /home/pi/dailybackup.sh

15 0 * * * sudo reboot

A primeira linha diz ao Pi para executar seu script de backup às 12h05 todas as noites. A segunda linha diz ao Pi para reiniciar dez minutos depois. Se você preferir um horário diferente para os backups e reinicialização, pode alterar essas linhas de acordo com sua preferência. Lembre-se de que o primeiro número é o minuto e o segundo número é a hora no formato de 24 horas. Os três asteriscos garantem que este script será executado todos os dias.

Depois que seu sistema estiver funcionando por um tempo, você pode querer adquirir o hábito de salvar os backups em outro local fora do cartão MicroSD do Pi. Esta tarefa é muito simples conectando-se ao seu servidor usando o Filezilla. Simplesmente arraste a pasta de backup para fora do lado direito do Filezilla e solte-a no seu PC. Depois de copiar todos os arquivos, você pode armazená-los pelo tempo que desejar!

E se uma tragédia acontecer e você precisar voltar para um de seus arquivos salvos, é um procedimento rápido e simples. Primeiro, certifique-se de ter parado o servidor:

tela -r minecraft

Pare

Em seguida, use o Filezilla para excluir o diretório Paper e substituí-lo arrastando um dos diretórios salvos de volta para o Pi. Certifique-se de excluir a data do nome do diretório para que ele seja novamente denominado simplesmente Papel. Então você pode reiniciar seu servidor com

./startup.sh

E assim, você pode voltar ao negócio de construção!

Etapa 6: conecte os LEDs

Conecte os LEDs
Conecte os LEDs
Conecte os LEDs
Conecte os LEDs
Conecte os LEDs
Conecte os LEDs

É hora de adicionar algumas luzes! É aqui que o servidor começa a se tornar mais do que apenas um coletor de poeira atrás do monitor. Esta etapa mostrará como soldar e anexar a joia de Neopixel ao Raspberry Pi e, em seguida, instalar o software necessário para executar os LEDs. Logo depois disso, você nunca mais terá que se perguntar se alguém está online esperando para jogar com você, porque o seu servidor irá informá-lo rapidamente!

Os Neopixels da Adafruit são LEDs fantásticos. Eles são RGB, o que significa que podem acender em qualquer cor que você quiser. Eles são endereçáveis, o que significa que você pode usar comandos de software para alterar suas cores sempre que desejar. Para obter mais informações sobre como os Neopixels funcionam com o Raspberry Pi, dê uma olhada no guia oficial da Adafruit.

A Jewel tem 7 LEDs que nos darão muitas cores fortes e brilhantes. Existem também cinco pontos de contato de solda, mas usaremos apenas três. Eu recomendo fortemente que você use três fios de cores diferentes para evitar misturá-los ao conectá-los ao Pi posteriormente. Em minhas fotos de exemplo, usei vermelho, preto e marrom.

Antes de iniciar esta etapa, você deve desligar totalmente o Raspberry Pi. Insira esses comandos e desconecte a fonte de alimentação do Pi.

tela -r minecraft

Pare

sudo shutdown -h now

Corte três fios GPIO fêmeas, longos o suficiente para que você tenha bastante fio para trabalhar durante a soldagem. Você sempre pode aumentar o excesso como eu fiz. Solde com cuidado os fios aos contatos da Jóia. Em seguida, prenda os conectores fêmeas aos pinos GPIO do Raspberry Pi:

PWR para pino 1 = 3,3 V

GND para pino 6 = Terra

IN para o pino 12 = GPIO18

Assim que o Jewel estiver no lugar, você pode conectar o Pi novamente e usar o Putty para conectar e instalar o software LED com os seguintes comandos. Observe os pontos que podem solicitar que você insira Y para continuar a instalação.

sudo apt-get install build-essential python-dev git

sudo apt-get install scons

sudo apt-get install swig

git clone

cd rpi_ws281x

scons

Importante ** Na próxima etapa, faremos uma pequena adição à biblioteca de neopixel. Isso é necessário para evitar um erro de memória que me deixou maluco por vários dias. Sem ele, os LEDs funcionarão por algumas horas e depois interromperão a atualização corretamente. **

cd python

compilação python setup.py

sudo nano build / lib.linux-armv7l-2.7 / neopixel.py

Use a seta para baixo para rolar para além da linha que diz class Adafruit_NeoPixel (objeto):. Não muito depois disso, você encontrará uma seção com texto em azul que diz def _cleanup (self). Você estará copiando a seguinte linha para este seção, exatamente como mostrado na imagem acima.

ws.ws2811_fini (self._leds)

E mais uma vez precisamos salvar as alterações com ctrl-x, Y, enter.

cd ~

cd rpi_ws281x / python

sudo python setup.py install

Em seguida, precisamos informar ao arquivo de teste o número de LEDs que temos, então podemos acendê-los!

exemplos de cd

sudo nano strandtest.py

Encontre a linha que diz LED_COUNT = 16 e mude para LED_COUNT = 7, então ctrl-x, Y, digite para salvar.

sudo python strandtest.py

Se tudo tiver corrido corretamente, você acaba de ser cegado por uma explosão de arco-íris piscando. Quando você puder ver novamente, pressione ctrl-c para desligar as luzes. Os LEDs não desligam, mas param de piscar e isso é bom o suficiente por enquanto.

Etapa 7: Programe os LEDs para verificar o status do servidor

Programe os LEDs para verificar o status do servidor
Programe os LEDs para verificar o status do servidor

Com nossos LEDs instalados e prontos, é hora de fazê-los reagir ao servidor. Especificamente, faremos com que indiquem o número atual de jogadores no servidor:

Jogadores = minério

  • 0 = Redstone
  • 1-2 = Ferro
  • 3-4 = ouro
  • 5-6 = Esmeralda
  • 7-8 = Diamante

Se o servidor não estiver rodando, o Oreblock será Coal (LEDs apagados). E como um bônus adicional, se a verificação de status não conseguir encontrar uma conexão com a Internet, os LEDs piscarão em amarelo!

Para recuperar a contagem de jogadores do servidor, vamos instalar o mcstatus de Nathan Adams, um dos desenvolvedores de jogos da Mojang.

sudo apt-get install python-pip

sudo pip install mcstatus

Em seguida, precisamos copiar os dois scripts python abaixo, mcled.py e ledoff.py, para nosso servidor com Filezilla. Basta arrastar e soltar os dois scripts na caixa à direita, conforme mostrado na captura de tela.

Vá em frente e teste ledoff.py agora, para que possamos desligar os LEDs que ficaram acesos na etapa anterior.

sudo python ledoff.py

Ao executar os scripts manualmente desta forma, você receberá uma mensagem dizendo "Falha de segmentação". Este é um problema não resolvido na biblioteca Neopixel.py que não afeta o que estamos fazendo.

Se você está curioso sobre como esses scripts funcionam, você pode abri-los com qualquer editor de texto em seu PC ou usando o nano na tela do terminal. Apenas tome cuidado para não salvar acidentalmente quaisquer alterações que possam impedi-los de funcionar!

Nota ** mcled.py assume que você está usando a porta 26565 do meu exemplo. Se você estiver usando uma porta diferente, você deve alterar o script para corresponder às seguintes etapas **

sudo nano mcled.py

Encontre uma linha vermelha de texto que diz "# Get server player count" e, abaixo dela, você verá uma linha que inclui o texto verde que diz "localhost" e o número da porta ao lado dela. Altere o número da porta para corresponder ao seu e, como sempre, salve suas alterações com ctrl-x, Y, digite.

Para obter atualizações constantes no status do servidor, vamos dizer ao Pi para executar o script mcled.py a cada minuto, e isso significa configurar mais algumas linhas no crontab.

crontab -e

Você verá as duas linhas que adicionamos anteriormente para agendar backups e reinicializações. Agora vamos adicionar mais dois:

* 6-20 * * * sudo python mcled.py

0 21 * * * sudo python ledoff.py

A primeira linha diz ao Pi para executar mcled.py a cada minuto de cada hora entre 6h e 20h59. A segunda linha diz ao Pi para desligar os LEDs às 21h. Essa é uma preferência pessoal, porque nessa época meus filhos não estão mais jogando Minecraft, embora o servidor continue em execução. Também temos o OreServer exibido com destaque acima de nossa TV e a luz forte se torna irritante à noite. É claro que você pode alterar essas duas linhas para que os LEDs funcionem sem parar, ou desliguem mais tarde, ou o que for mais adequado aos seus próprios objetivos.

Logo depois que suas alterações forem salvas (você está cansado de ctrl-x, Y, entrar ainda?) O script será chamado e sua Jewel acenderá novamente. Provavelmente será vermelho para indicar que o servidor está funcionando, mas não em uso. Reserve um momento agora para iniciar o Minecraft e entrar no servidor como fizemos durante nosso teste anterior. Pouco depois de você entrar, os LEDs devem mudar para branco e, em seguida, para vermelho quando você desconectar.

Etapa 8: Faça a Caixa de Minério

Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério
Faça a Caixa de Minério

O toque final para reunir tudo isso é o caso oreblock para o Raspberry Pi. Para fazer o caso do minério, usei a impressora 3D Lulzbot TAZ6 no meu makerpace local, RiverCityLabs. Forneci meus arquivos. STL imprimíveis para a base e parte superior abaixo. Se você não tem sua própria impressora 3D, procure uma comunidade de criadores em sua área, eles são ótimos! Ou você pode ter uma biblioteca local ou escola que tenha impressoras acessíveis ao público. Existem também vários serviços de impressão 3D online que podem imprimir e enviar um design para você. Ou você pode ser criativo! Não há nada que o impeça de fazer a caixa de papelão ou uma pilha de Lego cinza ou qualquer outra coisa que você tenha à mão.

Algumas notas importantes para quando você configurar os arquivos da impressora 3D:

  • Imprima o arquivo sem nenhuma alteração de escala para garantir que os orifícios de montagem estejam alinhados com o Pi.
  • Vire o Top de cabeça para baixo de forma que a extremidade aberta fique voltada para cima.
  • Certifique-se de ativar as configurações de suporte, para que as saliências nas paredes não fiquem bagunçadas.

Assim que a impressão estiver concluída, você pode anexar o Pi à Base com quatro parafusos de 2,5 mm. Não consigo encontrar um link para o produto real, mas encontrei-os em um pacote de 2 na Menards, o que foi muito melhor do que pedir uma caixa de 100 na Amazon.

Remova todo o material de suporte do Topo e corte uma folha de papel manteiga ou lenço de papel branco para caber dentro. Isso difundirá as luzes LED, o que torna o efeito brilhante um milhão de vezes melhor do que apenas deixar os orifícios abertos.

Conecte o adaptador MicroUSB em ângulo reto à porta de alimentação de modo que o cabo saia pela parte de trás do gabinete, próximo à porta Ethernet.

Agora você pode reconectar os cabos de alimentação e Ethernet, colocar o Top no lugar e aproveitar!

Etapa 9: Resumo, pensamentos adicionais e agradecimentos

Grande Prêmio no Desafio Minecraft 2018

Recomendado: