SSHTron is a multiplayer lightcycle game that runs through SSH. Just run the command below and you'll be playing in seconds:
$ ssh sshtron.zachlatta.com
Controls: WASD or vim keybindings to move (do not use your arrow keys). Escape or Ctrl+C to exit.
Code quality disclaimer: SSHTron was built in ~20 hours at BrickHack 2. Here be dragons.
Want to choose color yourself?
There are total 7 colors to choose from: Red, Green, Yellow, Blue, Magenta, Cyan and White
$ ssh [email protected]
If the color you picked is already taken in all open games, you'll randomly be assigned a color.
Running Your Own Copy
Clone the project and cd
into its directory. These instructions assume that you have your GOPATH
setup correctly.
# Create an RSA public/private keypair in the current directory for the server
# to use. Don't give it a passphrase.
$ ssh-keygen -t rsa -f id_rsa
# Download dependencies and compile the project
$ go get && go build
# Run it! You can set PORT to customize the HTTP port it serves on and SSH_PORT
# to customize the SSH port it serves on.
$ ./sshtron
Running under a Docker container
Clone the project and cd
into its directory.
# Build the SSHTron Docker image
$ docker build -t sshtron .
# Spin up the container with always-restart policy
$ docker run -t -d -p 2022:2022 --restart always --name sshtron sshtron
For Raspberry Pi, use the following to build the Docker image:
$ docker build -t sshtron --build-arg BASE_IMAGE=resin/raspberry-pi-golang:latest .
CVE-2016-0777
CVE-2016-0777 revealed two SSH client vulnerabilities that can be exploited by a malicious SSH server. While SSHTron does not exploit these vulnerabilities, you should still patch your client before you play. SSHTron is open source, but the server could always be running a modified version of SSHTron that does exploit the vulnerabilities described in CVE-2016-0777.
If you haven't yet patched your SSH client, you can follow these instructions to do so now.
License
SSHTron is licensed under the MIT License. See the full license text in LICENSE
.