{"id":40532598,"url":"https://github.com/hydro-dev/ccs-api","last_synced_at":"2026-01-20T22:08:19.524Z","repository":{"id":320164628,"uuid":"1080384288","full_name":"hydro-dev/ccs-api","owner":"hydro-dev","description":"Contest Control System API support for ACM/ICPC contests in Hydro OJ","archived":false,"fork":false,"pushed_at":"2025-12-03T08:15:59.000Z","size":433,"stargazers_count":15,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-13T10:37:26.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hydro-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-21T09:42:24.000Z","updated_at":"2025-12-13T17:48:36.000Z","dependencies_parsed_at":"2025-10-22T10:26:32.290Z","dependency_job_id":"9a825e07-be1d-4416-9b14-7a2f9e21829c","html_url":"https://github.com/hydro-dev/ccs-api","commit_stats":null,"previous_names":["frexcheat/hydrooj-plugin-ccs","hydro-dev/ccs-api"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/hydro-dev/ccs-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2Fccs-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2Fccs-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2Fccs-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2Fccs-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hydro-dev","download_url":"https://codeload.github.com/hydro-dev/ccs-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hydro-dev%2Fccs-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28615836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T21:52:42.722Z","status":"ssl_error","status_checked_at":"2026-01-20T21:52:20.513Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-20T22:08:18.820Z","updated_at":"2026-01-20T22:08:19.515Z","avatar_url":"https://github.com/hydro-dev.png","language":"TypeScript","readme":"# ccs-api\n\n![NPM Version](https://img.shields.io/npm/v/@frexdeveloper/hydrooj-plugin-ccs)\n\n为 Hydro OJ 中的 ACM/ICPC 赛制比赛添加部分 CCS(Contest Control System) API 支持\n\n## 特别提醒\n\n开源项目不提供任何技术支持，如有需要，请 [添加 Hydro 官方 QQ 群联系群主咨询](https://qm.qq.com/q/NsYu3dNXa2)\n\n## 已支持\n\n- `/api`\n- `/api/contests`\n- `/api/contests/\u003ccontestId\u003e`\n- `/api/contests/\u003ccontestId\u003e/state`\n- `/api/contests/\u003ccontestId\u003e/languages`\n- `/api/contests/\u003ccontestId\u003e/problems`\n- `/api/contests/\u003ccontestId\u003e/teams`\n- `/api/contests/\u003ccontestId\u003e/organizations`\n- `/api/contests/\u003ccontestId\u003e/groups`\n- `/api/contests/\u003ccontestId\u003e/judgement-types`\n- `/api/contests/\u003ccontestId\u003e/submissions`\n- `/api/contests/\u003ccontestId\u003e/judgements`\n- `/api/contests/\u003ccontestId\u003e/runs`\n- `/api/contests/\u003ccontestId\u003e/event-feed` (支持 `stream` 和 `since_token` 查询参数)\n\n## 未支持\n\n- `webhooks` 接口\n- `scoreboard` 接口\n- `Persons` 接口\n\n## 未计划支持\n\n- `Awards` 接口\n- `Accounts` 接口\n- `Commentary` 接口\n- `Clarifications` 接口\n- 部分 `POST` / `PUT` / `PATCH` 接口\n\n## How to use\n\n- 安装插件并重启 Hydro OJ\n\n```bash\nyarn global add @frexdeveloper/hydrooj-plugin-ccs\nhydrooj addon add @frexdeveloper/hydrooj-plugin-ccs\npm2 restart hydrooj\n```\n\n- 创建好 ACM/ICPC 赛制比赛，并将时间、题目、队伍等等一系列赛前设置全部设置完善，保持在随时可以开始比赛的状态即可。\n\n\u003e [!CAUTION]\n\u003e 本插件只考虑正规 XCPC 比赛场景，即假设比赛中途不会改动任何有关比赛设置、队伍、题目等一系列赛前应该设置完善的数据。如果迫不得已需要改动，请联系管理员[重置比赛 CCS 数据并重新初始化](#注意事项)\n\u003e\n\u003e 如果比赛中途重新初始化比赛，请重置 CDS Event-Feed 缓存，否则 CDS 会出现数据混乱。\n\n- 进入 “控制面板-配置管理” 修改 CCS 账户的默认密码：\n\n![](./images/change-default-passwd.png)\n\n- 确定以上所有比赛的赛前基本设置均已设置完毕且不再改变后，进入比赛详情页面，点击右侧菜单栏中的 “(CCS) 初始化比赛” 按钮对比赛数据初始化：\n\n![](./images/init-contest.png)\n\n- 使用 ICPC Tools CDS 连接 CCS，CCS URL 格式为：  \n`http(s)://\u003cdomain\u003e/ccs/api/contests/\u003cContestId\u003e`\n- 如果你的比赛在特定的域中，那么预期的 URL 格式应为：  \n`http(s)://\u003cdomain\u003e/d/\u003cdomainId\u003e/ccs/api/contests/\u003cContestId\u003e`\n\n- 若配置无误，CDS 将会按预期正常工作。\n\n![](./images/cds.png)\n\n\u003e [!TIP]\n\u003e 比赛 ID 就在你进入比赛详情页面后的 URL 里：\n\u003e\n\u003e 形如 `http(s)://xxxx/contest/68ead09f61ab6063d9fcd417`，比赛 ID 就是 `68ead09f61ab6063d9fcd417`\n\n## 注意事项\n\n在初始化后如果出现比赛数据混乱或改动了任何有关比赛设置、队伍、题目等赛前数据，进入比赛详情页面，点击 “(CCS) 重置比赛” 对比赛数据进行重置。随后再点击 “(CCS) 初始化比赛” 重新初始化比赛数据：\n\n\u003e [!CAUTION]\n\u003e 注意此操作会将此比赛的 CCS Events 以及数据全部清空，重新初始化后按预期会恢复目前比赛已有的所有事件。\n\n![](./images/reset-contest.png)\n\n## PRs welcome ~","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhydro-dev%2Fccs-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhydro-dev%2Fccs-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhydro-dev%2Fccs-api/lists"}