This repository contains tasks and supporting infrastructure for Yandex.Root 2015 game.
Tasks for qualification games are available at quals/davies
and quals/shannon
directories. You can find task descriptions
in README files.
Tasks and build system for the final game are available at
final/postel
. It also has a README
with descriptions of all tasks and infrastructure.
Every task has a checker. The checker is a script which accepts IP address of
running game image and decides whether the task is solved or not. The interface
is simple: you execute the checker script and give it the IP address of
your image as the first command line argument. The script outputs textual
description of result, if any, to stdout
, and may print debug information to
stderr
. The main result of a checker is its return code. Return code of 10
indicates successful check (the task was solved properly), while return code of
11
indicates failed check. Every other return code indicates some error within
the checker itself.
If you wish to try yourself at solving the task, you may do the following:
- Download and decrypt the game image (see https://root.yandex.com/howto). Then import the image into VirtualBox and start it.
- Consider the description of task you want to solve, see README for the game you chose to play.
- Try to solve the task.
- Clone this repository to your box. You can do this with
$ git clone https://github.com/yandex/root-2015-tasks.git
- Install prerequisites for the game chosen. You can do this by simply running
prereqs.sh
from the game directory. For example, for Postel:
$ ./final/postel/prereqs.sh
Note: you will need to be in the sudo
group in order to do that.
6. Find the checker for your task and execute it. You should pass
the IP address of your running image and check the return code. For example,
$ ./root-2015-tasks/quals/davies/01_sctp/checker.py 192.168.13.37; echo $?
where 192.168.13.37
is the IP address of your image where you have the
task solved.
- Repeat until all the tasks and games got solved! ;)
You can find licensing information in LICENSE
.