← Back to Documentation

Architecture

The whole hackathon setup runs on the public evroc Cloud. The setup consists of several Virtual Machines (VMs) running different services:

  • The gamemaster VM which hosts the game API and this website you are on now.
  • The vm-team-x VMs where you will deploy your code to.
  • A jumphost VM which allows you to access your VMs.

All these VMs run inside a Virtual Private Cloud (VPC) which allows us to control the networking between the machines.

Architecture of the VPC

Team VMs

Each team will get their own VM to operate and deploy code to. To access this VM you will need to upload your public SSH key here so that the evroc team can configure the VM to trust you when you login or deploy.

To get started with developing bots and deploying them the evroc team has given you a small starter kit that abstracts away most details about the VM. If you are interested in how it works though, read on!

Tokens

Each VM has been prepared with two tokens for the bots:

  • /etc/codenames/game_key contains an API token to authenticate to the Gamemaster API server: this is how the server knows which team the bot belongs to.
  • /etc/codenames/think_key contains an API token to evroc’s Think service, our LLM model inference service. The bots can use this token to use any of our hosted LLMs for text generation.

Network

Each VM has restricted network access to other machines in the cloud. Team VMs can access the Gamemaster VM to talk to the Game API. The Gamemaster can also access the Team VM to run the game, but it can only do so on three ports: 8001, 8002, and 8003. This means that each team can at most have three bots running at the same time.

Team VMs cannot access other team VMs, so unfortunately you cannot sabotage the other teams with attacks directly to their machines.