首页/新闻资讯/正文详情

Pomelo:让 Node.js 游戏服务器跑成一组自动恢复的进程

发布时间:2026/11/4 11:14:04 来源:云帆数科 栏目:资讯中心
Pomelo:让 Node.js 游戏服务器跑成一组自动恢复的进程
Pomelo让 Node.js 游戏服务器跑成一组自动恢复的进程【免费下载链接】pomeloA fast,scalable,distributed game server framework for Node.js.项目地址: https://gitcode.com/gh_mirrors/po/pomelo游戏逻辑塞在一个 Node.js 进程里玩家一多CPU 先扛不住进程一崩所有人同时掉线。Pomelo 是网易开源的 Node.js 分布式游戏服务器框架它用一个独立 master 进程把整套服务拆成一组 worker。master 一条start命令就把 worker 逐个 fork 出来谁挂了还能自动拉回来。全文按三种互斥场景拆开一个人开发、玩家多了加机器、上线后盯着别挂。每种场景说清它自动做了什么、你又能手动改什么。默认开发环境里客户端心跳是 3 秒master 就靠它发现挂掉的 worker 并重启。 三分钟上手最短路径分三步。先在仓库里装好并暴露pomelo命令git clone https://gitcode.com/gh_mirrors/po/pomelo cd pomelo npm install npm link再在任意空目录里生成项目、装依赖、启动。pomelo init会问你要哪种底层连接一路回车选默认 websocket 即可pomelo init mygame cd mygame/game-server npm install pomelo start想确认它真的在跑另开一个终端启动自带演示页然后浏览器打开 http://127.0.0.1:3001点 Test Game Servercd mygame/web-server npm install node app.js弹窗里出现game server is ok.就说明 connector、路由、handler 整条链路都通了。可选建议一句话上生产前记得换掉默认的 admin/admin 管理员账号。 按场景看它自动做了什么你能改什么第一次单独跑起来pomelo start只起一个 mastermaster 读config/servers.json把里面列的 worker 逐个 fork 成子进程。connector 默认监听 3010开了 3 秒心跳和字典、protobuf 编码。你在 handler 里写一个entry返回next(null, {code:200, msg:...})演示页点一下就能收到。手动能改的config/servers.json里的端口和 idapp.js里 connectorConfig 的heartbeat、useDict、useProtobuf以及 handler 的实际业务逻辑。玩家多了要加机器加机器不用改代码。master 手里维护一张全局 server 表新 worker 启动后向 master 注册master 再经 watchdog 把「新增/移除」广播给其它所有节点大家的路由表自动对齐。请求按serverType路由到对应类型的 worker。手动能改的往servers.json加一行就拉起一个 worker运行时用pomelo add热插一个新节点给某个 worker 配cpu字段Linux 上会用 taskset 把它绑到指定核。上线后盯着它别挂master 就是这里的看门狗。worker 断开时它先 ping 一下对端若该 worker 标了auto-restart就重新 fork重启后 worker 重新注册其它节点同步更新。跑pomelo list能列出每个进程的 pid、内存和 uptimepomelo stop、restart、kill可按 id 或按 type 操作。手动能改的servers.json里的auto-restart开关改config/log4js.json控制日志落到哪。 最值得留的一个功能master 自动拉起 worker同类 Node.js 实时框架大多是单进程扩容要你自己写 cluster 或注册中心。Pomelo 把「谁活着」这件事交给一个独立 master 进程它是唯一事实来源既负责 fork又负责在 worker 挂掉后 ping 加重启。不需要外部进程管理器也不用自己维护一套心跳和注册表。默认配置就是模板里能直接改的参数配置项默认值在哪改作用master 端口3005config/master.json管理口worker 端口3150config/servers.json内部 RPC客户端端口3010config/servers.json对客户端监听心跳3 秒app.js connectorConfig掉线检测auto-restart关config/servers.json挂掉自动重启cpu无config/servers.jsonLinux 绑核这张表就是你能调的全部旋钮默认值能让它跑起来改完就能按机器和并发重排。⚠️ 上手后你会遇到的三个坑start 说找不到脚本。现象是 Fail to find an appropriate script to run。原因是没进 game-server 目录init生成的是 mygame/game-server 这个子目录。回到该目录再pomelo start或用-d指向它。演示页连不上 3010。现象是点 Test Game Server 没反应或拒绝连接。原因是init时选了 socket.io / udp / mqtt而自带 web 演示是 websocket 客户端两边对不上。重新pomelo init时选默认 websocket或把客户端指向对应端口。端口占用或 list 连不上 master。现象是 Port occupied already或 Fail to connect to admin console server。原因多是上次 pomelo 没杀干净3005 的 master 还占着。用pomelo kill逐个收尾或pomelo kill -f强制清掉全部 node 进程。 兼容性与获取入口运行环境Node.js多进程平台Linux / Windows / macOS连接websocket / socket.io / wss / udp / mqtt客户端js / flash / android / ios / cocos2d-x / C官方文档README版本历史History项目模板template/CLI 命令bin/pomelo架构与自动恢复的实现顺着 template/game-server/config/ 改就能看出效果配合 README 的架构一节读最省事。【免费下载链接】pomeloA fast,scalable,distributed game server framework for Node.js.项目地址: https://gitcode.com/gh_mirrors/po/pomelo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Driver Store Explorer(RAPR):清理 Windows 驱动存储、释放 C 盘空间完整指南
Driver Store Explorer(RAPR):清理 Windows 驱动存储、释放 C 盘空间完整指南

Driver Store Explorer(RAPR):清理 Windows 驱动存储、释放 C 盘空间完整指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 一台用了三年的电脑&am… · 2026/11/4 11:14:04

3 步解锁 Spotify 320kbps 音质:BlockTheSpot 免费实战
3 步解锁 Spotify 320kbps 音质:BlockTheSpot 免费实战

3 步解锁 Spotify 320kbps 音质:BlockTheSpot 免费实战 【免费下载链接】BlockTheSpot Video, audio & banner adblock/skip for Spotify 项目地址: https://gitcode.com/gh_mirrors/bl/BlockTheSpot 免费 Spotify 用户的音质档位被锁在 96kbps 起步&… · 2026/11/4 11:14:04

炉石 HsMod 插件完整指南:免费 60+ 项增强,从炉石皮肤修改到挂机自动化
炉石 HsMod 插件完整指南:免费 60+ 项增强,从炉石皮肤修改到挂机自动化

炉石 HsMod 插件完整指南:免费 60 项增强,从炉石皮肤修改到挂机自动化 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod 是一款基于 BepInEx(Unity … · 2026/11/4 11:14:04

从贝尔曼方程到Q-learning:强化学习的数学原理与工程调试
从贝尔曼方程到Q-learning:强化学习的数学原理与工程调试

简介:《强化学习的数学原理》英文专著PDF,由西湖大学赵世钰教授撰写,面向希望从数学层面系统理解强化学习的学习者与研究者,也适合具备一定数学基础、需要夯实理论框架的读者。全书从基础概念与网格世界示例切入,依次讲… · 2026/11/4 12:32:22

Windows下Scoop包管理器与OpenCode开发环境配置指南
Windows下Scoop包管理器与OpenCode开发环境配置指南

1. Windows 下 Scoop 包管理器的安装与配置 作为一名长期使用 Windows 进行开发的工程师,我深知在 Windows 环境下管理开发工具的痛点。Scoop 作为一款轻量级的 Windows 包管理器,能够极大简化软件安装和更新流程。下面我将分享详细的安装配置过程&#… · 2026/11/4 12:32:22

ARMA模型在光伏功率预测中的工程实践
ARMA模型在光伏功率预测中的工程实践

1. 项目背景与核心价值光伏功率预测是新能源并网调度中的关键技术环节。随着光伏渗透率不断提高,电网对预测精度要求日益严格。传统物理建模方法受限于天气数据精度和设备参数漂移,而基于历史数据的统计学习方法展现出独特优势。自回归移动平均模型&… · 2026/11/4 12:32:22

Cloudflare WAF绕过漏洞解析与防护实践
Cloudflare WAF绕过漏洞解析与防护实践

1. 漏洞背景与影响范围解析Cloudflare作为全球领先的网络基础设施服务商,其Web应用防火墙(WAF)为超过2500万个网站提供安全防护。2025年10月曝光的ACME验证漏洞,暴露了一个关键的安全设计缺陷——当边缘节点处理特定路径请求时,会错误地绕过W… · 2026/11/4 12:32:22

VCS 2021.09安装配置与IC设计仿真环境避坑指南
VCS 2021.09安装配置与IC设计仿真环境避坑指南

简介:《VCS User Guide》为Synopsys VCS官方用户手册(S-2021.09版),面向IC设计、验证工程师及电子信息相关专业学习者,用于系统了解VCS仿真验证工具的安装配置、环境搭建、库管理与日常使用。压缩包内共1个PDF文件&… · 2026/11/4 12:32:22

噪声诱导跃迁学习的多尺度储备池计算方法
噪声诱导跃迁学习的多尺度储备池计算方法

1. 项目概述:噪声诱导跃迁学习的创新方法 在复杂系统研究中,我们常常遇到一个令人着迷的现象:看似干扰因素的噪声,实际上可能成为驱动系统状态转变的关键力量。传统方法通常将噪声视为需要消除的干扰项,但2024年发表在… · 2026/11/4 12:31:22

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码