Índice:

Finja que você é o servidor Xyzzy no Raspberry Pi: 19 etapas
Finja que você é o servidor Xyzzy no Raspberry Pi: 19 etapas

Vídeo: Finja que você é o servidor Xyzzy no Raspberry Pi: 19 etapas

Vídeo: Finja que você é o servidor Xyzzy no Raspberry Pi: 19 etapas
Vídeo: HOW TO USE THE SIDEMEN CUSTOM CARD PACKS ON CARDS AGAINST HUMANITY!! (Pretend You're Xyzzy) 2024, Novembro
Anonim
Finja que você é o servidor Xyzzy no Raspberry Pi
Finja que você é o servidor Xyzzy no Raspberry Pi

Este guia mostrará como configurar um servidor Pretend You're Xyzzy (PYX) em um Raspberry Pi. Eu chamo isso de XyzzyPi

Pretend You're Xyzzy é um clone online de código aberto do Cards Against Humanity jogado em um navegador da web.

No Android, você também pode usar o aplicativo Client for Pretend You're Xyzzy.

Quando comecei a tentar configurar meu próprio servidor PYX, tive dificuldade em encontrar instruções que não estivessem desatualizadas e que fossem fáceis de seguir. Parece que a maioria deles foi escrita para pessoas que já tinham alguma experiência com a configuração de um servidor PYX. Consegui descobrir as coisas, mas queria criar um guia passo a passo para aqueles que são menos conhecedores de tecnologia ou que não têm muita experiência com essas coisas. Além disso, não consegui encontrar instruções sobre como fazê-lo funcionar no Raspberry Pi. Depois de algumas tentativas e erros, consegui fazer o servidor PYX rodar em um Pi com apenas algumas pequenas modificações nos arquivos. Espero que isso economize algum tempo para os interessados.

Eu fiz isso em um Pi 3 modelo B + e um Pi 4 modelo B 4GB. Existem alguns problemas com o uso de um Pi Zero W devido ao processador não manipular um Java VM corretamente. No momento, estou tentando fazê-lo funcionar em um Zero W e atualizarei as instruções se for bem-sucedido. Eu não tenho um Pi 1 ou 2 para testar, então isso pode ou não funcionar com eles.

Tentei tornar este tutorial fácil de seguir para pessoas de todos os níveis de habilidade, então pode haver coisas aqui que você já conhece.

Se você já sabe como instalar o Raspbian e se conectar ao seu Pi, pule para a etapa 6

Se você tem experiência com a configuração de um servidor PYX e apenas deseja saber as edições necessárias para fazê-lo funcionar em um Pi, pule para a etapa 13

Isenção de responsabilidade: eu não criei o aplicativo Pretend You're Xyzzy ou o aplicativo cliente Android.

O crédito por criar o Pretend You're Xyzzy vai para o usuário do GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

O crédito por criar o cliente para Pretend You're Xyzzy vai para Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Se houver alguém que eu perdi, por favor me avise.

Suprimentos

Hardware:

Raspberry Pi 3 ou 4

Cartão micro SD (estou usando cartões micro SD de 32 GB porque é o que tenho em mãos. Você provavelmente pode sobreviver com apenas 2 GB, mas eu recomendaria pelo menos 4 GB).

PC com leitor de cartão SD (estou usando o Windows para este tutorial. Se você estiver executando o Linux, provavelmente já está familiarizado com muitas dessas coisas, então ajuste as instruções conforme necessário).

Programas:

Imagem do Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Qualquer deve funcionar. Estou usando o Raspbian Buster Lite no momento da redação).

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (Existem outros programas que você pode usar para fazer o flash da imagem Raspbian, mas esta é minha preferência pessoal.)

Putty:

Etapa 1: Flash Raspbian em seu cartão SD

Flash Raspbian no seu cartão SD
Flash Raspbian no seu cartão SD

Coloque o cartão SD no leitor de cartão do computador antes de abrir o Win32 Disk Imager. Em seguida, selecione sua imagem Raspbian e a letra da unidade do cartão SD e clique em "Escrever".

CUIDADO: Tudo no cartão SD será excluído e substituído. Se houver dados importantes no cartão SD, faça backup primeiro. Além disso, certifique-se de selecionar a letra de unidade correta para o cartão SD. Caso contrário, você pode apagar / sobrescrever inadvertidamente a unidade errada

Assim que terminar, você terá duas unidades separadas no cartão SD. Uma vez chamado de boot e que o Windows não consegue ler. Provavelmente, você receberá uma janela pop-up no Windows solicitando que formate o cartão. Basta clicar em cancelar. Se você formatá-lo, terá que flashear o Raspbian novamente.

Etapa 2: crie um arquivo de texto denominado "wpa_supplicant.conf" na unidade de inicialização

Criar um arquivo de texto denominado
Criar um arquivo de texto denominado

Na unidade de inicialização do cartão SD, crie um arquivo de texto chamado wpa_supplicant.conf e cole o código abaixo dentro. Substitua "nome wi-fi" e "senha" pelo seu nome e senha wi-fi reais, mas mantenha as aspas ao redor deles. Salve o arquivo.

Isso permitirá que seu Pi se conecte ao wi-fi. Se você estiver usando um cabo Ethernet para conectar seu Pi à rede, provavelmente poderá pular esta etapa.

Certifique-se de que a extensão do arquivo esteja correta. Deve ser wpa_supplicant.conf e não wpa_supplicant.conf.txt

country = usupdate_config = 1 ctrl_interface = / var / run / wpa_supplicant

rede = {

scan_ssid = 1 ssid = "nome wi-fi" psk = "senha"}

Etapa 3: crie um arquivo vazio denominado "ssh" na unidade de inicialização

Criar um arquivo vazio com o nome
Criar um arquivo vazio com o nome

Na unidade de inicialização do cartão SD, crie um arquivo vazio chamado ssh

Ele não precisa ter nada nele, apenas precisa ser nomeado corretamente.

Isso habilitará o ssh no seu Pi, o que permitirá que você se conecte a ele usando o Putty.

Certifique-se de que o nome do arquivo seja simplesmente ssh, sem extensão. Não é ssh.txt etc

Etapa 4: ejete o cartão SD do seu PC, coloque-o no seu Pi e ligue o seu Pi

Ejete o cartão SD do seu PC, coloque-o no seu Pi e ligue o seu Pi.

Se tudo funcionar, o Pi irá inicializar e conectar-se ao wi-fi.

Aguarde alguns minutos para que ele execute a configuração inicial.

Etapa 5: Conecte-se ao seu Pi usando Putty

Conecte-se ao seu Pi usando Putty
Conecte-se ao seu Pi usando Putty
Conecte-se ao seu Pi usando Putty
Conecte-se ao seu Pi usando Putty

Abra o Putty e na caixa Host Name digite raspberrypi certificando-se de que o tipo de conexão é SSH e a porta é 22. Se ele se conectar, você será levado a uma tela preta com um texto conhecido como terminal. Ele pedirá seu nome de usuário e senha. O nome de usuário padrão é "pi" e a senha padrão é "raspberry". É altamente recomendável que você altere a senha, especialmente se você planeja ter seu Pi exposto na Internet. Para fazer isso, digite "passwd" assim que estiver logado e siga as instruções. Certifique-se de escolher uma senha que você se lembre.

Se não houver conexão, talvez você precise encontrar o endereço IP que seu Pi está usando. Existem várias maneiras de fazer isso, mas, pessoalmente, eu apenas logo no meu roteador e verifico a lista de dispositivos conectados. Depois de encontrar o IP do seu Pi digite-o na caixa Nome do host no Putty em vez de raspberrypi e tente se conectar novamente.

Se ainda não conseguir se conectar, você pode não ter criado o arquivo ssh corretamente. Leia as etapas anteriores e verifique tudo.

Etapa 6: Opcional: altere o nome do host do seu Pi

Opcional: mude o nome do host do seu Pi
Opcional: mude o nome do host do seu Pi
Opcional: mude o nome do host do seu Pi
Opcional: mude o nome do host do seu Pi
Opcional: mude o nome do host do seu Pi
Opcional: mude o nome do host do seu Pi

Isso não é necessário, mas eu prefiro ter o nome do host do meu Pi como algo relevante para o que ele é usado, em vez de apenas o genérico "raspberrypi". Neste caso, chamei-o de "xyzzypi", mas você pode chamá-lo do que quiser.

Para alterar o tipo de nome de host:

sudo raspi-config

Selecione as opções de rede

Selecione o nome do host

Digite o nome de host que você deseja

Selecione Concluir

Será perguntado se você gostaria de reiniciar o Pi agora. O novo nome de host não entrará em vigor até que você reinicie. Se você fizer isso, sua sessão do Putty será desconectada. Assim que terminar a reinicialização, você precisará usar o novo nome de host definido para se reconectar ao Putty. Se você estava se conectando usando o endereço IP em vez do nome do host, ele ainda deve ser o mesmo.

Existem muitas outras opções que você pode definir usando a ferramenta raspi-config, mas já existem muitos tutoriais sobre isso on-line, então não irei abordá-los aqui.

Etapa 7: atualize seus pacotes de aplicativos

Atualize seus pacotes de aplicativos
Atualize seus pacotes de aplicativos

Atualize seus pacotes de aplicativos usando o seguinte comando:

sudo apt-get update

Deixe funcionar até terminar.

Nota: Tecnicamente, você não precisa mais digitar "apt-get", basta digitar "apt". No entanto, estou tão acostumado a digitar "apt-get" que agora é apenas memória muscular para mim.

Etapa 8: Instale o Git

Instale Git
Instale Git

Assim que os pacotes de aplicativos terminarem de atualizar, instale o Git usando o seguinte comando:

sudo apt-get -y install git

Deixe correr até terminar.

Etapa 9: Instale o Maven

Instale o Maven
Instale o Maven

Instale o Maven usando o seguinte comando:

sudo apt-get -y install maven

Deixe correr até terminar

Etapa 10: baixe os arquivos do servidor de Finja que você é Xyzzy

Baixe os arquivos do servidor do Pretend You're Xyzzy
Baixe os arquivos do servidor do Pretend You're Xyzzy

Baixe os arquivos do servidor Pretend You're Xyzzy usando o seguinte comando:

git clone git: //github.com/ajanata/PretendYoureXyzzy.git

Isso criará um diretório em seu Pi chamado PretendYoureXyzzy e fará o download dos arquivos nele.

Deixe correr até terminar.

Etapa 11: mude para o diretório PretendYoureXyzzy

Mude para o diretório PretendYoureXyzzy
Mude para o diretório PretendYoureXyzzy

Mude para o diretório PretendYoureXyzzy usando o seguinte comando:

cd PretendYoureXyzzy

Observação: os comandos do Linux diferenciam maiúsculas de minúsculas, portanto cd PretendYoureXyzzy funcionará, mas cd fingyourexyzzy não.

Etapa 12: abra e edite o arquivo "build.properties.example" e salve-o como "build.properties"

Abra e edite o
Abra e edite o
Abra e edite o
Abra e edite o
Abra e edite o
Abra e edite o

Abra o arquivo build.properties.example com o editor de texto nano usando o seguinte comando:

sudo nano build.properties.example

Usar um editor de texto baseado em terminal pode parecer um pouco intimidante para aqueles que não estão acostumados, mas o que estamos fazendo é muito simples.

Use a tecla de seta para baixo para rolar para baixo até encontrar as seções que dizem "hibernate.username" e "hibernate.password".

Use a tecla de seta para a direita para ir para o final dessas linhas e alterar o nome de usuário e a senha para outra coisa. Honestamente, não sei se é mesmo necessário, mas não me sinto confortável em deixá-los com o nome de usuário e a senha padrão que vieram com eles.

Depois de alterá-los, pressione ctrl + o para abrir a caixa de diálogo para salvar.

Backspace para remover o ".example" do final do nome do arquivo para que você fique apenas com "build.properties"

Ele perguntará se você deseja salvar o arquivo com um nome diferente. Pressione y para sim.

Pressione ctrl + x para fechar o editor de texto nano.

Etapa 13: abra e edite o arquivo "pom.xml" (ISSO É O QUE FAZ EXECUTAR EM um PI)

Abra e edite o
Abra e edite o
Abra e edite o
Abra e edite o

Abra o arquivo pom.xml com o editor de texto nano usando o seguinte comando:

sudo nano pom.xml

Role para baixo como você fez antes. Desta vez, a linha que você está procurando é sqlite-jdbc

Logo abaixo dessa linha está uma linha com um número de versão. Você precisa alterar esse número para 3.28.0 para que se pareça com:

3.28.0

Depois de editar o número da versão, pressione ctrl + o para abrir a caixa de diálogo para salvar.

Mantenha o nome do arquivo como "pom.xml" e salve-o.

Depois de salvá-lo, pressione ctrl + x para fechar o editor de texto nano.

Esta é a edição que faz o servidor Pretend You're Xyzzy rodar em um Pi. A versão sqlite-jdbc que vem com ele não funcionará corretamente em um Pi. A versão 3.28.0 funciona muito bem em meus testes até agora

Etapa 14: inicie o servidor fingir que é Xyzzy e certifique-se de que está funcionando

Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando
Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando
Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando
Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando
Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando
Inicie o finja que você é o servidor Xyzzy e verifique se ele está funcionando

Agora que você fez as edições necessárias para executar um servidor Pretend You're Xyzzy em seu Pi, vamos iniciá-lo e ver se tudo funciona. Inicie o servidor usando o seguinte comando:

mvn clean package war: jetty explodido: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Ele irá baixar alguns arquivos adicionais, compilá-los e iniciar o servidor. Isso provavelmente levará alguns minutos.

Nota: Atualmente, esta é a única maneira que conheço de fazer o servidor rodar para que ele compile toda vez que você iniciá-lo.

Você saberá que terminou quando receber uma mensagem dizendo "O recarregamento do console está ATIVADO. Pressione ENTER no console para reiniciar o contexto."

Neste ponto, você pode abrir seu navegador e digitar o nome do host (ou endereço IP) do Pi adicionando a porta 8080 no final. Portanto, nome do host: 8080 ou IP: 8080

Se você usou xyzzypi como o nome do host, seria xyzzypi: 8080 ou, no meu caso, usando o IP, seria 192.168.1.189:8080

Se tudo funcionar, você será direcionado para a página principal de Finja que você é Xyzzy.

Parabéns! Você conseguiu

No entanto, agora ele só será executado se você entrar em seu Pi com Putty e executar o comando acima para iniciar o servidor. Depois de fechar o Putty, o servidor irá parar. Isso pode ser bom para algumas pessoas, mas você pode querer que o servidor Pretend You're Xyzzy seja executado automaticamente sempre que o Pi for inicializado ou reiniciado sem a necessidade de fazer login. As próximas etapas abordarão esse trabalho.

Etapa 15: Faça um script para iniciar o servidor fingir que é Xyzzy

Faça um script para iniciar o servidor de fingir que é Xyzzy
Faça um script para iniciar o servidor de fingir que é Xyzzy
Faça um script para iniciar o servidor fingir que é Xyzzy
Faça um script para iniciar o servidor fingir que é Xyzzy

Se quisermos que o servidor Pretend You're Xyzzy inicie automaticamente quando o Pi for inicializado ou reiniciado, a primeira coisa que precisamos fazer é criar um script.

Pressione ctrl + c para parar o servidor.

Assim que parar, digite o seguinte comando:

sudo nano xyzzy.sh

Observação: chamei meu script de xyzzy.sh, mas você pode nomeá-lo como quiser. Apenas certifique-se de que tem.sh como extensão de arquivo.

Usando o editor de texto nano, digite ou cole o seguinte no arquivo:

#! / bin / bashcd / home / pi / PretendYoureXyzzy mvn clean package war: jetty explodido: run -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Pressione ctrl + o para abrir a caixa de diálogo para salvar

Salve o arquivo e pressione ctrl + x para fechar o nano

Etapa 16: Torne seu script executável

Torne seu script executável
Torne seu script executável

Precisamos tornar o script executável usando o seguinte comando:

sudo chmod 755 xyzzy.sh

Nota: Se você nomeou seu script de forma diferente na etapa anterior, use esse nome de arquivo.

Etapa 17: Criar uma entrada Crontab para executar automaticamente seu script na inicialização

Crie uma entrada Crontab para executar seu script automaticamente na inicialização
Crie uma entrada Crontab para executar seu script automaticamente na inicialização
Crie uma entrada Crontab para executar seu script automaticamente na inicialização
Crie uma entrada Crontab para executar seu script automaticamente na inicialização
Crie uma entrada Crontab para executar seu script automaticamente na inicialização
Crie uma entrada Crontab para executar seu script automaticamente na inicialização

Existem várias maneiras de fazer um script ser executado na inicialização. Estou usando o crontab aqui.

Edite as tabelas crontab usando o seguinte comando:

crontab -e

Ele vai perguntar qual editor você deseja usar. Digite 1 e pressione Enter para usar o nano.

Assim que abrir, role até o final e adicione a seguinte linha:

@reboot /home/pi/PretendYoureXyzzy/xyzzy.sh

Nota: Novamente, se você usou um nome de arquivo diferente para o seu script, digite-o.

Pressione ctrl + o para abrir a caixa de diálogo para salvar.

Salve e pressione ctrl + x para fechar o nano.

Etapa 18: reinicie seu Pi e veja se você consegue se conectar para fingir que é Xyzzy

Reinicie seu Pi e veja se você consegue se conectar para fingir que é Xyzzy
Reinicie seu Pi e veja se você consegue se conectar para fingir que é Xyzzy

Agora que você configurou o servidor Pretend You're Xyzzy para rodar na inicialização, reinicie o Pi e certifique-se de que tudo funcione.

Reinicialize usando o seguinte comando:

sudo reboot

Assim que o Pi for reiniciado, levará alguns minutos para recompilar tudo para o servidor. Dê um tempo e tente se conectar no navegador novamente usando o nome do host ou o IP do Pi adicionando a porta 8080 no final.

xyzzypi: 8080 ou endereço IP: 8080

Se tudo funcionar, você será direcionado para a página Finja que você é Xyzzy.

Parabéns! Agora você tem o servidor Pretend You're Xyzzy que é executado automaticamente em um Raspberry Pi

Etapa 19: Opcional: encaminhe portas para permitir acesso ao seu servidor fingir que é Xyzzy pela Internet

Agora você tem um servidor Pretend You're Xyzzy funcionando, mas no momento ele só pode ser acessado em sua rede local. Isso funciona bem se você tiver um grupo de amigos para jogar em sua casa, mas pessoas fora de sua rede local não conseguirão se conectar.

Você precisará consultar as instruções de encaminhamento de porta para seu roteador específico, se ainda não souber como. Finja que você é Xyzzy usa a porta 8080, então essa é a porta que você deseja encaminhar. Depois de configurá-lo, você poderá fornecer a seus amigos seu endereço IP externo e porta e eles poderão se conectar ao seu servidor pela Internet.

Se você quiser, também pode configurar o DNS dinâmico para ter seu próprio URL (algo como JoesPYXserver.noip.com) para distribuir aos amigos para se conectar ao seu servidor. Já existem muitos tutoriais para esse tipo de coisa.

Recomendado: