https://github.com/jamis/process_roulette
A silly little game that could mess up your machine pretty badly (please use a VM!)
https://github.com/jamis/process_roulette
Last synced: 7 months ago
JSON representation
A silly little game that could mess up your machine pretty badly (please use a VM!)
- Host: GitHub
- URL: https://github.com/jamis/process_roulette
- Owner: jamis
- License: mit
- Created: 2016-12-22T05:50:35.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-12-23T23:42:11.000Z (over 9 years ago)
- Last Synced: 2025-04-12T13:57:01.751Z (about 1 year ago)
- Language: Ruby
- Size: 26.4 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Process Roulette
This started as a throw-away tweet:
https://twitter.com/jamis/status/808779302468665344 . Only I couldn't stop
thinking about it...and then I needed a project to start experimenting with
[atom](https://atom.io/) and [Rubocop](http://rubocop.readthedocs.io/en/latest/)...
and the next thing I knew, I was working on this.
It's still a work-in-progress, and is not guaranteed to work, and is most
_definitely_ not guaranteed to be safe. (I mean, heck, the whole _point_ of
this is to randomly kill processes on your machine. Use with extreme
caution!)
## Overview
There are three components to process roulette:
* The _croupier_. This is a supervisor that oversees the game. Start it running
on some machine (preferably one that will not be used during the roulette
game). The players and controllers will connect to the croupier, which will
referee the game.
* The _player_. Each player should be running in a virtual machine (or, at the
very least, on a box that you absolutely despise). Do _not_ run this process
on any machine that you care about! It's job is to connect to the croupier
service, and then (when the croupier gives the "go" signal) proceed to whack
random processes until the machine crashes. _You have been warned._
* The _controller_. Each controller should be running somewhere far away from
the players. They connect to the croupier service, and are used to control
the game. The controller says "go", and "exit", and the controller is told
the results of the game. If you begin a controller without a password, it is
considered a _spectator_, allowed to watch the bout and see the results, but
not to control it in any way.
## Running a game
First, install process-roulette:
$ gem install process-roulette
Then, start the croupier service.
$ croupier -p
Then, start players, controllers and spectators.
$ roulette-ctl host:port password
$ roulette-ctl host:port
$ sudo roulette-player username@host:port
Note that the player must be run as the superuser, otherwise it won't be able
to whack the really important processes!
When everyone is joined, one of the controllers issues the "GO" command, and
the rest happens automatically!
## License
This software is made available under the terms of the MIT license. (See the
LICENSE file for full details.)
## Author
This software is written by Jamis Buck ().