目录
背景介绍
open-match是Google和unity联合开源的支持实时多人匹配的框架,已有多家游戏厂商在生产环境使用,官网 https://open-match.dev/site/ 。原本我们使用的是UOS上提供的匹配能力,但是UOS目前不支持自建的Dedicated servers 集群,只能上传镜像,UOS会自动完成分配以及创建,灵活性就不是那么高了,按照open-match的官方教程,需要有k8s的环境。但是小公司就是不想要k8s,我就想单机部署,可以使用docker-compose。open-match本身的镜像build 提供了dockerfile文件。把项目clone到本地,然后在 tm中以此使用以下命令构建对用的image
tip:该方案只是启动了 core 部分要求的组件即
搭建步骤
Install with YAML | Open Match

后面的部分,需要自行探索了,现在也在学习中,欢迎交流讨论
先构建一个中间镜像base builder,然后一次构建对应的component即可,需要修改Dockerfile.cmd中的
FROM open-match-base-build as builder
为,目的是指定使用本地的version版本,否则会远程拉取镜像,网络问题会导致不成功,需要开梯子
FROM open-match-base-build:latest as builder
docker build -f .\Dockerfile.base-build -t open-match-base-build .
docker build --build-arg IMAGE_TITLE=synchronizer -f .\Dockerfile.cmd -t open-match-synchronizer .
接着使用docker-compose.yaml 来控制启动过程,内如如下
version: '3'
services:
open-match-backend:
image: open-match-backend:latest
container_name: open-match-backend
volumes:
- ./matchmaker_config_default.yaml:/app/matchmaker_config_default.yaml
- ./matchmaker_config_override.yaml:/app/matchmaker_config_override.yaml
ports:
- "50505:50505" # gRPC
- "51505:51505" # HTTP
environment:
API_BACKEND_HOSTNAME: "open-match-backend"
API_BACKEND_GRPC_PORT: "50505"
API_BACKEND_HTTP_PORT: "51505"
REDIS_HOSTNAME: "open-match-redis"
REDIS_PORT: "6379"
depends_on:
- redis
open-match-frontend:
image: open-match-frontend:latest
container_name: open-match-frontend
ports:
- "5050

最低0.47元/天 解锁文章
1644

被折叠的 条评论
为什么被折叠?



