Hydro 远端评测 QOJ

· · 科技·工程

先安装 @hydrooj/vjudge 插件(已经安装省略此步)和 QOJ 远端评测插件:

yarn global add @hydrooj/vjudge
hydrooj addon add @hydrooj/vjudge
yarn global add hydrooj-vjudge-qoj
hydrooj addon add hydrooj-vjudge-qoj

接下来创建名为 qoj 的域:

hydrooj cli domain add qoj 2 qoj qoj

然后使用 hydrooj db 进入数据库,执行(其中加密的密码需要按照 此文 中 UOJ 的方法获取):

db.vjudge.mount.insert({mount:'qoj',_id:'qoj'});
db.vjudge.insert({type:'qoj', handle:'<USERNAME>', password:'<ENCRYPTED_PASSWORD>'});

在控制面板 / 语言设置的末尾加入下面的内容:

qoj:
  display: QOJ
  domain:
  - qoj
qoj.C++98:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 98
  comment: //
qoj.C++11:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 11
  comment: //
qoj.C++14:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 14
  comment: //
qoj.C++17:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 17
  comment: //
qoj.C++20:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 20
  comment: //
qoj.C++23:
  highlight: cpp astyle-c
  monaco: cpp
  display: C++ 23
  comment: //
qoj.D:
  highlight: d
  monaco: plain
  display: D
  comment: //
qoj.Python3:
  highlight: python
  monaco: python
  display: Python 3
  comment: '#'
qoj.Java8:
  highlight: java astyle-java
  monaco: java
  display: Java 8
  comment: //
qoj.Java11:
  highlight: java astyle-java
  monaco: java
  display: Java 11
  comment: //
qoj.Pascal:
  highlight: pascal
  monaco: pascal
  display: Pascal
  comment: //
qoj.Rust:
  highlight: rust
  monaco: rust
  display: Rust
  comment: //

然后在 QOJ 域的管理域 / 编辑域资料 / 域内允许使用的提交语言中添加如下语言

qoj,qoj.C++98,qoj.C++11,qoj.C++14,qoj.C++17,qoj.C++20,qoj.C++23,qoj.D,qoj.Python3,qoj.Java8,qoj.Java11,qoj.Pascal,qoj.Rust

如果无法粘贴,也可以手动选择所有前缀 QOJ 的语言。

然后使用 pm2 restart hydrooj 重启服务,观察题目是否出现,并任意提交一个题目测试即可。

注意: