
Code Roulette es un juego de ruleta rusa multijugador en línea basado en interfaz de terminal (TUI), donde el perdedor ejecuta el archivo payload Python del ganador.
Interfaz de terminal, multijugador en línea, Ruleta Rusa donde el perdedor ejecuta el archivo payload Python del ganador.

![]() | ![]() |
![]() | ![]() |
Code Roulette es un juego de Ruleta Rusa multijugador en línea basado en Interfaz de Usuario de Terminal (TUI) donde el perdedor se ve obligado a ejecutar un payload Python elegido por el ganador. Incluye chat.
La interfaz del juego está completamente basada en terminal usando Textual y admite interacciones tanto con teclado como con ratón. Por lo tanto, se puede jugar en cualquier lugar donde se puedan instalar paquetes Python y se abra una terminal.
Al ejecutar el payload Python de otro jugador en tu computadora si pierdes, la esencia del juego original de la Ruleta Rusa se puede simular adecuadamente en el espacio digital.
El juego comienza cuando todos los usuarios se conectan a un servidor local o remoto, y seleccionan sus nombres de usuario y archivos payload. Una vez que hay suficientes jugadores en el lobby, el primero en conectarse (el "Dueño" del lobby) puede iniciar el juego.
Todos los jugadores serán emparejados, del lado del servidor, con otro jugador. Luego, a cada jugador se le mostrará el archivo payload Python de su oponente y se le dará la oportunidad de retirarse.
Una vez que todos los jugadores restantes se preparen, el juego comienza. Cada jugador se turnará para apretar el gatillo del revólver ASCII. Las recámaras están ocultas, por lo que cualquiera podría ser la que te envíe a la pantalla del perdedor.
Para aquellos que no apretaron el gatillo por última vez, se muestra una pantalla de ganador que detalla de quién es el código que se está ejecutando, una vista previa del código mismo y el nombre del jugador que perdió.
Para el perdedor, el archivo payload con el que aceptaron apostar se está ejecutando ahora en su sistema.
[!CAUTION] Este programa puede ejecutar código arbitrario proporcionado por otro jugador en tu computadora si pierdes la partida.
Por favor, revisa y asegúrate de entender los riesgos de la ejecución remota de código, cómo funciona el juego y lee el descargo de responsabilidad antes de usar este software.
[!NOTE] Code Roulette no está todavía disponible como paquete PyPi o ejecutable nativo. Sin embargo, planeo implementarlo cuando el programa esté listo para una distribución más amplia.
Este repositorio se puede ejecutar local y fácilmente usando el gestor de paquetes UV.
uv run main.py --help
uv run main.py serveruv run main.py clientPara mayor comodidad, también se incluye un archivo requirements.txt para usuarios de pip.
Con Code Roulette puedes usar cualquier característica de la biblioteca estándar de Python 3 en tus archivos payload. Dado que el sistema es abierto, podrías idear una forma de importar paquetes adicionales. Sin embargo, ese soporte no se implementará de forma nativa en el juego.
Para una selección de archivos payload de ejemplo, consulta el directorio payloads/.
También se puede acceder a un índice en formato JSON de los archivos payload desde este repositorio para desarrolladores. La hoja de ruta futura incluye la integración de la selección de archivos desde esta base de datos.
Asegúrate de que textual-dev también esté agregado como dependencia.
El Cliente se puede abrir en el modo desarrollador de Textual ejecutando: textual run --dev -c uv run main.py --log-level debug client
Este repositorio, con la excepción del contenido del directorio payloads/, se ofrece bajo la Licencia Pública General GNU v3.0.
Bajo casi todas las circunstancias, recomiendo encarecidamente no usar esta licencia. Sin embargo, por la naturaleza de este proyecto como un producto final completo (un juego), siento que es apropiada en este contexto. Si tienes una razón convincente para abrirlo, házmelo saber y quizás podamos abordar la licencia para su uso.
El contenido del directorio payloads/ solamente se ofrece bajo la Licencia MIT.
[!CAUTION] Este programa puede ejecutar código arbitrario proporcionado por otro jugador en tu computadora si pierdes la partida.
Por favor, revisa y asegúrate de entender los riesgos de la ejecución remota de código, cómo funciona el juego y lee el descargo de responsabilidad antes de usar este software.
Este software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluyendo pero no limitado a las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables por cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otro tipo, que surja de, o en conexión con el software o el uso u otros tratos con el software.
Eres el único responsable de cualquier consecuencia que pueda surgir del uso de este software, incluyendo pero no limitado a pérdida de datos, daños al sistema o problemas legales resultantes de ejecutar código proporcionado por otros jugadores. Siempre revisa y comprende el código que aceptas ejecutar antes de participar en el juego.