
Code Roulette ist ein terminalbasiertes (TUI), Online-Mehrspieler-Russisch-Roulette-Spiel, bei dem der Verlierer die Python-Payload-Datei des Gewinners ausführt.
Terminal-basiertes, Online-Mehrspieler-Russisch-Roulette, bei dem der Verlierer die Python-Payload-Datei des Gewinners ausführt.

![]() | ![]() |
![]() | ![]() |
Code Roulette ist ein terminalbasiertes (TUI), Online-Mehrspieler-Russisch-Roulette-Spiel, bei dem der Verlierer gezwungen wird, eine Python-Payload nach Wahl des Gewinners auszuführen. Inklusive Chat.
Die Spieloberfläche ist vollständig terminalbasiert und verwendet Textual. Sie unterstützt sowohl Tastatur- als auch Mausinteraktionen. Daher kann es überall gespielt werden, wo Python-Pakete installiert und ein Terminal geöffnet werden können.
Indem bei einer Niederlage die Python-Payload eines anderen Spielers auf Ihrem Computer ausgeführt wird, kann das Wesen des ursprünglichen Russisch-Roulettes im digitalen Raum angemessen simuliert werden.
Das Spiel beginnt, indem sich alle Benutzer mit einem lokalen oder entfernten Server verbinden und ihre Benutzernamen und Payload-Dateien auswählen. Sobald genügend Spieler in der Lobby sind, kann der erste, der sich verbindet (der Lobby-„Besitzer“), das Spiel starten.
Alle Spieler werden serverseitig einem anderen Spieler zugeordnet. Dann wird jedem Spieler die Python-Payload-Datei seines Gegners angezeigt und er erhält die Möglichkeit, auszusteigen.
Sobald alle verbleibenden Spieler bereit sind, beginnt das Spiel. Jeder Spieler zieht abwechselnd den Abzug des ASCII-Revolvers. Die Kammern sind verborgen, sodass jede diejenige sein könnte, die Sie zum Verlierer-Bildschirm schickt.
Für diejenigen, die nicht zum letzten Mal abgedrückt haben, wird ein Gewinner-Bildschirm angezeigt, der zeigt, wessen Code nun ausgeführt wird, eine Vorschau des Codes selbst und den Namen des Spielers, der verloren hat.
Für den Verlierer wird die Payload-Datei, mit der er zu spielen zugestimmt hat, nun auf seinem System ausgeführt.
[!CAUTION] Dieses Programm kann beliebigen Code ausführen, der von einem anderen Spieler auf Ihrem Computer bereitgestellt wird, wenn Sie das Spiel verlieren.
Bitte prüfen Sie und stellen Sie sicher, dass Sie die Risiken der Remote-Code-Ausführung, wie das Spiel funktioniert und lesen Sie den Haftungsausschluss verstehen, bevor Sie diese Software verwenden!
[!NOTE] Code Roulette ist noch nicht als PyPi-Paket oder als native ausführbare Datei verfügbar. Ich habe jedoch vor, dies zu implementieren, wenn das Programm für eine breitere Verteilung bereit ist.
Dieses Repository kann lokal und einfach mit dem UV-Paketmanager ausgeführt werden.
uv run main.py --help
uv run main.py serveruv run main.py clientDer Einfachheit halber ist auch eine requirements.txt für pip-Benutzer enthalten.
Mit Code Roulette können Sie in Ihren Payload-Dateien alle Standardbibliotheksfunktionen von Python 3 verwenden. Da das System offen ist, könnten Sie einen Weg finden, weitere Pakete zu importieren. Diese Unterstützung wird jedoch nicht nativ in das Spiel implementiert.
Eine Auswahl an Beispiel-Payload-Dateien finden Sie im Verzeichnis payloads/.
Ein Index der Payload-Dateien im JSON-Format ist ebenfalls aus diesem Repository für Entwickler zugänglich. Die zukünftige Roadmap beinhaltet die Integration der Auswahl von Dateien aus dieser Datenbank.
Stellen Sie sicher, dass auch textual-dev als Abhängigkeit hinzugefügt wird.
Der Client kann im Textual-Entwicklermodus geöffnet werden, indem Sie Folgendes ausführen: textual run --dev -c uv run main.py --log-level debug client
Dieses Repository, mit Ausnahme des Inhalts des Verzeichnisses payloads/, wird unter der GNU General Public License v3.0 angeboten.
Unter fast allen Umständen rate ich dringend von der Verwendung dieser Lizenz ab. Aufgrund der Natur dieses Projekts als vollständiges Endprodukt (ein Spiel) halte ich sie jedoch in diesem Kontext für angemessen. Wenn Sie einen zwingenden Grund haben, es zu öffnen, lassen Sie es mich wissen, und vielleicht können wir eine Lizenz für die Nutzung vereinbaren.
Der Inhalt des Verzeichnisses payloads/ ausschließlich wird unter der MIT License angeboten.
[!CAUTION] Dieses Programm kann beliebigen Code ausführen, der von einem anderen Spieler auf Ihrem Computer bereitgestellt wird, wenn Sie das Spiel verlieren.
Bitte prüfen Sie und stellen Sie sicher, dass Sie die Risiken der Remote-Code-Ausführung, wie das Spiel funktioniert verstehen, und lesen Sie den Haftungsausschluss, bevor Sie diese Software verwenden!
Diese Software wird „wie besehen“ zur Verfügung gestellt, ohne jegliche Gewährleistung, ausdrücklich oder stillschweigend, einschließlich, aber nicht beschränkt auf die stillschweigenden Gewährleistungen der Marktgängigkeit, der Eignung für einen bestimmten Zweck und der Nichtverletzung von Rechten. In keinem Fall haften die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen, sei es aus Vertrag, unerlaubter Handlung oder anderweitig, die sich aus oder im Zusammenhang mit der Software oder der Nutzung oder anderweitigen Handhabung der Software ergeben.
Sie sind allein verantwortlich für alle Konsequenzen, die sich aus der Nutzung dieser Software ergeben können, einschließlich, aber nicht beschränkt auf Datenverlust, Systemschäden oder rechtliche Probleme, die aus der Ausführung von Code resultieren, der von anderen Spielern bereitgestellt wird. Überprüfen und verstehen Sie immer den Code, den Sie auszuführen bereit sind, bevor Sie am Spiel teilnehmen.
Russisch-Roulette ist im wirklichen Leben ein lebensgefährlich gefährliches Spiel. Diese Software dient nur zu Unterhaltungszwecken und sollte nicht als Befürwortung solcher Aktivitäten verstanden werden. Wenn Sie oder jemand, den Sie kennen, mit Problemen im Zusammenhang mit Glücksspiel oder lebensbedrohlichem Verhalten zu kämpfen hat, suchen Sie bitte professionelle Hilfe. Es gibt immer jemanden, der bereit ist, zuzuhören und zu helfen.
Wenn Sie sich entscheiden, diese Software zu verwenden, tun Sie dies auf eigenes Risiko.