This is the IOI 2022 Online Contestant PC Manual, applicable only for online teams. It specifies requirements, setup, testing, and use of the contestant PC and contestant VM.
Contestant PC Requirements
Teams must arrange for the contestant PC. This may be a desktop computer or a laptop computer, and it must run VMware Workstation virtualisation software. We recommend the following minimum hardware requirements for the contestant PC:
- Windows-compatible computer
- Intel 5th Generation Core processor or newer, minimum 2 cores/4 threads
- 8 GB of RAM
- 100 GB of free storage available
- Monitor display with at least 1024 x 768 screen resolution
- Installed with any edition of Windows 10/11 operating system, version 1903 or newer
- Installed with VMware Workstation Player 16.x or Workstation Pro 16.x
The following restrictions apply to the contestant PC:
- It must only have one display in use. An external monitor can be connected to a laptop only if the laptop’s built-in display(s) is disabled.
- It must run only OS features and applications which are essential to participating in the IOI 2022 contests. We recommend a fresh setup of Windows 10/11, such as through the “Reset this PC” feature in Windows 10/11, then subsequently to install applications that are required to participate in IOI 2022.
- It must not run messaging, collaboration, communication, and other cloud sharing applications. This restriction must be enforced by proctors during the practice and actual contests by monitoring the contestant activities. It will be advantageous if technical enforcement can also be applied in the contestant PC.
The following are for teams to manage at their discretion:
- Contestants may use their own computer as long as their teams ensure that all Competition Rules are adhered to, including the directions in the Online Contest Operations Manual and this manual.
- Contestants may use any non-programmable keyboard and mouse as long as their team is satisfied they do not cause interference or inconvenience to other contestants.
- While we do not mandate a maximum screen size or resolution, teams should test and verify how well the contestant VM performs as a guest in a virtual environment with maximised window or in full-screen mode, while also performing screen recording as mandated in the Online Contest Operations Manual.
We recommend that teams prepare additional identical contestant PCs as backup. They should be fully set up and configured, including with the contestant VM, so contestants have quick and easy access to a replacement in case they face a problem with their original contestant PCs.
NOTE: Due to the use of unique per-contestant VPN connections, each contestant must have only one active contestant VM running. Backup contestant PCs must not run the contestant VM until the contestant is ready to switch over. The grading system will only accept one VPN connection per contestant.
Contestant VM Setup
VMware Workstation hypervisor must be used to run the Virtual Machine for the contestant VM. Teams can choose to use either VMware Workstation Player 16.x or Workstation Pro 16.x. VMware Workstation Player 16.x is available free of charge for non-commercial use.
Teams must ensure that the contestant PC supports and has Intel VT-x enabled in the BIOS or UEFI configuration. This might be turned off by default on some computers. Intel VT-x is required for good performance when running Virtual Machines.
The contestant PC must be configured to NOT sleep, suspend, hibernate, or power off automatically. This is important in order to allow the contestant PC to be left running unattended, such as may be desired to allow remote testing by the Technical Committee, or prepping the contest participation venue significantly ahead of contest start time due to local timezone difficulties.
Teams must ensure that there are no attempts to “root” the contestant VM, i.e. to gain any kind of unauthorised access to the contents of the contestant VM. The contestant VM must only be accessed and used by logging in to the Ubuntu desktop interface with the prescribed user account. The contestant VM must not have any storage device attached to it, apart from the virtual disk provided as part of the VM image.
We assume the use of Windows 10 on the Contestant PC. While we are aware that VMware has equivalent virtualisation products for macOS and Linux, and will also run on non-Intel processors, teams that choose to use those platforms have to be responsible to provide their own technical support, while still complying with all the directions in this manual and other documents from the IOI 2022 Organising Committee.
Contestant VM Testing
We plan to release one or more versions of the contestant VM image ahead of IOI 2022 as mentioned in the Contestant VM Manual.
Once the initial version is released, teams should start testing. In particular:
- Check that VMware Workstation Player 16.x or Workstation Pro 16.x is installed.
- Check that VMware can import the contestant VM; check that the contestant VM can be powered on and the virtualised Ubuntu operating system succeeds in booting up.
- Check user interaction with the contestant VM, in particular that keyboard and mouse inputs are working, and foreign keyboard layouts work correctly.
- Check that the required software in the contestant VM, such as web browser, editors, compilers, debuggers, development environments, and various other tools, are installed and working.
- Check that internet access from inside the contestant VM, such as browsing external websites, is working.
Contestants should make use of this opportunity to thoroughly familiarise themselves with the environment since they will have to use it exclusively during the IOI 2022 contests. In particular, contestants should practice writing, compiling, testing, and debugging programs in this environment. It may be beneficial to use this contestant VM for their IOI training practices.
Teams should provide feedback early, according to the schedule specified in the manual. Feedback may include bug reports and feature requests. Our priority is to fix bugs.
Release Candidate Version
The grading system will become live and available for teams to test. This includes access to a test CMS. We will disseminate test credentials for teams to distribute to their contestants.
- Confirm that the contestant credentials work.
- Confirm that the VPN connection to the grading system works.
- Confirm that external websites cannot be accessed.
- Continue testing the computing environment in the contestant VM.
Teams should provide feedback on bugs as early as possible, according to the schedule specified in the manual. Feature requests will not be considered.
When the final version of the contestant VM is released, teams are encouraged to download and install it as soon as possible, and begin verification that the contestant PC and contestant VM are working and ready for IOI 2022. Teams must ensure they are fully ready before IOI 2022 practice session.
Frequently Asked Questions
Q1. VMware Workstation doesn’t seem to work with Hyper-V in my Windows 10 PC. What can I do?
Some editions of Windows 10 (e.g. Pro and Education editions) come with Hyper-V support. Since both VMware Workstation and Hyper-V are virtualisation layers, you cannot run both at the same time. You need to disable Hyper-V, either by uninstalling the feature in “Turn Windows features on or off” (just press the Windows key and search for that phrase), or by temporarily stopping Hyper-V with this command in CMD prompt:
bcdedit /set hypervisorlaunchtype off
and reboot the PC.
(Note that from Windows 10 version 2004, VMware Workstation can use Hyper-V for virtualisation.)
Q2. Can I use a Mac or Linux computer for the host PC?
Yes, you can use VMware Workstation for Linux and VMware Fusion, for Linux and macOS respectively, to run the contestant VM. Note that the we can only commit to provide technical support for contest PCs running Windows 10/11.
Q3. Can I use AMD processors instead of Intel?
Yes. While there are no reasons why AMD processors cannot be used, we have only tested the contestant VM on Windows 10 PCs using Intel processors. You should expect to self-support in the event that there are technical issues with running the contestant VM with AMD processors.
Q4. What is required for the VPN to work? How do I test the VPN requirements?
The tinc (https://www.tinc-vpn.org) VPN software is used. It requires access to TCP port 655 (and if possible, UDP port 655). To verify that your network (ISP) does not block the VPN traffic, try to run from a command line
telnet vpn.ioi2022.id 655
If the telnet command “hangs”, disconnects, has a connection error, or otherwise fails to connect, it will mean that your network is likely to be blocking the VPN traffic.
Q5. How can I verify the integrity of the VM images downloaded?
The MD5 checksum will be announced at the download location. In Windows command prompt, run
certutil -hashfile <filename> MD5
to compute the file’s checksum and verify that it matches.
Q6. How do I get account credentials?
Check your email and/or Matrix chat for instructions on obtaining test account credentials to use for testing access to the grading system. Note that some time before the actual IOI 2022 week, a new set of account credentials will be distributed; they will be used for practice and actual contests.
Q7. Will the contestant VM be firewalled?
Yes. Firewall restrictions will be applied during the contests and practice session. Access is permitted only to the grading system.
Q8. Can I use the contestant VM to access other websites like Codeforces for practice?
The contestant VM’s firewall is configured once you log in with a contestant credentials to the initial IOI Setup prompt. You can disable this firewall by running
from a shell prompt. For the actual IOI 2022 practice and contest sessions, the firewall restrictions will be enforced and you cannot disable them.
Q9: Is VPN required on contest days? Is there a need to arrange for proctors with troubleshooting knowledge?
VPN is required for practice and actual contest days. Anyone with some general Windows desktop support competency should suffice. Since the VM is locked down, there is not much we expect the local proctors to do. We will provide remote support when needed.
Q10: Should spare computers be turned on and with internet connection during all contests, or only turned on if necessary?
This is left to the team’s discretion. Do note that while spare computers may be turned on and connected to the Internet, the contestant VM itself must not run until the contestant is ready to use it. I.e. there must be only one instance of the contestant credentials active and online at any one time, otherwise the VPN connection for the contestant will fail.
Q11: Can contestants use their own computers?
Yes. Teams must ensure that such computers are still in compliance with this manual (e.g. no messaging app, etc).
Q12: When rebooting or shutting down the VM, a message pops up about an “ansible (remote)” user being logged in. Is this ok?
This is our ansible configuration system managing the VM. It is alright to reboot/shutdown as per normal.
Q13: Is modifying the VM’s settings allowed?
Contestants are NOT allowed to modify the VM’s settings, especially with regards to increasing the number of CPU cores and memory (RAM). This is to ensure that every contestant has the same working environment as much as possible.
However, exceptions are granted to the following:
- The VM’s resolution/scaling settings, where contestants may change the Display Settings in VMware Workstation Player/Pro (Virtual Machine Settings → Hardware → Display → Monitors → Specify monitor settings), and the scaling option in the Ubuntu VM itself (Settings → Displays → Scale/Fractional Scaling).
- Toggling the “Accelerate 3D graphics” option in the VMware Display Settings if they encounter performance issues with the VM.
- Reducing the amount of RAM in the VM
Contestants can change these settings only if they feel that it is necessary to optimise their user experience.