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
链接: https://pan.baidu.com/s/1gNjCjscpLf-YokYmCc1nng?pwd=4b66 提取码: 4b66

⚠️ 注意:需提前准备 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 本地私有化部署完成!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐