This is the multi-page printable view of this section. Click here to print.
Guides
1 - Settings
Goal
This guide assumes you are a CTF administrator and you understand the key concepts. Before or during your event, you may need to configure or update the plugin. At the moment, you can configure the total amount of mana for Source or and the chall-manager API URL.
Configure with environment variables
To configure the plugin at CTFd startup, you can use the next environment variables:
Variable | Default | Description |
---|---|---|
PLUGIN_SETTINGS_CM_API_URL | http://localhost:9090/api/v1 | URL of Chall-Manager API |
PLUGIN_SETTINGS_CM_MANA_TOTAL | 0 | Maximum mana that source are allowed to use |
Note
The environment variable lookup is triggered at CTFd first startup. To modify settings, you need to change it on CTFd UI.Configure in UI
To configure or perform an update, Go to CTFd Admin Panel
> Plugins
> chall-manager
> Settings
, (1) select the text input, edit it, then (2) submit form, as shown below:
Warning
We strongly recommends you to NOT edit the chall-manager API URL during your event.2 - Challenge
Goal
Here, we assume that you are a CTF administrator, the infrastructure is already configured and you understand the key concepts. During or before your event you may need to change challenge attributes.
For all updates, go to the CTFd Admin Panel and edit the challenge (https://CTFD_URL/admin/challenges).
Change the global scope
When you arrive on the modification page, the value displayed is the one configured at the challenge level.
By editing this value, you trigger instances destruction, see workflow belows:
flowchart LR A[Update] --> B B[Update on CTFd backend] --> C C{challenge global ?} C -->|True|F[Destroy all instances] C -->|False| E[Destroy global instance] E --> H[Send update payload to CM] F --> H
Change the mana cost
When you arrive on the modification page, the value displayed is the one configured at the challenge level.
By editing this value, you do not edit the existing coupons of this challenge. Also, you can organize sales periods.
Change Timeout
When you arrive on the modification page, the value displayed is the one configured at the challenge level.
You can change or reset this value, Chall-Manager will update all the computed until
for instances.
Change Until
When you arrive on the modification page, the value displayed is the one configured at the challenge level.
You can change or reset this value, Chall-Manager will update all the computed until
for instances.
Change the scenario
When you arrive on the modification page, you can download the current scenario archive.
By editing this value, you need to provide an update strategy.
The update can be long, depends on the update gap and the strategy.
3 - Panel
Goal
Here, we assume that you are a CTF administrator, the infrastructure is already configured and you understand the key concepts.
During your event you may need to deploy instances for users we will see several use cases. If mana is enabled, 1 coupon will be created for each user.
Note
Even if users don’t have the required mana, the instance will be created here.Deploy instances for users
There may be several reasons why administrators create instances for users. Here, we’ll imagine that the CTF hasn’t started yet, that it’s a CTF in team mode and that 10 teams are expected. For the 10 teams, we want to deploy 1 instance of the “generated-flag” challenge.
Go to CTFd Admin Panel
> Plugins
> chall-manager
> Panel
such as:
By clicking on the button, you will send several requests to CTFd. To make the user experience easier, we add a progress bar.
Once the progress bar is done (this mean instances are created on chall-manager), you can go the instances monitoring panel.
You can use this method during your event to deploy a hidden challenge (deploy instances before the challenge is release) for instance.
Deploy a global scope instance
Here, we’ll imagine that you did configure a challenge with global scope enabled. For the global challenge, you must put the pattern at 0.
Like the previous use case, you will get a progress bar while the instance are getting deployed.
4 - Instances
Goal
This guide assumes you are a CTF administrator with a properly configured infrastructure and an understanding of key concepts.
During your event, you may need to monitor or manage instances associated with Sources.
How to do it
Monitoring
To monitor instances, go to the plugin settings in the CTFd Admin Panel
> Plugins
> chall-manager
> Instances
section.
Administration
You can Renew or Destroy an individual instance by clicking the corresponding button in the instance row.
To perform actions on multiple instances, (1) select the instances using the checkboxes, (2) click the associated button, (3) then confirm your choice, as shown below:
5 - Mana
Goal
Here, we assume that you are a CTF administrator, the infrastructure is already configured and you understand the key concepts.
During your event you may need to monitor the consumed mana for Source.
How to do it
Access the plugin settings configuration in the CTFd Admin Panel
> Plugins
> chall-manager
> Mana