
Code Roulette est un jeu de roulette russe multijoueur en ligne basé sur une interface terminal (TUI), où le perdant exécute le fichier de payload Python du gagnant.
Interface terminal, multijoueur en ligne, Roulette russe où le perdant exécute le fichier de payload Python du gagnant.

![]() | ![]() |
![]() | ![]() |
Code Roulette est un jeu de Roulette russe multijoueur en ligne basé sur une interface utilisateur en terminal (TUI) où le perdant est contraint d'exécuter un payload Python choisi par le gagnant. Chat inclus.
L'interface du jeu est entièrement basée sur le terminal grâce à Textual et prend en charge les interactions au clavier et à la souris. Ainsi, il peut être joué partout où des paquets Python peuvent être installés et un terminal ouvert.
En exécutant le payload Python d'un autre joueur sur votre ordinateur si vous perdez, l'essence du jeu original de la Roulette russe peut être adéquatement simulée dans l'espace numérique.
Le jeu commence lorsque tous les utilisateurs se connectent à un serveur local ou distant, et sélectionnent leur nom d'utilisateur et leurs fichiers de payload. Une fois que suffisamment de joueurs sont dans le hall, le premier à se connecter (le « Propriétaire » du hall) peut lancer la partie.
Tous les joueurs seront appariés, côté serveur, à un autre joueur. Ensuite, chaque joueur verra le fichier de payload Python de son adversaire et aura la possibilité de se retirer.
Une fois que tous les joueurs restants sont prêts, la partie commence. Chaque joueur tire à tour de rôle sur la gâchette du revolver ASCII. Les chambres sont cachées, donc n'importe laquelle pourrait être celle qui vous envoie sur l'écran du perdant.
Pour ceux qui n'ont pas tiré la dernière fois, un écran du gagnant s'affiche détaillant quel code est maintenant exécuté, un aperçu du code lui-même, et le nom du joueur qui a perdu.
Pour le perdant, le fichier de payload avec lequel ils ont accepté de parier est maintenant exécuté sur leur système.
[!CAUTION] Ce programme peut exécuter du code arbitraire fourni par un autre joueur sur votre ordinateur si vous perdez la partie.
Veuillez examiner et vous assurer de comprendre les risques d'exécution de code à distance, comment le jeu fonctionne, et lire l'avertissement avant d'utiliser ce logiciel !
[!NOTE] Code Roulette n'est pas encore disponible en tant que paquet PyPi ou exécutable natif. Cependant, je prévois de l'implémenter lorsque le programme sera prêt pour une distribution plus large.
Ce dépôt peut être exécuté localement et facilement en utilisant le gestionnaire de paquets UV.
uv run main.py --help
uv run main.py serveruv run main.py clientPour plus de commodité, un fichier requirements.txt est également inclus pour les utilisateurs de pip.
Avec Code Roulette, vous pouvez utiliser toutes les fonctionnalités Python 3 de la bibliothèque standard dans vos fichiers de payload. Étant donné que le système est ouvert, vous pourriez imaginer un moyen d'importer d'autres paquets. Cependant, cette fonctionnalité ne sera pas implémentée nativement dans le jeu.
Pour une sélection d'exemples de fichiers de payload, consultez le répertoire payloads/.
Un index au format JSON des fichiers de payload est également accessible depuis ce dépôt pour les développeurs. La feuille de route future inclut l'intégration de la sélection des fichiers à partir de cette base de données.
Assurez-vous que textual-dev est également ajouté comme dépendance.
Le client peut être ouvert en mode développeur de Textual en exécutant : textual run --dev -c uv run main.py --log-level debug client
Ce dépôt, à l'exception du contenu du répertoire payloads/, est proposé sous la GNU General Public License v3.0.
Dans presque toutes les circonstances, je déconseille fortement l'utilisation de cette licence. Cependant, étant donné la nature de ce projet en tant que produit final complet (un jeu), je pense qu'elle est appropriée dans ce contexte. Si vous avez une raison impérieuse de l'ouvrir, faites-le moi savoir et nous pourrons peut-être envisager une licence pour utilisation.
Le contenu du répertoire payloads/ uniquement est proposé sous la licence MIT.
[!CAUTION] Ce programme peut exécuter du code arbitraire fourni par un autre joueur sur votre ordinateur si vous perdez la partie.
Veuillez examiner et vous assurer de comprendre les risques d'exécution de code à distance, comment le jeu fonctionne, et lire l'avertissement avant d'utiliser ce logiciel !
Ce logiciel est fourni « tel quel », sans garantie d'aucune sorte, expresse ou implicite, y compris mais sans s'y limiter les garanties de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon. En aucun cas les auteurs ou détenteurs des droits d'auteur ne pourront être tenus responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans le cadre d'une action contractuelle, délictuelle ou autre, découlant de ou en relation avec le logiciel ou son utilisation ou d'autres transactions liées au logiciel.