heroiclabs/nakamaNakama 是一个开源分布式服务器,专为支持现代游戏和应用的后端服务设计。作为生产就绪的解决方案,它提供了完整的工具链,帮助开发者快速构建具备实时交互、社交功能和用户管理能力的应用后端。其核心定位是通过分布式架构实现高效扩展,广泛应用于全球游戏工作室和应用开发者的生产环境中。
需提前部署PostgreSQL数据库,执行以下命令启动Nakama:
bashdocker run -d \ --name nakama \ -p 7350:7350 \ # 客户端API端口 -p 7351:7351 \ # 管理API端口 -p 7352:7352 \ # 实时通信端口 -e DATABASE_URL="postgresql://user:password@postgres-host:5432/nakama?sslmode=disable" \ heroiclabs/nakama:latest
推荐使用Docker Compose管理Nakama与PostgreSQL服务,配置示例如下:
yamlversion: '3' services: # PostgreSQL数据库服务 postgres: image: postgres:14-alpine container_name: nakama-postgres environment: POSTGRES_USER: nakama POSTGRES_PASSWORD: nakama POSTGRES_DB: nakama volumes: - postgres-data:/var/lib/postgresql/data # 数据持久化 ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U nakama"] interval: 5s timeout: 5s retries: 5 # Nakama服务 nakama: image: heroiclabs/nakama:latest container_name: nakama depends_on: postgres: condition: service_healthy # 等待数据库就绪 ports: - "7350:7350" # 客户端API端口 - "7351:7351" # 管理API端口 - "7352:7352" # 实时通信端口 environment: DATABASE_URL: "postgresql://nakama:nakama@postgres:5432/nakama?sslmode=disable" # 数据库连接 LOG_LEVEL: "info" # 日志级别(debug/info/warn/error) PORT: 7350 # 客户端API端口(默认7350) ADMIN_PORT: 7351 # 管理API端口(默认7351) SOCKET_PORT: 7352 # 实时通信端口(默认7352) restart: unless-stopped # 异常退出后自动重启 volumes: postgres-data: # 数据库数据卷
启动命令:
bash# 启动服务 docker-compose up -d # 查看日志 docker-compose logs -f nakama
Nakama核心配置通过环境变量注入,常见参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DATABASE_URL | PostgreSQL数据库连接URL(必填) | 无 |
LOG_LEVEL | 日志输出级别 | info |
PORT | 客户端API端口 | 7350 |
ADMIN_PORT | 管理API端口(用于服务器监控) | 7351 |
SOCKET_PORT | 实时通信(WebSocket)端口 | 7352 |
SERVER_NAME | 服务器标识名称 | nakama |
CLUSTER_PORT | 集群通信端口(多节点部署时使用) | 7349 |
MAX_GRPC_MESSAGE_SIZE | gRPC消息最大尺寸(字节) | 4194304(4MB) |
完整配置参数见Nakama官方文档
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务