DOMjudge 中文文档
  • 概述
  • 术语对照表
  • 管理员手册
    • 1 Domjudge 总体介绍
      • 1.1 功能
      • 1.2 环境依赖
      • 1.3 版权许可
      • 1.4 联系方式
    • 2 比赛安排
      • 2.1 比赛硬件
      • 2.2 环境依赖
    • 3 安装与配置
      • 3.1 快速安装
      • 3.2 准备工作
      • 3.3 安装评测系统
      • 3.4 安装数据库
      • 3.5 Web 服务器配置
      • 3.6 微调服务器的设置
      • 3.7 安装 judgehost
      • 3.8 构建和安装 submit client
      • 3.9 配置
      • 3.10 OpenID connect
      • 3.11 可执行文件
      • 3.12 语言设置
      • 3.13 设置特殊运行和比较程序
      • 3.14 通知系统
      • 3.15 其他可配置脚本
      • 3.16 日志和调试
      • 3.17 (重新)生成文档和团队手册
      • 3.18 可选功能
      • 3.19 更新
    • 4 配置一场比赛
      • 4.1 配置比赛数据
      • 4.2 比赛里程碑
      • 4.3 用户验证
      • 4.4 提供测试数据
      • 4.5 开启守护进程
      • 4.6 检查确保一切就绪
      • 4.7 测试裁判解(jury solutions)
    • 5 队伍环境
    • 6 网页界面
      • 6.1 裁判及管理员视图
      • 6.2 得分榜
      • 6.3 气球
    • 7 安全性
      • 7.1 考量
      • 7.2 内部安全
      • 7.3 root 权限
      • 7.4 文件系统权限
      • 7.5 外部安全
    • 附录
      • 8 常见问题和解决方案
        • 8.5 Memory limit errors in the web interface
        • 8.6 Compiler errors: `runguard: root privileges not dropped'
      • 9 多站比赛
      • 10 致开发者
        • 10.1 从 Git 源码库引导
        • 10.2 维护模式安装
        • 10.3 Makefile 结构
  • 裁判手册
    • 1 Domjudge 总体介绍
      • 1.1 功能
      • 1.2 版权许可
      • 1.3 联系方式
    • 2 概要
      • 2.1 裁判与管理员
      • 2.2 榜单
    • 3 比赛前
      • 3.1 题目及语言
      • 3.2 核对测试数据
      • 3.3 测试题解
      • 3.4 热身赛
    • 4 比赛期间
      • 4.1 监测队伍状态
      • 4.2 评测提交
      • 4.3 解释请求
    • 5 比赛后
    • 附录
      • 6 题目打包格式
  • 队员手册
    • 0 概要
    • 1 提交题解
      • 1.1 通过命令行
      • 1.2 通过网页界面
    • 2 查看提交结果
      • 2.1 可能的结果
    • 3 解释
    • 4 提交是怎么被评测的?
      • 4.1 提交题解
      • 4.2 编译
      • 4.3 测试
      • 4.4 各种限制
    • 附录
      • A 样例代码
Powered by GitBook
On this page
  • 每台机器多个评测进程(judgedaemons)
  • 加密通信(HTTPS)
  • NTP 时间同步
  • 打印机
  • 判断的合理行

Was this helpful?

  1. 管理员手册
  2. 3 安装与配置

3.18 可选功能

Previous3.17 (重新)生成文档和团队手册Next3.19 更新

Last updated 6 years ago

Was this helpful?

每台机器多个评测进程(judgedaemons)

你可以在一台多 CPU 或 多核计算机上运行多个 judgedaemon, 为每个 judgedaemon 绑定一个 CPU 核心

为此, 将额外的非特权用户添加到系统中, 例如使用 useradd 添加用户 domjudge-run-<X> (其中 X 为 0,1,2,3), 参考 ; 最后用 judgedaemon -n <X> 启动每一个 judgedaemon, 并绑定到核 X 上

加密通信(HTTPS)

DOMjudge 可以配置在 HTTPS 上运行, 于是队员和裁判可以通过加密的 SSL/TLS 连接安全地与 domserver 进行通信; Apache 手册和网上的很多教程都记录了为 Apache 设置 SSL

judgedaemon 必须识别你正在使用的 CA, 否则, 它们将拒绝通过 HTTPS 进行连接; 如果你的 judgedaemon 给出了关于不受信任证书的错误信息, 请将你的 domserver 证书放在每个 judgehost 的 /etc/ssl/certs/yourname.crt 下(以及使用命令行 submit client 的队员机器上) 并运行: sudo c_rehash

当通过 Domjudge 中的导入功能从 ICPC 注册系统加载 队伍时, 的证书必须同样被本地安装接受, 如果没有, 则通过上述过程添加

NTP 时间同步

我们建议安装 NTP-daemon (网络时间协议) 以确保 domserver, judgehost, 裁判和队员机器之间的时间保持同步

打印机

建议尽可能给队员机器配置本地桌面打印机: 这有最简单的界面, 并允许队员在其编辑器中进行打印

如果这不可行, DOMjudge 支持通过 Domjudge web 界面支持打印: DOMjudge 服务器需要能将上载的文件传递给打印机; 它可以通过管理员界面中的 enable_printing 选项启用; 用于将文件发送到打印机的指令可以在 lib/www/printing.php 的 send_print() 函数中更改

判断的合理行

可以考虑以下问题来提高判断的合理性

  • 禁用 CPU 频率调整和 Intel "Turbo Boost" 以防止 CPU 功率波动

  • 禁用地址空间随机变化以为内存寻址错误的程序提供更可重现的结果; 为此你可以将以下内容添加到 /etc/sysctl.conf 中:

    kernel.randomize_va_space=0

    这将在重启后永久恢复这些设置; 运行 sudo sysctl -p 直接激活这些设置

安装 judgehost
https://icpc.baylor.edu