SLBR/readme.md

57 lines
1.9 KiB
Markdown

# SUICIDE LINUX BATTLE ROYALE
It's back, baby
coming soon! check #slbr on irc for updates!
typo? you're out.
when you play, you'll be dropped in a fresh vm. on the way to your goal, any
mistyped command will delete your vm and you'll be eliminated.
contact ~ben or sose on tilde.chat (in the #slbr channel) to sign up.
## How it works
- Each game has a series of challenges to complete, users are provided with a
bash shell and a folder of clues.
- The challenges are numbered 1-X.
- Users must submit the solutions to each challenge to the admin, the first
user to submit correct solutions to each challenge will win the game.
- If at any point the user enters an invalid shell command, they will be
eliminated from the game.
## Configuration
- Configuring a new set of challenges is as simple as editing the
`solutions.txt` file with their solutions, and providing new clues in the
`./image/inhere` folder.
- In the `solutions.txt` file, the line number of each solution corresponds to
the challenge it is the solution for. Solutions may not take up multiple lines.
## Prerequisites
- docker
- jq
- python3
- Twisted (`pip3 install twisted`)
- Python Docker SDK (`pip3 install docker`)
## Pre-Setup
- Make sure your port 1337 is not exposed to the internet, as SLBR will use it
internally
## Setup
- `mkdir /home/slbr-admin`
- `useradd slbr-admin -d /home/slbr-admin`
- `usermod -a -G docker slbr-admin`
- `chown slbr-admin:slbr-admin /home/slbr-admin`
- `sudo su slbr-admin`
- `cd`
- `git clone https://tildegit.org/sose/SLBRV2`
- `cd SLBRV2`
- Run the docker daemon rootlessly, i.e. with `dockerd-rootless.sh`
- You are now ready to manage an slbr game
## Running the game
- run `./start.sh` to start the sever listening for various game events
- run `./new_image.sh <user name> </path/to/pubkey>` to create a new user
- All game events and user commands will be logged to log.txt
- You can `./reset.sh` to cleanup after a game has finished