This is the IOI 2022 Contestant VM Manual, which is applicable for:
- online contestants, who need to prepare for their workstations, and
- on-site contestants, if they wish to practice with the VM before IOI 2022 week (strongly recommended).
There are NO major changes from contestant VM used in IOI 2021. Minor changes are marked in red.
Releases
We plan to release one or more versions of the contestant VM. Between versions, contestants/teams can make feature requests or bug reports according to the following release schedule.
Date | Image | Remarks |
---|---|---|
19 June | ioi-2022-v1.ova | Send all feedback by 22 June for consideration to include changes in the next version. The grading system (CMS) and test accounts are NOT available yet. |
3 July | ioi-2022-v2.ova MD5 checksum: b6273753876303f97d31efbe0d75e630 Changelog: Improved performance by disabling side channel mitigations by default. |
Send all feedback by 7 July. There will be no more feature changes after 14 July. The grading system (CMS) and test accounts are NOT available yet. |
17 July | The grading system (CMS) will be available, test accounts will be distributed, and a test contest will be available. Send all bug reports by 20 July.
TL/DL: Please check announcements on Matrix to get the test accounts. |
|
24 July | This is the final release candidate version. Send all critical bug reports immediately. | |
1 August | This is the official version to be used in IOI 2022. Online teams should install and test immediately. |
Please send the feature requests or bug reports to htc@ioi2022.id. Note that our priority is to fix bugs.
While we do not plan to release further updates after the final version, online teams must be prepared to download and install newer versions for Contest Day 1 or Contest Day 2 if we determine that there are serious problems that are best fixed with a new VM.
Requirements
The contestant VM requires VMware Workstation Player 16.x or Workstation Pro 16.x.
For online teams, please refer to the Online Contestant PC Manual for more details.
Importing the Contestant VM
Run VMware Workstation Player. Click on “Open a Virtual Machine”, locate the contestant VM image (file with .ova extension) in the file dialog, and click Open. Then, click Import in the Import Virtual Machine dialog that appears. You may customise the VM name or change the storage path at your discretion.
After the import is complete, you can start running the contestant VM. To run the contestant VM, select the VM, then click Play Virtual Machine.
NOTE: The steps for VMware Workstation Pro are almost identical, save for some slight UI differences.
Running the Contestant VM
The contestant VM runs like any ordinary installation of Ubuntu 20.04. For users unfamiliar with VMware, here are some quick points to take note:
- When the contestant VM runs in windowed mode (i.e. alongside other applications on the Windows desktop), you may sometimes need to click inside the contestant VM display to direct keyboard and mouse inputs into it. If you find your keyboard and mouse inputs “stuck” to the contestant VM, just press Left-Control and Left-Alt simultaneously to “release” the keyboard and mouse back to Windows.
- Like a regular Ubuntu 20.04 computer, you should shutdown the computer in the proper manner. From the Ubuntu desktop, click on the power button in the top right corner, then “Power Off/Log Out”, then “Power Off…”. Then, confirm by clicking on the “Power Off” button.
Local User Account
There is only one normal local (Ubuntu) user account in the contestant VM for the contestant to use. The username is ioi
with default password ioi
.
You may change the ioi local user account password in the contestant VM. To avoid confusion during the contest days, you should NOT change the ioi
local user account password in the contestant VM.
Contestant Account
At your first login to the contestant VM, and every subsequent login as long as you do not complete this step, you will be prompted to run the IOI Setup:
Enter your contestant account (explained below), and wait until you see the following success message:
The contestant accounts will be distributed as follows:
On-site contestants | Online contestants | |
Testing before IOI 2022 week | Test accounts will be distributed to team leaders, according to the schedule in the Releases section above (17 July). | |
IOI 2022 week | The on-site workstations will be already logged in with the correct account for each contestant. The IOI Setup prompt will not be shown. | Official accounts will be distributed to team leaders, according to the schedule in the Releases section above. These accounts are to be used for actual practice and contest days. |
NOTE: If you haven’t received the contestant account, you can still use the contestant VM to test the software applications, e.g. browser, text editors, and compiler.
You can also re-run IOI Setup by running ioisetup
from the terminal.
This IOI Setup will download and install a VPN configuration. The UNIX “gecos real name” is also updated with your contestant username, e.g. XXX1, which will be displayed in the top right corner on subsequent logins.
The VPN connection identifies this VM instance to the IOI 2022 grading system as being associated to the configured contestant. If another contestant takes over the use of this VM instance, they must re-run IOI Setup with their credentials.
IMPORTANT: There must be only one VM instance running and connected to the IOI 2022 grading system per contestant credentials. If the same contestant is logged in more than once, the VPN connection will flap between the two instances and will NOT be usable.
Applications
The sidebar on the left is called the Launcher.
The top icon in the Launcher is the Firefox web browser. Firefox has been configured with a default homepage that provides links to CMS (grading system) as well as other locally stored documentation:
The Show Applications icon, located at the bottom of the Launcher, shows all installed applications. You can use the search bar to quickly find an application by name. For example, you can easily find gnome-terminal
by starting to type the letters of terminal
.
Teams should ensure that they are familiar with finding and using the terminal shell. In case of unexpected problems, we may send direction to proctors to execute commands in a shell.
Advanced Features
- On-site contestants should NOT use these features, unless otherwise instructed by the technical committee.
- Online contestants should consult with their leaders/proctors before using these features.
Home Directory Backup
The contestant VM provides a backup/replication mechanism that uses rsync to replicate the home directory to IOI 2022 backup server. This is not enabled by default. Contestants can either:
- Run the
ioibackup
script at any time to perform the rsync. - Run
ioiconf setautobackup on
to enable automatic backup at a 5-minute interval. A random delay up to 30 seconds in inserted before automatic backup. - Run
ioiconf setautobackup off
to disable automatic backup.
Backups are available only during contest and practice time.
This backup is more accurately described as replication. It uses rsync
with the --delete
option, which means the remote contents are a mirror of the local home directory. In particular, files deleted locally will also be removed at the remote. This replication only includes non-hidden files up to a maximum size of 1 MB 100 KB.
To restore or retrieve files from remote, run ioibackup -r
. The files will be restored in /tmp/restore
.
Automatic Screen Lock
Automatic screen lock is enabled by default, with a 30 second delay after 15 minutes of idle time. You can disable automatic screen lock by running ioiconf setscreenlock off
. Run ioiconf setscreenlock on
to re-enable automatic screen lock.
Timezone
The contestant VM is configured to show time in the Asia/Jakarta timezone. All dates and times communicated by the IOI 2022 organisers will be in Asia/Jakarta timezone unless otherwise specified.
If you strongly prefer to see the time in your local timezone, you can run ioiconf settz <timezone>
, where <timezone>
is an appropriate TZ specification (according to tzselect
). The changes will be effected the next time you login to the ioi
account.
E.g.: ioiconf settz UTC
to use GMT time.
VPN Protocol Mode
By default, the VPN is configured to use TCP on port 655 only. The VPN software, tinc, can also use UDP on port 655 for data packets, in addition to using TCP on port 655 for metadata. This may improve performance, provided your network permits UDP port 655 traffic outbound and inbound. This mode can be enabled by running ioiconf setvpnproto auto
, then ioiconf vpnrestart
(or restart the contestant VM).
In auto mode, both TCP/UDP will be used, with automatic fallback to TCP-only. To revert to the default TCP-only setting, run ioiconf setvpnproto tcp
, then ioiconf vpnrestart
(or restart the contestant VM).
Note that the VPN protocol mode will return to default if the VPN is re-setup (i.e. by re-running ioisetup
).