CodeCombat 容器部署笔记
CodeCombat 是一款将编程教育与角色扮演玩法相结合的在线学习平台。用户通过编写代码控制游戏角色完成冒险任务,从而训练编程技能。 平台支持 Python、JavaScript、Lua 等多种语言学习路径,采用渐进式关卡设计,覆盖从基础语法到算法应用的完整知识体系。 通过宝石奖励、角色装备、多人协作等游戏化机制降低学习门槛,核心教学关卡免费开放。截至 2023 年,CodeCombat 已推出中国版(极客战记)与国际版双通道服务。
背景动机
偶然想系统学习 Python,但因缺乏编程基础,希望借助趣味性强的学习方式入门。了解到 CodeCombat 这款编程游戏,但官网完整版需付费(数百元),经济受限,遂寻找开源方案。
最终在 GitHub 找到官方开源项目: 🔗 CodeCombat/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 本地私有化部署完成!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)