Appendix: Configuration reference¶
DOMjudge has several configuration settings available. They can be accessed in the admin interface under Configuration settings. This appendix contains a list of all the available options with a description of what they mean.
The system has the following types of configuration options:
bool
: a boolean, eithertrue
orfalse
.int
: a numeric value.string
: a string value.array_val
: an array of values.array_keyval
: an array of values with specific keys (also known as a dictionary).
Public means whether the option is exposed in the API to non-jury members.
Scoring¶
Options related to how scoring is handled.
verification_required
¶
Is manual verification of judgings by jury required before publication?
Type:
bool
Public: no
Default value:
False
compile_penalty
¶
Should submissions with compiler-error incur penalty time (and be shown on the scoreboard)?
Type:
bool
Public: yes
Default value:
False
penalty_time
¶
Penalty time in minutes per wrong submission (if eventually solved).
Type:
int
Public: yes
Default value:
20
results_prio
¶
Priorities of results for determining final result with multiple testcases. Higher priority is used first as final result. With equal priority, the first (ordered by rank) incorrect result determines the final result.
Type:
array_keyval
Public: no
Default value:
{ "memory-limit": 99, "output-limit": 99, "run-error": 99, "timelimit": 99, "wrong-answer": 99, "no-output": 99, "correct": 1 }
results_remap
¶
Remap testcase result, e.g. to disable a specific result type such as no-output.
Type:
array_keyval
Public: no
Default value:
[]
score_in_seconds
¶
Is the scoreboard resolution measured in seconds instead of minutes?
Type:
bool
Public: yes
Default value:
False
Judging¶
Options related to how judging is performed.
memory_limit
¶
Maximum memory usage (in kB) by submissions. This includes the shell which starts the compiled solution and also any interpreter like the Java VM, which takes away approx. 300MB! Can be overridden per problem.
Type:
int
Public: no
Default value:
2097152
output_limit
¶
Maximum output (in kB) submissions may generate. Any excessive output is truncated, so this should be greater than the maximum testdata output. Can be overridden per problem.
Type:
int
Public: no
Default value:
8192
process_limit
¶
Maximum number of processes that the submission is allowed to start (including shell and possibly interpreters).
Type:
int
Public: no
Default value:
64
sourcesize_limit
¶
Maximum source code size (in kB) of a submission.
Type:
int
Public: yes
Default value:
256
sourcefiles_limit
¶
Maximum number of source files in one submission. Set to 1 to disable multi-file submissions.
Type:
int
Public: yes
Default value:
100
script_timelimit
¶
Maximum seconds available for compile/compare scripts. This is a safeguard against malicious code and buggy scripts, so a reasonable but large amount should do.
Type:
int
Public: no
Default value:
30
script_memory_limit
¶
Maximum memory usage (in kB) by compile/compare scripts. This is a safeguard against malicious code and buggy script, so a reasonable but large amount should do.
Type:
int
Public: no
Default value:
2097152
script_filesize_limit
¶
Maximum filesize (in kB) compile/compare scripts may write. Submission will fail with compiler-error when trying to write more, so this should be greater than any intermediate or final result written by compilers.
Type:
int
Public: no
Default value:
2621440
timelimit_overshoot
¶
Time that submissions are kept running beyond timelimit before being killed. Specify as Xs for X seconds, Y% as percentage, or a combination of both separated by one of +|& for the sum, maximum, or minimum of both.
Type:
string
Public: no
Default value:
'1s|10%'
output_storage_limit
¶
Maximum size of error/system output stored in the database (in bytes); use -1 to disable any limits.
Type:
int
Public: no
Default value:
50000
output_display_limit
¶
Maximum size of run/diff/error/system output shown in the jury interface (in bytes); use -1 to disable any limits.
Type:
int
Public: no
Default value:
2000
lazy_eval_results
¶
Lazy evaluation of results? If enabled, stops judging as soon as a highest priority result is found, otherwise always all testcases will be judged. On request will not auto-start judging and is typically used when running as analyst system.
Type:
int
Public: no
Default value:
1
Possible options:
1
: Lazy2
: Full judging3
: Only on request
judgehost_warning
¶
Time in seconds after a judgehost last checked in before showing its status as warning.
Type:
int
Public: no
Default value:
30
judgehost_critical
¶
Time in seconds after a judgehost last checked in before showing its status as critical.
Type:
int
Public: no
Default value:
120
diskspace_error
¶
Minimum free disk space (in kB) on judgehosts before posting an internal error.
Type:
int
Public: no
Default value:
1048576
default_compare
¶
The script used to compare outputs if no special compare script specified.
Type:
string
Public: no
Default value:
'compare'
default_run
¶
The script used to run submissions if no special run script specified.
Type:
string
Public: no
Default value:
'run'
default_full_debug
¶
The script used to compile a full debug package.
Type:
string
Public: no
Default value:
'full_debug'
enable_parallel_judging
¶
Are submissions judged by multiple judgehosts in parallel?
Type:
bool
Public: no
Default value:
True
judgehost_activated_by_default
¶
Activate a judgehost when it registers for the first time.
Type:
bool
Public: no
Default value:
True
Clarifications¶
Options related to clarifications.
clar_categories
¶
List of additional clarification categories.
Type:
array_keyval
Public: yes
Default value:
{ "general": "General issue", "tech": "Technical issue" }
clar_answers
¶
List of pre-defined clarification answers.
Type:
array_val
Public: no
Default value:
[ "No comment.", "Read the problem statement carefully." ]
clar_default_problem_queue
¶
Queue to assign to problem clarifications.
Type:
string
Public: yes
Default value:
''
Display¶
Options related to the DOMjudge user interface.
show_pending
¶
Show pending submissions on the scoreboard?
Type:
bool
Public: yes
Default value:
True
show_affiliations
¶
Show affiliation names in the interfaces?
Type:
bool
Public: yes
Default value:
True
show_affiliation_logos
¶
Show affiliation logos on the scoreboard?
Type:
bool
Public: yes
Default value:
False
show_teams_submissions
¶
Show problem columns with submission information on the public and team scoreboards?
Type:
bool
Public: yes
Default value:
True
show_compile
¶
Show compile output in team webinterface?
Type:
int
Public: yes
Default value:
2
Possible options:
0
: never1
: only on compilation error(s)2
: always
show_sample_output
¶
Should teams be able to view a diff of their and the reference output on sample testcases?
Type:
bool
Public: yes
Default value:
False
show_balloons_postfreeze
¶
Give out balloon notifications after the scoreboard has been frozen?
Type:
bool
Public: yes
Default value:
False
show_relative_time
¶
Print times of contest events relative to contest start (instead of absolute).
Type:
bool
Public: yes
Default value:
False
time_format
¶
The format used to print times. For formatting options see the [PHP DateTime::format function](https://www.php.net/manual/en/datetime.format.php).
Type:
string
Public: no
Default value:
'H:i'
thumbnail_size
¶
Maximum width/height of a thumbnail for uploaded testcase images.
Type:
int
Public: no
Default value:
200
show_limits_on_team_page
¶
Show time and memory limit on the team problems page.
Type:
bool
Public: yes
Default value:
True
allow_team_submission_download
¶
Allow teams to download their own submission code. Note that enabling this option means that if someone gets access to the account of a team, they can download the source code of all submissions from that team. When this option is disabled, getting access to the account of a team only allows someone to submit as that team, which can then easily be ignored by the jury later.
Type:
bool
Public: yes
Default value:
False
team_column_width
¶
Maximum width of team column on scoreboard. Leave 0 for no maximum.
Type:
int
Public: no
Default value:
0
show_public_stats
¶
Show submission and problem statistics on the team and public pages.
Type:
bool
Public: yes
Default value:
True
Authentication¶
Options related to authentication.
auth_methods
¶
List of allowed additional authentication methods. See Authentication and registration for more information.
Type:
array_val
Public: no
Default value:
[]
Possible options:
ipaddress
xheaders
ip_autologin
¶
Enable to skip the login page when using IP authentication.
Type:
bool
Public: no
Default value:
False
External systems¶
Miscellaneous configuration options.
print_command
¶
If set, enable teams and jury to send source code to this command. See admin manual for allowed arguments. See Printing for more information.
Type:
string
Public: yes
Default value:
''
event_feed_format
¶
Format of the event feed to use. See [current draft](https://ccs-specs.icpc.io/draft/contest_api#event-feed) and [versions available](https://ccs-specs.icpc.io/).
Type:
int
Public: no
Default value:
1
Possible options:
0
: Legacy format in use until the `2020-03` version1
: New format in use since the `2022-07` version
data_source
¶
Source of data: used to indicate whether internal or external IDs are exposed in the API. configuration data external is typically used when loading configuration data from the ICPC CMS, and configuration and live data external when running DOMjudge as “shadow system”. See the chapter on running DOMjudge as a shadow system for more information.
Type:
int
Public: no
Default value:
0
Possible options:
0
: all local1
: configuration data external2
: configuration and live data external
external_ccs_submission_url
¶
URL of a submission detail page on the external CCS. Placeholder [id] will be replaced by submission ID and [contest] by the contest ID. Leave empty to not display links to external CCS. See the chapter on running DOMjudge as a shadow system for more information.
Type:
string
Public: no
Default value:
''
icat_url
¶
URL of an ICPC iCAT instance if such is available; will be linked to from the submission verification box. See https://github.com/icpc-live/autoanalyst
Type:
string
Public: no
Default value:
''
external_contest_source_critical
¶
Time in seconds after an external contest source reader last checked in before showing its status as critical.
Type:
int
Public: no
Default value:
120