前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nakama Server, ​启动服务器

Nakama Server, ​启动服务器

作者头像
为少
发布2021-05-27 19:08:39
1.2K0
发布2021-05-27 19:08:39
举报
文章被收录于专栏:黑客下午茶

你可以用二进制或者 Docker 来安装 Nakama。如果你计划在开发或部署中使用 Docker,请查看 Docker 快速入门

下载或访问服务器后,您可以启动它。您必须首先启动数据库服务器。

启动数据库服务器

您可以使用以下命令启动数据库服务器:

代码语言:javascript
复制
cockroach start --background --insecure --store=path="./cdb-store1/"

这将在后台的 26257 端口上启动 CockroachDB,并将数据库的数据目录设置为 shell 环境当前工作目录下的文件夹“db-store1”。有关更多示例,请参阅数据库文档。

启动 Nakama

在启动服务器之前,必须设置数据库模式。模式定义绑定在服务器中,可以用下面的命令执行:

代码语言:javascript
复制
nakama migrate up

如果您已经将数据库配置为使用特定的连接设置运行,请查看如何配置 migrate 命令。

当命令运行时,您将看到将日志输出到 shell 控制台。

代码语言:javascript
复制
```
{"level":"info","ts":"<sometimestamp>","msg":"Database connection","db":"root@localhost:26257"}
{"level":"info","ts":"<sometimestamp>","msg":"Database information","version":"CockroachDB CCL v1.1.5"}
{"level":"info","ts":"<sometimestamp>","msg":"Using existing database","name":"nakama"}
{"level":"info","ts":"<sometimestamp>","msg":"Successfully applied migration","count":1}
```

日志表明运行了多少次迁移,以便随着服务器的发布将数据库中的模式定义更新到最新版本。每个新服务器版本只需要迁移服务器一次。__不__需要在每个服务器启动之前运行此命令。

现在可以启动服务器了。

代码语言:javascript
复制
# start the server and output logs to the terminal
nakama

从服务器输出的日志将告诉你:

  • 启动服务器的哪个版本。
  • 客户端可以访问服务器的 IP 地址和端口号。

"启动消息":服务器输出的一些第一条日志消息可能以 “WARNING” 开头。这些指示服务器以 API 密钥(keys)启动,API 密钥是默认值,在部署到生产环境之前必须进行更改。

配置部分涵盖了所有不同的服务器选项,可以在启动时进行调整以定制化服务器。下面介绍一些最常见的配置标志。

数据库连接

默认情况下,服务器将使用默认端口号在本地地址上连接到数据库。您可以配置自定义地址和数据库名称:

代码语言:javascript
复制
# migrate command
nakama migrate up --database.address "username@database-host:port/database-name"
# startup command
nakama --database.address "username@database-host:port/database-name"

如果你已经在安全模式下安装了 CockroachDB,你可以传递证书信息:

代码语言:javascript
复制
nakama --database.address "username@database-host:port/database-name?sslcert=path/to/cert.der&sslkey=path/to/somekey.key.pk8&sslmode=require"

服务器名称

服务器在每次启动时使用一个唯一的随机名称。当作为集群的一部分或在单个节点上运行多个实例时,这对于标识服务器非常重要。您可以将日志和其他输出的服务器名称设置为每次运行时相同。

代码语言:javascript
复制
nakama --name "nakama1"

数据目录

Nakama 的数据(data)目录是 Nakama 存储各种工作文件的地方。这包括一个日志文件夹、Lua 模块文件夹等。默认情况下,数据(data)目录在 shell 控制台的当前工作目录中创建。

日志

Nakama 将所有日志写入数据目录中的一个文件。日志文件名是服务器实例的名称。

默认情况下,Nakama 记录的消息级别为 “INFO”、“WARN” 和 “ERROR”。但是你可以改变它:

代码语言:javascript
复制
nakama --logger.level "debug"

Lua 模块

在启动时,服务器遍历以 “.lua” 结尾的所有文件的模块目录。然后,在将这些模块缓存为VM指令以供服务器运行之前,对它们进行解析和评估。您将在日志输出中看到服务器找到的模块列表。

模块的默认位置是数据目录下的 “modules” 文件夹(“./data/modules”)。你可以用你自己的 Lua 模块位置覆盖它。

代码语言:javascript
复制
nakama --runtime.path "path/to/modules"

启动/加入集群

"仅 Nakama Enterprise":下面的命令在 Nakama Enterprise 中使用。企业版为实时聊天、多人游戏、状态事件、通知、流和会话管理提供了多服务器扩展功能。您可以使用企业许可证在您的开发机器上本地启动集群。我们提供的托管云服务已经可以运行我们的企业版。

集群版本的 Nakama 服务器构建了流言(gossip)、节点感知(node awareness)、状态复制(state replication)和多节点消息路由(multi-node message routing)。它使用最先进的分布式系统特性来提供一个简单的扩展模型。

如果企业版服务器加入的实例已经知道某个集群,或者创建一个新集群,那么它将加入该集群。

代码语言:javascript
复制
nakama --name "nakama1"

您可以启动第二个节点并加入集群。

代码语言:javascript
复制
nakama --name "nakama2" --cluster.join "localhost:7352"

如果希望在同一台机器上运行这两个实例,还必须为每个服务器提供唯一的侦听端口。

代码语言:javascript
复制
# node 1
nakama --name "nakama1"
# node 2
nakama --name "nakama2" --cluster.join "localhost:7352" --socket.port 7360 --dashboard.port 7361 --cluster.gossip_bindport 7362 --cluster.rpc_port 7363

谢谢点赞支持???!

中文在线文档:

  • https://nakama-docs.hacker-linner.com/,持续更新中……
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑客下午茶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启动数据库服务器
  • 启动 Nakama
    • 数据库连接
      • 服务器名称
      • 数据目录
        • 日志
          • Lua 模块
          • 启动/加入集群
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档