项目简介
DMOJ评测系统是现代化的在线评测和竞赛平台,支持多种编程语言与评测模式。可处理基于输入输出、交互式及签名评测任务,还支持运行时数据生成器和自定义输出验证器。在Linux和FreeBSD平台实现安全评测机制,无需root权限即可运行。
项目的主要特性和功能
- 多平台支持:支持Linux和FreeBSD平台,涵盖x64、x86、x32和ARM架构。
- 多语言支持:支持C++、C、Java、Python、PyPy、Pascal、Perl、Mono C#/F#/VB等多种编程语言。
- 安全评测:借助seccomp和ptrace实现安全的评测环境。
- 自定义评测:支持运行时数据生成器和自定义输出验证器。
- Docker支持:提供Docker镜像,便于部署和运行。
安装使用步骤
1. 安装依赖
确保系统已安装Python,使用pip安装DMOJ评测系统:
bash
pip install dmoj
2. 获取源码
若需使用最新开发版本,可通过Git复制仓库:
bash
cd judge-server
pip install -e .
3. 配置环境变量
按需设置环境变量,如DMOJ_USE_SECCOMP
和DMOJ_TARGET_ARCH
。
4. 使用Docker部署
若选择使用Docker部署,可参考以下命令:
bash
cd judge-server/.docker
make judge-tier1
exec docker run \
--name judge \
-p "$(ip addr show dev enp1s0 | perl -ne 'm@inet (.*)/.*@ and print$1 and exit')":9998:9998 \
-v /mnt/problems:/problems \
--cap-add=SYS_PTRACE \
-d \
--restart=always \
dmoj/judge-tier1:latest \
run -p15001 -s -c /problems/judge.yml \
"$BRIDGE_ADDRESS" "$JUDGE_NAME" "$JUDGE_KEY"
5. 运行评测服务器
使用以下命令启动评测服务器:
bash
dmoj --help
dmoj -p SERVER_PORT -c CONFIG server_host judge_name judge_key
6. 运行CLI评测
使用以下命令启动CLI评测:
bash
dmoj-cli --help
dmoj-cli -c CONFIG
更多关于问题文件格式和其他详细信息,请阅读DMOJ文档。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】