| Name | Type | Description | Notes |
|---|---|---|---|
| id | Option<i32> | Challenge ID | [optional] |
| title | String | Challenge title | |
| content | Option<String> | Challenge content | [optional] |
| category | models::ChallengeCategory | Challenge category | |
| r#type | models::ChallengeType | Challenge type | |
| hints | Option<Vec> | Challenge hints | [optional] |
| flag_template | Option<String> | Flag template, used to generate Flag based on Token and challenge, game information | [optional] |
| is_enabled | bool | Is the challenge enabled | |
| accepted_count | i32 | Number of people who passed | |
| file_name | Option<String> | Unified file name (only for dynamic attachments) | [optional] |
| attachment | Option<models::Attachment> | Challenge attachment (dynamic attachments are stored in FlagInfoModel) | [optional] |
| test_container | Option<models::ContainerInfoModel> | Test container | [optional] |
| flags | Vecmodels::FlagInfoModel | Challenge Flag information | |
| container_image | String | Image name and tag | |
| memory_limit | Option<i32> | Memory limit (MB) | [optional] |
| cpu_count | Option<i32> | CPU limit (0.1 CPUs) | [optional] |
| storage_limit | Option<i32> | Storage limit (MB) | [optional] |
| expose_port | Option<i32> | Container exposed port | [optional] |
| network_mode | Option<models::NetworkMode> | Container network mode | [optional] |
| enable_traffic_capture | Option<bool> | Whether to record traffic | [optional] |
| disable_blood_bonus | Option<bool> | Whether to disable blood bonus | [optional] |
| deadline_utc | Option<i32> | The deadline of the challenge, null means no deadline | [optional] |
| submission_limit | i32 | Maximum number of submissions allowed per team (0 = no limit) | |
| original_score | i32 | Initial score | |
| min_score_rate | f64 | Minimum score rate | |
| difficulty | f64 | Difficulty coefficient |