当前位置: 首页 > news >正文

CodeCombat 容器部署笔记

CodeCombat 容器部署笔记

CodeCombat 是一款将编程教育与角色扮演玩法相结合的在线学习平台。用户通过编写代码控制游戏角色完成冒险任务,从而训练编程技能。 平台支持 PythonJavaScriptLua 等多种语言学习路径,采用渐进式关卡设计,覆盖从基础语法到算法应用的完整知识体系。 通过宝石奖励、角色装备、多人协作等游戏化机制降低学习门槛,核心教学关卡免费开放。截至 2023 年,CodeCombat 已推出中国版(极客战记)与国际版双通道服务。


背景动机

偶然想系统学习 Python,但因缺乏编程基础,希望借助趣味性强的学习方式入门。了解到 CodeCombat 这款编程游戏,但官网完整版需付费(数百元),经济受限,遂寻找开源方案。

最终在 GitHub 找到官方开源项目: 🔗 CodeCombat/CodeCombat:学习编程的游戏。

并参考社区教程成功实现本地容器化部署。

📚 教程来源:(42 条消息) 【极客战记·CodeCombat】编程游戏 - 知乎


部署步骤

1. 安装 Docker(略)

确保 Linux 系统已安装 Docker。此处不再赘述安装过程。


2. 配置 Docker 镜像加速器

为提升国内拉取镜像速度,配置以下镜像源:

sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1panel.live",
        "https://hub.rat.dev"
    ]
}
EOF

# 重启 Docker 服务使配置生效
sudo systemctl restart docker

拉取 CodeCombat 镜像:

docker pull operepo/ope-codecombat

验证镜像是否下载成功:

docker images

创建所需数据目录:

mkdir -p /data/codecombat/{data,mongo}-pv

运行容器:

docker run -id \
  -v /data/codecombat/data:/home/coco/codecombat/data \
  -v /data/codecombat/mongo:/home/coco/codecombat/mongo \
  -p 9485:9485 \
  -p 3000:3000 \
  operepo/ope-codecombat:latest

3. 导入游戏资源包

⚠️ 注意:需提前准备 dump.tar.gz 资源包(通常包含关卡、用户数据等)。

# 进入宿主机数据目录
cd /data/codecombat/data

# 删除容器初始化生成的空文件(如有)
rm -f dump.tar.gz

# 将你的 dump.tar.gz 放入此目录,并解压
tar -zxvf dump.tar.gz

4. 重启容器并访问

# 替换为你的实际容器 ID
docker restart 06edb670d460

访问 Web 界面:

http://<你的服务器IP>:3000

💡 提示:部分 HTML 关卡需通过 localhost 访问才能正常加载,建议在本机运行 Docker 或使用端口转发。

注册账号(例如:admin)。


5. 提升账号权限(解锁全部关卡)

docker exec -it 06edb670d460 bash

连接 MongoDB:

mongo

切换数据库并提权:

use coco

// 将 'admin' 替换为你注册的用户名
db.users.update(
  {'name''admin'},
  {
    $set: {
      'earned.gems': 9999999,
      permissions: ["godmode""admin"]
    }
  },
  true,  // upsert
  false  // multi
);

执行完成后,该账号即拥有“上帝模式”权限,可自由游玩所有关卡。


总结

✅ 至此,CodeCombat 本地私有化部署完成!

http://www.jsqmd.com/news/150097/

相关文章:

  • 2025最新!专科生必看8个AI论文工具测评,开题报告轻松搞定
  • 使用 Ansible 自动化部署 OpenStack 私有云平台
  • 推理吞吐量提升4倍的秘密武器:TensorRT层融合技术
  • 2026年GEO优化源码搭建推荐榜单哪家好 - 源码云科技
  • TensorRT与ONNX协同工作流程最佳实践
  • TensorRT Builder优化策略选择指南
  • 2025年金属热处理厂家实力推荐:南通汉科新能源领衔,渗碳、真空等十大工艺顶尖企业深度解析与权威排名 - 品牌企业推荐师(官方)
  • Myvatis 动态查询及关联查询
  • HBase在物联网(IoT)中的应用:海量设备数据处理方案
  • 日拱一卒之quartus芯片移植查看
  • 非常好用的主力主图指标公式
  • 如何监控TensorRT引擎的运行状态和性能指标?
  • 大规模模型部署挑战:TensorRT提供稳定解法
  • AI平台建设指南:集成TensorRT提升整体竞争力
  • 【接口测试】3_PyMySQL模块 _连接数据库
  • 2025年东莞展厅设计制作实力盘点:共创广告领衔,党政与企业展厅施工十大品牌深度解析 - 品牌企业推荐师(官方)
  • 深度探索.NET 中 IAsyncEnumerable:异步迭代的底层奥秘与高效实践
  • 2025年上海智慧招劳务派遣公司深度解析:劳务中介服务十大实力品牌排行,企业用工外包与灵活派遣权威指南 - 品牌企业推荐师(官方)
  • 大模型推理流水线设计:TensorRT作为核心组件
  • 【无人艇编队】基于双虚拟领航员+人工势场APF+扩张状态观测器ESO的4 艘欠驱动水面船舶USV包容控制+障碍规避+事件触发一体化仿真系统,解决复杂环境下的分布式协同控制问题附Matlab代码
  • 如何在Kubernetes中部署TensorRT推理服务?
  • 计算机为什么使用二进制存储数据
  • 对比测评:TensorRT vs TorchScript vs OpenVINO推理表现
  • 品牌声誉监控系统:负面舆情第一时间告警
  • Transformer 中为什么用LayerNorm而不用BatchNorm?
  • 大模型Token计费系统结合TensorRT实现精准核算
  • 【心率呼吸率】数字带通滤波器提取心率HR和呼吸率RR【含Matlab源吗 14791期】
  • Qt 构建错误及解决 error MSB4019: 找不到导入的项目 qt_defaults.props Visual Studio + Qt插件报错的解决办法
  • 大模型推理延迟高?试试NVIDIA TensorRT的INT8量化黑科技
  • 2025年反应釜厂家推荐:江苏卓维装备有限公司领衔,不锈钢/碳钢/高压/实验室等八大品类实力品牌深度解析与选购指南 - 品牌企业推荐师(官方)