
Code Roulette é um jogo de Roleta Russa online multiplayer baseado em interface de terminal (TUI), onde o perdedor executa o arquivo de payload Python do vencedor.
Baseado em interface de terminal, multijogador online, Roleta Russa onde o perdedor executa o arquivo de payload Python do vencedor.

![]() | ![]() |
![]() | ![]() |
Code Roulette é um jogo de Roleta Russa multijogador online baseado em Interface de Usuário de Terminal (TUI) onde o perdedor é forçado a executar um payload Python da escolha do vencedor. Chat incluído.
A interface do jogo é inteiramente baseada em terminal usando Textual e suporta interações tanto por teclado quanto por mouse. Assim, pode ser jogado em qualquer lugar onde pacotes Python possam ser instalados e um terminal aberto.
Ao executar o payload Python de outro jogador no seu computador se você perder, a essência do jogo original de Roleta Russa pode ser adequadamente simulada no espaço digital.
O jogo começa com todos os usuários se conectando a um servidor local ou remoto e selecionando seus nomes de usuário e arquivos de payload. Quando jogadores suficientes estiverem no lobby, o primeiro a se conectar (o "Dono" do lobby) pode iniciar o jogo.
Todos os jogadores serão pareados, no lado do servidor, com outro jogador. Então, cada jogador verá o arquivo de payload Python do seu oponente e terá a chance de desistir.
Assim que todos os jogadores restantes estiverem prontos, o jogo começa. Cada jogador se revezará puxando o gatilho do revólver ASCII. Os compartimentos estão ocultos, então qualquer um pode ser o que te envia para a tela do perdedor.
Para aqueles que não puxaram o gatilho pela última vez, uma tela de vencedor é exibida detalhando de quem é o código que está sendo executado, uma prévia do próprio código e o nome do jogador que perdeu.
Para o perdedor, o arquivo de payload que eles concordaram em apostar agora está sendo executado em seu sistema.
[!CAUTION] Este programa pode executar código arbitrário fornecido por outro jogador no seu computador se você perder o jogo.
Por favor, revise e assegure-se de entender os riscos da execução remota de código, como o jogo funciona, e leia o aviso legal antes de usar este software!
[!NOTE] O Code Roulette ainda não está disponível como pacote PyPi ou executável nativo. No entanto, pretendo implementar isso quando o programa estiver pronto para distribuição mais ampla.
Este repositório pode ser executado localmente e facilmente usando o gerenciador de pacotes UV.
uv run main.py --help
uv run main.py serveruv run main.py clientPara conveniência, um requirements.txt também está incluído para usuários de pip.
Com o Code Roulette, você pode usar qualquer recurso da biblioteca padrão do Python 3 nos seus arquivos de payload. Como o sistema é aberto, você pode criar uma forma de importar pacotes adicionais. No entanto, esse suporte não será implementado nativamente no jogo.
Para uma seleção de arquivos de payload de exemplo, confira o diretório payloads/.
Um índice em formato JSON dos arquivos de payload também está acessível neste repositório para desenvolvedores. O roteiro futuro inclui a integração da seleção de arquivos deste banco de dados.
Certifique-se de que textual-dev também seja adicionado como dependência.
O Cliente pode ser aberto no modo de desenvolvedor do Textual executando: textual run --dev -c uv run main.py --log-level debug client
Este repositório, com exceção do conteúdo do diretório payloads/, é oferecido sob a GNU General Public License v3.0.
Em quase todas as circunstâncias, eu aconselho fortemente contra o uso desta licença. No entanto, pela natureza deste projeto ser um produto final completo (um jogo), sinto que é apropriado neste contexto. Se você tiver um motivo convincente para abri-lo, me avise e talvez possamos discutir o licenciamento para uso.
O conteúdo do diretório payloads/ apenas é oferecido sob a Licença MIT.
[!CAUTION] Este programa pode executar código arbitrário fornecido por outro jogador no seu computador se você perder o jogo.
Por favor, revise e assegure-se de entender os riscos da execução remota de código, como o jogo funciona, e leia o aviso legal antes de usar este software!
Este software é fornecido "como está", sem garantia de qualquer tipo, expressa ou implícita, incluindo, mas não se limitando às garantias de comercialização, adequação a um propósito específico e não violação. Em nenhum caso os autores ou detentores dos direitos autorais serão responsáveis por qualquer reclamação, danos ou outra responsabilidade, seja em uma ação de contrato, ato ilícito ou de outra forma, decorrente de, ou em conexão com o software ou o uso ou outras negociações no software.
Você é o único responsável por quaisquer consequências que possam surgir do uso deste software, incluindo, mas não se limitando a perda de dados, danos ao sistema ou questões legais resultantes da execução de código fornecido por outros jogadores. Sempre revise e entenda o código que você concorda em executar antes de participar do jogo.
Roleta Russa é um jogo perigoso e ameaçador à vida na vida real. Este software é destinado apenas para fins de entretenimento e não deve ser interpretado como um endosso de tais atividades. Se você ou alguém que você conhece está enfrentando problemas relacionados a jogos de azar ou comportamentos ameaçadores à vida, por favor, procure ajuda profissional. Sempre há alguém disposto a ouvir e ajudar.
Se você escolher usar este software, faça-o por sua própria conta e risco.