组件分享之后端组件——用于社交和实时游戏和应用程序的分布式服务器
2022-04-05 本文已影响0人
cn華少
组件分享之后端组件——用于社交和实时游戏和应用程序的分布式服务器nakama
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:nakama
- 开源协议:Apache-2.0 License
内容
本节继续分享游戏相关的开发组件nakama,它是用于社交和实时游戏和应用程序的分布式服务器,其官方描述特征如下:
特征
- 用户- 通过社交网络、电子邮件或设备 ID 注册/登录新用户。
- 存储- 将用户记录、设置和其他对象存储在集合中。
- 社交- 用户可以与朋友联系并加入群组。内置社交图,以查看如何连接用户。
- 聊天- 用户之间的一对一、群组和全球聊天。保留聊天记录的消息。
- 多人游戏- 实时或基于回合的主动和被动多人游戏。
- 排行榜- 动态、季节性、获得顶级成员或用户周围的成员。有尽可能多的。
- 锦标赛- 邀请玩家一起争夺奖品。将许多人联系在一起以创建联赛。
- 派对- 将团队游戏添加到游戏中。用户可以组队并与党员进行交流。
- 运行时代码- 使用用 Lua、TypeScript/JavaScript 或本机 Go 代码编写的自定义逻辑扩展服务器。
- 媒人、仪表板、指标等。
它提供了一个标准控制台,方便我们对其中的各项信息进行管理
![](https://img.haomeiwen.com/i5330898/3fabed440ecde251.png)
安装使用也很简单,直接使用docker进行安装即可,
- 设置一个docker-compose 文件并将其放在项目的文件夹中。
docker-compose-postgres.yml
version: '3'
services:
postgres:
container_name: postgres
image: postgres:9.6-alpine
environment:
- POSTGRES_DB=nakama
- POSTGRES_PASSWORD=localdb
volumes:
- data:/var/lib/postgresql/data
expose:
- "8080"
- "5432"
ports:
- "5432:5432"
- "8080:8080"
nakama:
container_name: nakama
image: heroiclabs/nakama:3.9.0
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address postgres:localdb@postgres:5432/nakama &&
exec /nakama/nakama --name nakama1 --database.address postgres:localdb@postgres:5432/nakama --logger.level DEBUG --session.token_expiry_sec 7200
restart: always
links:
- "postgres:db"
depends_on:
- postgres
volumes:
- ./:/nakama/data
expose:
- "7349"
- "7350"
- "7351"
ports:
- "7349:7349"
- "7350:7350"
- "7351:7351"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7350/"]
interval: 10s
timeout: 5s
retries: 5
volumes:
data:
- 运行docker-compose -f ./docker-compose-postgres.yml up以下载容器映像并运行服务器。更多使用方式可以参考README
本文声明:
![](https://img.haomeiwen.com/i5330898/f850ba900a8955ff.png)
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。