
Code Roulette è un gioco multiplayer online basato su interfaccia terminale (TUI), una roulette russa in cui il perdente esegue il file payload Python del vincitore.
Gioco multiplayer online basato su interfaccia terminale, una roulette russa in cui il perdente esegue il file payload Python del vincitore.

![]() | ![]() |
![]() | ![]() |
Code Roulette è un gioco multiplayer online basato su interfaccia utente terminale (TUI), una roulette russa in cui il perdente è costretto a eseguire un payload Python scelto dal vincitore. Include chat.
L'interfaccia del gioco è interamente basata su terminale utilizzando Textual e supporta interazioni sia con tastiera che con mouse. Può quindi essere giocato ovunque sia possibile installare pacchetti Python e aprire un terminale.
Eseguendo il payload Python di un altro giocatore sul proprio computer in caso di perdita, l'essenza del gioco originale della roulette russa può essere adeguatamente simulata nello spazio digitale.
Il gioco inizia con tutti gli utenti che si collegano a un server locale o remoto e selezionano i propri nomi utente e file payload. Una volta che ci sono abbastanza giocatori nella lobby, il primo a connettersi (il "Proprietario" della lobby) può avviare la partita.
Tutti i giocatori vengono accoppiati, lato server, a un altro giocatore. Quindi a ogni giocatore viene mostrato il file payload Python del proprio avversario e viene data la possibilità di ritirarsi.
Una volta che tutti i giocatori rimanenti sono pronti, il gioco inizia. Ogni giocatore, a turno, preme il grilletto del revolver ASCII. Le camere sono nascoste, quindi qualsiasi colpo potrebbe essere quello che ti manda alla schermata del perdente.
Per coloro che non hanno premuto il grilletto per l'ultima volta, viene mostrata una schermata del vincitore che descrive in dettaglio il codice in esecuzione, un'anteprima del codice stesso e il nome del giocatore che ha perso.
Per il perdente, il file payload che ha accettato di mettere in gioco viene ora eseguito sul suo sistema.
[!CAUTION] Questo programma può eseguire sul tuo computer codice arbitrario fornito da un altro giocatore se perdi la partita.
Leggi e assicurati di comprendere i rischi dell'esecuzione di codice arbitrario, di come funziona il gioco e leggi il disclaimer prima di utilizzare questo software!
[!NOTE] Code Roulette non è ancora disponibile come pacchetto PyPi o come eseguibile nativo. Tuttavia, ho in programma di implementarlo quando il programma sarà pronto per una distribuzione più ampia.
Questo repository può essere eseguito localmente e facilmente utilizzando il gestore di pacchetti UV.
uv run main.py --help
uv run main.py serveruv run main.py clientPer comodità, è incluso anche un requirements.txt per gli utenti di pip.
Con Code Roulette puoi utilizzare qualsiasi funzionalità Python 3 della libreria standard nei tuoi file payload. Poiché il sistema è aperto, potresti escogitare un modo per importare ulteriori pacchetti. Tuttavia, tale supporto non verrà implementato nativamente nel gioco.
Per una selezione di file payload di esempio, dai un'occhiata alla directory payloads/.
Un indice in formato JSON dei file payload è accessibile anche da questo repository per gli sviluppatori. La roadmap futura include l'integrazione della selezione di file da questo database.
Assicurati che anche textual-dev sia aggiunto come dipendenza.
Il client può essere aperto nella modalità sviluppatore di Textual eseguendo: textual run --dev -c uv run main.py --log-level debug client
Questo repository, ad eccezione del contenuto della directory payloads/, è offerto sotto la GNU General Public License v3.0.
In quasi tutte le circostanze, sconsiglio vivamente l'uso di questa licenza. Tuttavia, per la natura di questo progetto come prodotto finale completo (un gioco), ritengo che sia appropriato in questo contesto. Se hai una ragione convincente per aprirlo, fammelo sapere e forse possiamo valutare una licenza per l'uso.
Il contenuto della directory payloads/ solo è offerto sotto la Licenza MIT.
[!CAUTION] Questo programma può eseguire sul tuo computer codice arbitrario fornito da un altro giocatore se perdi la partita.
Leggi e assicurati di comprendere i rischi dell'esecuzione di codice arbitrario, di come funziona il gioco e leggi il disclaimer prima di utilizzare questo software!
Questo software viene fornito "così com'è", senza alcuna garanzia, esplicita o implicita, incluse, a titolo esemplificativo, le garanzie di commerciabilità, idoneità per uno scopo particolare e non violazione. In nessun caso gli autori o i titolari del copyright saranno responsabili per qualsiasi rivendicazione, danno o altra responsabilità, sia in un'azione contrattuale, extracontrattuale o altro, derivante da, in conseguenza di o in connessione con il software o l'uso o altre operazioni nel software.
Sei l'unico responsabile per qualsiasi conseguenza possa derivare dall'uso di questo software, inclusi, a titolo esemplificativo, perdita di dati, danni al sistema o problemi legali derivanti dall'esecuzione di codice fornito da altri giocatori. Controlla e comprendi sempre il codice che accetti di eseguire prima di partecipare al gioco.