Hydro Contest OS

Hydro Contest OS is the standardized workstation environment maintained by the technical team for XCPC onsite contests, providing consistent compilers, IDEs, desktop settings, user restrictions, and onsite operations tools across venues and seasons.

Hydro Contest OS 2025 Administration Guide

Create a restricted contestant account and configure users and SSH keys for maintaining 2025 contest workstations.

Add a contestant account

Contestant accounts should belong to the teams group. The group restricts operations such as mounting disks, shutting down, and rebooting that should not be available to contestants.

useradd --create-home --comment $(hostname) --shell /bin/bash --groups teams --password "$(openssl passwd -6 contest)" team

Or add the following task to an Ansible playbook:

---
- name: Create team user
  ansible.builtin.user:
    name: team
    comment: "{{ inventory_hostname }}"
    shell: /bin/bash
    groups: teams
    password: "{{ 'contest' | password_hash('sha512') }}"
    create_home: true

Pre-contest checks

  • Confirm that the contestant account belongs to the teams group
  • Verify SSH management keys and network access
  • Check the automatic-login account, machine name, and contest-system shortcuts
  • Test shutdown, reboot, and external-disk restrictions before the lab is sealed

Use one contestant account configuration, machine-naming scheme, and SSH configuration across the venue to avoid per-machine changes on contest day.