Test_Contest_PC2

🖥️ PC² Setup for ICPC-Style Contests (Windows)

This guide walks you through setting up the PC² Contest Control System for ICPC-style contests on Windows.

🗂️ Folder Structure

Create the main directory at:
C:\pc2

Download and extract the following tools into this folder.

C:/
├── MinGW/
│   └── bin/
├── pc2/
│   ├── kotlinc/
│   │   └── bin/
│   ├── pypy3.11-v7.3.20-win64/
│   ├── pc2-9.11build/
│   │   ├── bin/
│   │   └── projects/
│   │       └── WebTeamInterface-1.2/
│   │           └── bin/
│   ├── resolver/
│   └── TestContest/
│       └── config/

🌐 Required Downloads

Tool Link
PC² Nightly Build GitHub Releases
PyPy3 pypy.org
Kotlin GitHub Releases
Java + JDK Java + JDK
MinGW SourceForge
ICPC Resolver tools.icpc.global

⚙️ Environment Variables

Update your system PATH with:

C:\pc2\pc2-9.11build\bin
C:\pc2\pc2-9.11build\projects\WebTeamInterface-1.2\bin
C:\pc2\kotlinc\bin
C:\pc2\pypy3.11-v7.3.20-win64\
C:\MinGW\bin
C:\Program Files\Java\jre1.8.0_451\bin
C:\Program Files\Java\jdk-24\bin
C:\Program Files\Java\latest\jre-1.8\bin

📝 Note: Adjust paths to match the versions you installed or the folder in which you placed the folder. Also make sure the names in the PATH have no space in them. Use underscores or other characters to fill it in.


🚀 Contest Launch Guide

1. Start the Server

cd C:\pc2\TestContest\config
pc2server --load "C:\pc2\TestContest\config"

2. Launch the Admin Panel

pc2admin

Edit and verify:

3. Start Judge Panel

pc2judge

4. Start Web Team Interface (WTI)

cd C:\pc2\pc2-9.11build\projects\WebTeamInterface
pc2wti

Then open: https://localhost:8080

And that’s all! The server is set! Now start the contest from the admin panel by clicking on the Times tab and click on the site you want to start. You can also additionally change the start and end times to your system time, rather than manually starting and ending the contest.

5. Resolve the Contest

Go to the “Reports” tab from an “administrator” account or from the “server”. Select the “Results Export Files” from the “Reports” pull-down list, then press the “Export Report Contents” button. A window will pop up showing you where it created the reports, for example:

pc2 results dir : reports\report.Results_Export_Files.06.18.126.txt.files
Contest finalized : No. (Warning - contest is not finalized)
Wrote results files to:
reports\report.Results_Export_Files.06.18.126.txt.files\results.tsv
reports\report.Results_Export_Files.06.18.126.txt.files\scoreboard.json
reports\report.Results_Export_Files.06.18.126.txt.files\awards.json
reports\report.Results_Export_Files.06.18.126.txt.files\event-feed.ndjson

If you are not using the nightly build, you’ll have to generate 2 reports: the “Event Feed JSON” report and the “awards JSON” report.

cd C:\pc2\resolver
resolver.bat C:\pc2\TestContest\resolver

Follow the guide from ICPC for using the resolver

📝 Note: Make sure to adjust the path of the resolver based on where you exported the finalized data.

Congrats! You have successfully hosted your first contest using PC²!


🧑‍🤝‍🧑 Contributing

Pull requests are welcome! Feel free to submit improvements for:


📄 License

GNU v3.0 License. See LICENSE file for details.

Special thanks to John Buck for helping me learn how to set up PC².