Tabla de contenido:

Imagina que eres Xyzzy Server en Raspberry Pi: 19 pasos
Imagina que eres Xyzzy Server en Raspberry Pi: 19 pasos

Video: Imagina que eres Xyzzy Server en Raspberry Pi: 19 pasos

Video: Imagina que eres Xyzzy Server en Raspberry Pi: 19 pasos
Video: Why I Still Love Intel... 2024, Mes de julio
Anonim
Imagina que eres Xyzzy Server en Raspberry Pi
Imagina que eres Xyzzy Server en Raspberry Pi

Esta guía le mostrará cómo configurar un servidor Pretend You're Xyzzy (PYX) en una Raspberry Pi. Yo lo llamo XyzzyPi

Pretend You're Xyzzy es un clon de Cards Against Humanity de código abierto en línea que se juega en un navegador web.

En Android, también puede utilizar la aplicación Cliente para pretender que es Xyzzy.

Cuando comencé a buscar la configuración de mi propio servidor PYX, me costó encontrar instrucciones que no estuvieran desactualizadas y que fueran fáciles de seguir. Parecía que la mayoría de ellos estaban escritos para personas que ya tenían alguna experiencia en la configuración de un servidor PYX. Pude resolver las cosas, pero quería crear una guía paso a paso para aquellos que son menos conocedores de la tecnología o que no tienen mucha experiencia con tales cosas. Además, no pude encontrar ninguna instrucción sobre cómo ejecutarlo en una Raspberry Pi. Después de algunas pruebas y errores, pude hacer que el servidor PYX se ejecutara en un Pi con solo algunas pequeñas modificaciones en los archivos. Espero que esto les ahorre algo de tiempo a quienes estén interesados.

He hecho esto en un Pi 3 modelo B + y un Pi 4 modelo B 4GB. Hay algunos problemas con el uso de un Pi Zero W debido a que el procesador no maneja correctamente una máquina virtual Java. Actualmente estoy tratando de que funcione en Zero W y actualizaré las instrucciones si tengo éxito. No tengo un Pi 1 o 2 para probar, por lo que esto puede o no funcionar con ellos.

He tratado de hacer que este tutorial sea fácil de seguir para personas de todos los niveles, por lo que puede haber cosas aquí que ya conoces.

Si ya sabe cómo instalar Raspbian y conectarse a su Pi, vaya al paso 6

Si tiene experiencia con la configuración de un servidor PYX y solo desea conocer las ediciones necesarias para que funcione en un Pi, vaya al paso 13

Descargo de responsabilidad: no creé Pretend You're Xyzzy ni la aplicación cliente de Android.

El crédito por crear Pretend You're Xyzzy es para el usuario de GitHub ajanata (https://github.com/ajanata/PretendYoureXyzzy)

El crédito por crear Client For Pretend You're Xyzzy va para Gianlu (https://play.google.com/store/apps/dev?id=8675761046824387020)

Si hay alguien a quien extrañé, hágamelo saber.

Suministros

Hardware:

Raspberry Pi 3 o 4

Tarjeta micro SD (estoy usando tarjetas micro SD de 32 GB porque eso es lo que tengo a mano. Probablemente pueda arreglárselas con tan solo 2 GB, pero recomendaría al menos 4 GB).

PC con lector de tarjetas SD (estoy usando Windows para este tutorial. Si está ejecutando Linux, probablemente ya esté familiarizado con muchas de estas cosas, así que ajuste las instrucciones según sea necesario).

Software:

Imagen de Raspbian: https://www.raspberrypi.org/downloads/raspbian/ (Cualquiera debería funcionar. Estoy usando Raspbian Buster Lite en el momento de escribir este artículo).

Win32 Disk Imager: https://sourceforge.net/projects/win32diskimager/ (Hay otros programas que puede usar para actualizar la imagen de Raspbian, pero esta es mi preferencia personal).

Masilla:

Paso 1: Flash Raspbian en su tarjeta SD

Flash Raspbian en su tarjeta SD
Flash Raspbian en su tarjeta SD

Coloque su tarjeta SD en el lector de tarjetas de su computadora antes de abrir Win32 Disk Imager. Luego seleccione su imagen Raspbian y la letra de la unidad de su tarjeta SD y haga clic en "Escribir".

PRECAUCIÓN: Todo lo que esté en la tarjeta SD se eliminará y se sobrescribirá. Si hay datos importantes en la tarjeta SD, primero haga una copia de seguridad. Además, asegúrese de seleccionar la letra de unidad correcta para su tarjeta SD. De lo contrario, podría borrar o sobrescribir inadvertidamente la unidad incorrecta

Una vez que haya terminado, tendrá dos unidades separadas en su tarjeta SD. Una vez llamado boot y uno que Windows no puede leer. Probablemente obtendrá una ventana emergente en Windows pidiéndole que formatee la tarjeta. Simplemente haga clic en cancelar. Si lo formatea, tendrá que flashear Raspbian nuevamente.

Paso 2: cree un archivo de texto denominado "wpa_supplicant.conf" en la unidad de arranque

Crear un archivo de texto con nombre
Crear un archivo de texto con nombre

En la unidad de arranque de la tarjeta SD, cree un archivo de texto llamado wpa_supplicant.conf y pegue el código a continuación dentro. Reemplace "nombre de wifi" y "contraseña" con su nombre y contraseña de wifi real, pero mantenga las comillas alrededor de ellos. Guarda el archivo.

Esto permitirá que su Pi se conecte a su wifi. Si está utilizando un cable ethernet para conectar su Pi a su red, probablemente pueda omitir este paso.

Asegúrese de que la extensión del archivo sea correcta. Debe ser wpa_supplicant.conf no wpa_supplicant.conf.txt

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

red = {

scan_ssid = 1 ssid = "nombre wifi" psk = "contraseña"}

Paso 3: cree un archivo vacío llamado "ssh" en la unidad de arranque

Crear un archivo vacío con nombre
Crear un archivo vacío con nombre

En la unidad de arranque de la tarjeta SD, cree un archivo vacío llamado ssh

No es necesario que contenga nada, solo se debe nombrar correctamente.

Esto habilitará ssh en su Pi, lo que le permitirá conectarse a él usando Putty.

Asegúrese de que el archivo se llame simplemente ssh sin extensión. No ssh.txt, etc

Paso 4: expulsa la tarjeta SD de tu PC, colócala en tu Pi y enciende tu Pi

Expulse la tarjeta SD de su PC, colóquela en su Pi y encienda su Pi.

Si todo funcionó, su Pi se iniciará y se conectará a su wifi.

Dale un par de minutos para ejecutar su configuración inicial.

Paso 5: Conéctese a su Pi usando Putty

Conéctese a su Pi usando Putty
Conéctese a su Pi usando Putty
Conéctese a su Pi usando Putty
Conéctese a su Pi usando Putty

Abra Putty y en el cuadro Nombre de host escriba raspberrypi asegurándose de que el tipo de conexión sea SSH y el puerto 22. Si se conecta, se lo llevará a una pantalla negra con texto conocido como terminal. Le pedirá su nombre de usuario y contraseña. El nombre de usuario predeterminado es "pi" y la contraseña predeterminada es "frambuesa". Se recomienda encarecidamente que cambie la contraseña, especialmente si planea que su Pi esté expuesta a Internet. Para hacerlo, escriba "passwd" una vez que haya iniciado sesión y siga las instrucciones. Asegúrese de elegir una contraseña que recuerde.

Si no se conecta, es posible que deba buscar la dirección IP que está usando su Pi. Hay varias formas de hacer esto, pero personalmente solo inicio sesión en mi enrutador y verifico la lista de dispositivos conectados. Una vez que encuentre la IP de su Pi, escríbala en el cuadro Nombre de host en Putty en lugar de raspberrypi e intente conectarse nuevamente.

Si aún no puede conectarse, es posible que no haya creado el archivo ssh correctamente. Lea los pasos anteriores y vuelva a verificar todo.

Paso 6: Opcional: cambie el nombre de host de su Pi

Opcional: cambie el nombre de host de su Pi
Opcional: cambie el nombre de host de su Pi
Opcional: cambie el nombre de host de su Pi
Opcional: cambie el nombre de host de su Pi
Opcional: cambie el nombre de host de su Pi
Opcional: cambie el nombre de host de su Pi

Esto no es necesario, pero prefiero tener el nombre de host de mi Pi como algo relevante para lo que se usa en lugar de simplemente el genérico "raspberrypi". En este caso lo llamé "xyzzypi" pero puedes llamarlo como quieras.

Para cambiar el tipo de nombre de host:

sudo raspi-config

Seleccione Opciones de red

Seleccionar nombre de host

Ingrese el nombre de host que desee

Seleccione Finalizar

Le preguntará si desea reiniciar el Pi ahora. El nuevo nombre de host no entrará en vigor hasta que reinicie. Si lo hace, su sesión de Putty se desconectará. Una vez que haya terminado de reiniciar, deberá usar el nuevo nombre de host que configuró para volver a conectarse con Putty. Si se estaba conectando utilizando la dirección IP en lugar del nombre de host, debería ser el mismo.

Hay muchas otras opciones que puede configurar usando la herramienta raspi-config, pero ya hay muchos tutoriales sobre eso en línea, por lo que no voy a entrar en ellos aquí.

Paso 7: actualice sus paquetes de aplicaciones

Actualice sus paquetes de aplicaciones
Actualice sus paquetes de aplicaciones

Actualice los paquetes de su aplicación usando el siguiente comando:

sudo apt-get update

Déjalo correr hasta que esté terminado.

Nota: Técnicamente, ya no tiene que escribir "apt-get", solo puede escribir "apt". Sin embargo, estoy tan acostumbrado a escribir "apt-get" que en este momento es solo memoria muscular para mí.

Paso 8: Instala Git

Instalar Git
Instalar Git

Una vez que los paquetes de la aplicación hayan terminado de actualizarse, instale Git usando el siguiente comando:

sudo apt-get -y install git

Déjalo correr hasta que termine.

Paso 9: Instale Maven

Instalar Maven
Instalar Maven

Instale Maven usando el siguiente comando:

sudo apt-get -y install maven

Déjalo correr hasta que termine

Paso 10: Descargue los archivos de Pretend You're Xyzzy Server

Descargue los archivos de Pretend You're Xyzzy Server
Descargue los archivos de Pretend You're Xyzzy Server

Descargue los archivos del servidor Pretend You're Xyzzy usando el siguiente comando:

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

Esto creará un directorio en su Pi llamado PretendYoureXyzzy y descargará los archivos en él.

Déjalo correr hasta que termine.

Paso 11: Cambie al directorio PretendYoureXyzzy

Cambiar al directorio PretendYoureXyzzy
Cambiar al directorio PretendYoureXyzzy

Cambie al directorio PretendYoureXyzzy usando el siguiente comando:

cd PretendYoureXyzzy

Nota: Los comandos de Linux distinguen entre mayúsculas y minúsculas, por lo que cd PretendYoureXyzzy funcionará, pero cd pretendyourexyzzy no.

Paso 12: Abra y edite el archivo "build.properties.example" y guárdelo como "build.properties"

Abra y edite el
Abra y edite el
Abra y edite el
Abra y edite el
Abra y edite el
Abra y edite el

Abra el archivo build.properties.example con el editor de texto nano usando el siguiente comando:

sudo nano build.properties.example

Usar un editor de texto basado en terminal puede parecer un poco intimidante para aquellos que no están acostumbrados, pero lo que estamos haciendo es muy simple.

Use la tecla de flecha hacia abajo para desplazarse hacia abajo hasta que encuentre las secciones que dicen "hibernate.username" y "hibernate.password".

Use la tecla de flecha hacia la derecha para moverse hasta el final de esas líneas y cambie el nombre de usuario y la contraseña a otra cosa. Honestamente, no sé si es realmente necesario, pero no me siento cómodo dejándolos con el nombre de usuario y la contraseña predeterminados con los que venían.

Una vez que los haya cambiado, presione ctrl + o para abrir el cuadro de diálogo de guardar.

Retroceso para eliminar el ".example" del final del nombre de archivo, por lo que solo queda "build.properties"

Le preguntará si desea guardar el archivo con un nombre diferente. Presione y para sí.

Presione ctrl + x para cerrar el editor de texto nano.

Paso 13: Abra y edite el archivo "pom.xml" (ESTO ES LO QUE HACE QUE SE EJECUTE EN un PI)

Abra y edite el
Abra y edite el
Abra y edite el
Abra y edite el

Abra el archivo pom.xml con el editor de texto nano usando el siguiente comando:

sudo nano pom.xml

Desplácese hacia abajo como lo hizo antes. Esta vez la línea que busca es sqlite-jdbc

Justo debajo de esa línea hay una línea con un número de versión. Debe cambiar ese número a 3.28.0 para que se vea así:

3.28.0

Una vez que haya editado el número de versión, presione ctrl + o para abrir el cuadro de diálogo de guardar.

Mantenga el nombre del archivo como "pom.xml" y guárdelo.

Una vez guardado, presione ctrl + x para cerrar el editor de texto nano.

Esta es la edición que hace que el servidor Pretend You're Xyzzy se ejecute en una Pi. La versión sqlite-jdbc que viene con no se ejecutará correctamente en una Pi. La versión 3.28.0 funciona muy bien en mis pruebas hasta ahora

Paso 14: Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona

Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona
Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona
Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona
Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona
Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona
Inicie el servidor Pretend You're Xyzzy y asegúrese de que funciona

Ahora que ha realizado las ediciones necesarias para ejecutar un servidor Pretend You're Xyzzy en su Pi, iniciemos y veamos si todo funciona. Inicie el servidor con el siguiente comando:

mvn clean package war: embarcadero explotado: ejecutar -Dmaven.buildNumber.doCheck = false -Dmaven.buildNumber.doUpdate = false

Descargará algunos archivos adicionales, los compilará e iniciará el servidor. Es probable que esto tarde un par de minutos.

Nota: Actualmente, esta es la única forma en que sé cómo hacer que el servidor se ejecute para que se compile cada vez que lo inicie.

Sabrá que está listo cuando reciba un mensaje que diga "La recarga de la consola está HABILITADA. Presione ENTER en la consola para reiniciar el contexto".

En este punto, puede abrir su navegador y escribir el nombre de host (o dirección IP) del Pi agregando el puerto 8080 al final. Entonces nombre de host: 8080 o IP: 8080

Si usara xyzzypi como nombre de host, sería xyzzypi: 8080 o, en mi caso, usando la IP sería 192.168.1.189:8080

Si todo funcionó, se lo dirigirá a la página principal de Pretend You're Xyzzy.

¡Felicidades! ¡Lo has hecho

Sin embargo, en este momento solo se ejecutará si inicia sesión en su Pi con Putty y ejecuta el comando anterior para iniciar el servidor. Una vez que cierre Putty, el servidor se detendrá. Esto puede estar bien para algunas personas, pero es posible que desee que el servidor Pretend You're Xyzzy se ejecute automáticamente siempre que el Pi se inicie o se reinicie sin tener que iniciar sesión. Los siguientes pasos cubrirán cómo hacer que eso funcione.

Paso 15: Cree una secuencia de comandos para iniciar el servidor Fingir que es Xyzzy

Cree una secuencia de comandos para iniciar el servidor Fingir que es Xyzzy
Cree una secuencia de comandos para iniciar el servidor Fingir que es Xyzzy
Cree un script para iniciar el servidor Fingir que es Xyzzy
Cree un script para iniciar el servidor Fingir que es Xyzzy

Si queremos que el servidor Pretend You're Xyzzy se inicie automáticamente cuando el Pi arranca o se reinicia, lo primero que debemos hacer es crear un script.

Presione ctrl + c para detener el servidor.

Una vez que se detenga, escriba el siguiente comando:

sudo nano xyzzy.sh

Nota: llamé a mi script xyzzy.sh pero puedes nombrarlo como quieras. Solo asegúrese de que tenga.sh como extensión de archivo.

Usando el editor de texto nano, escriba o pegue lo siguiente en el archivo:

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

Presione ctrl + o para abrir el cuadro de diálogo de guardar

Guarde el archivo y presione ctrl + x para cerrar nano

Paso 16: haga que su script sea ejecutable

Haga que su script sea ejecutable
Haga que su script sea ejecutable

Necesitamos hacer que el script sea ejecutable usando el siguiente comando:

sudo chmod 755 xyzzy.sh

Nota: Si le asignó un nombre diferente al script en el paso anterior, utilice ese nombre de archivo en su lugar.

Paso 17: Cree una entrada Crontab para ejecutar automáticamente su script en el arranque

Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque
Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque
Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque
Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque
Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque
Cree una entrada de Crontab para ejecutar automáticamente su script en el arranque

Hay varias formas de ejecutar un script al arrancar. Estoy usando crontab aquí.

Edite las tablas crontab con el siguiente comando:

crontab -e

Le preguntará qué editor desea utilizar. Escribe 1 y presiona enter para usar nano.

Una vez que se abra, desplácese hasta el final y agregue la siguiente línea:

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

Nota: Nuevamente, si usó un nombre de archivo diferente para su secuencia de comandos, escriba ese.

Presione ctrl + o para abrir el cuadro de diálogo de guardar.

Guarde y presione ctrl + x para cerrar nano.

Paso 18: Reinicie su Pi y vea si puede conectarse para fingir que es Xyzzy

Reinicie su Pi y vea si puede conectarse para fingir que es Xyzzy
Reinicie su Pi y vea si puede conectarse para fingir que es Xyzzy

Ahora que tiene su servidor Pretend You're Xyzzy configurado para ejecutarse en el arranque, puede reiniciar el Pi y asegurarse de que todo funcione.

Reinicie usando el siguiente comando:

sudo reiniciar

Una vez que el Pi se reinicia, tomará un par de minutos volver a compilar todo para el servidor. Déle tiempo y luego intente conectarse en el navegador nuevamente usando el nombre de host o la IP del Pi agregando el puerto 8080 al final.

xyzzypi: 8080 o dirección IP: 8080

Si todo ha funcionado, se le dirigirá a la página Fingir que es Xyzzy.

¡Felicidades! ¡Ahora tiene el servidor Pretend You're Xyzzy que se ejecuta automáticamente en una Raspberry Pi

Paso 19: Opcional: Reenviar puertos para permitir el acceso a su servidor Fingir que es Xyzzy a través de Internet

Así que ahora tiene un servidor Pretend You're Xyzzy en funcionamiento, pero por el momento solo se puede acceder a él en su red local. Esto funciona bien si tienes un grupo de amigos para jugar en tu casa, pero las personas fuera de tu red local no podrán conectarse.

Deberá buscar las instrucciones de reenvío de puertos para su enrutador específico si aún no sabe cómo. Imagina que eres Xyzzy usa el puerto 8080, por lo que ese es el puerto que querrás reenviar. Una vez que lo haya configurado, podrá darles a sus amigos su dirección IP externa y su puerto y ellos podrán conectarse a su servidor a través de Internet.

Si lo desea, también puede configurar DNS dinámico para que tenga su propia URL (algo así como JoesPYXserver.noip.com) para entregar a sus amigos para que se conecten a su servidor. Ya hay muchos tutoriales para ese tipo de cosas.

Recomendado: