The Sysadmin's Labyrinth - Terminal Challenge Game

GitHub Repository

Why “The Sysadmin’s Labyrinth”?


The name “The Sysadmin’s Labyrinth” reflects the challenge of navigating complex systems like a sysadmin. The game is like a labyrinth: full of puzzles and hidden paths that require logic, problem-solving, and terminal skills to advance. Each level pushes the player to explore, experiment, and find the right solutions, just as a sysadmin solves problems in a real IT environment.

Overview


This terminal-based game is designed to introduce players to core terminal commands and basic system administration concepts, while also stimulating algorithmic thinking and problem-solving skills.

By playing the game, you will:

How to Win


Advance through each level by solving puzzles and experimenting with different strategies. Collect clues and fragments to deduce the final passphrase. Enter it correctly to unlock the secret and reach the ultimate level!

Commands and Instructions


Each level comes with its own ***_readme.txt file containing the instructions for that stage. It is essential that you read and understand these instructions carefully, as they guide you through the challenges.

In addition, hint files may be generated as you progress. Whenever such a file is created, you will be notified. It is crucial to follow the guidance in these hint files to successfully advance through the game and solve the puzzles.

Basic Commands to Know


Using the man Command


If you ever encounter a command you don’t know or need help with its options, you can use the man command.

For example:

man ls

Pipelines


A pipeline in the terminal is a way to connect the output of one command directly to the input of another using the | symbol. This allows you to combine multiple commands into a sequence, so the data flows from one command to the next.

For example:

cat file.txt | grep "hello"

Encoding and Decoding Tools


Base64

Base64 is used to encode or decode data in a textual format. It is commonly used to safely transmit binary data over text-based systems.

echo "hello" | base64
echo "hello" | base64 --decode

ROT13

ROT13 is a simple letter substitution cipher that replaces each letter with the letter 13 positions after it in the alphabet. It is often used to obscure text.

echo "hello" | tr 'A-Za-z' 'N-ZA-Mn-za-m'

xxd

xxd is used to create a hex dump of a file or convert hex back to binary. It is useful for inspecting binary files or converting data between formats.

xxd may not be installed by default on some systems. On Debian/Ubuntu, you can install it with:

sudo apt install xxd
xxd -r -p file.hex > output.txt

How to Play


  1. Open a terminal.
  2. Navigate to the folder where you want to download the game:
    cd /path/to/your/folder
  3. Clone the repository:
    git clone https://github.com/mohamadyoussefio/sysadmin-labyrinth.git
    
  4. Go the game directory
    cd sysadmin-labyrinth
  5. Make the launcher executable:
    chmod +x start.sh
  6. Run the launcher:
    ./intro.sh