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

Was this helpful?

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

3.8 构建和安装 submit client

domjudge 支持两种提交方式: 一种是通过命令行提交, 一种是通过 web 界面提交; 经验证明, 每种方式都有用户偏爱于它

命令行的 submit client 在内部使用 API 借口发送提交请求; 这需要在编译时使用 libcURL 和 libjsonCPP 开发库; 可以使用 --enable-static-linking 的 configure 选项静态链接 submit client 以避免运行时的依赖性

submit client 可以使用 make submitclient 进行编译; 没有 make target 用以安装 submit client, 因为它的位置很大程度上取决与环境; 例如, 你可以将其复制到所有队伍的计算机中或将它放在网络文件系统上; 注意, 如果队伍计算机和裁判机的系统(版本)不同, 则需要为该操作系统(版本)构建 submit client

submit client 需要知道 domserver 的网址; 这可以通过命令行选项或环境变量传递; 后者更具易用性; 这个设置在脚本 submit_wrapper.sh 中; 浏览此脚本以获取详细的设置方法

submit client 连接 Domjudge API 既能通过设置的认证方案进行认证, 也能通过 Domjudge 内用户的用户名密码的组合进行认证(这样会忽略认证方案); 例如: 当启用 IPADDRESS 方案, 不需要额外的设置, 提交会来自各个队伍的 ip 地址; 当使用其他方案时, 你可能需要把用户名和密码一同放在队伍账户里以供 submit client 使用; 在这种情况下, 这些密码始终在 Domjudge 内部使用, 因此, 在使用这种方案时不要用类似 'LDAP' 这样的密码; 将凭证写到 ~/.netrc 中, 例如:

machine domserver.example.com login user0123 password Fba^2bHzz

查阅 netrc 的手册以获取详细信息; 你可能希望提前分发这些 .netrc 文件到队伍账户; 确保这个文件只有该用户自己可读

Windows/Cygwin 下构建 submit client

注意: 此功能不再被很好地支持; 我们建议你在 Windows 中使用 web 界面提交

submit client 也可以在 Windows 下以 Cygwin 环境编译; 首先安装 Cygwin, 然后安装 GCC, curl-devel 和一些可能要用到的软件包; 当 Cygwin 和其依赖的软件被正确安装后你就可以在 submit 目录运行 configure 和 make submit.exe 来创建 submit client 的二进制文件

Previous3.7 安装 judgehostNext3.9 配置

Last updated 6 years ago

Was this helpful?