游戏开发服务器选型的横向对比
来源一个某乎的作者,貌似来自台湾
上篇介绍了go版本的游戏服务器,这篇介绍下其它语言版本:
| Skynet | kbengine | NoahGameFrame | Pomelo | Pinus | ET | |
|---|---|---|---|---|---|---|
| 使用的语言 | C/Lua | C++ | C++ | Nodejs | TypeScript | C# |
| 概述 | 云风前辈开源的框架 | mmo框架server | 一个快速的、可扩展的、分布式的C++游戏服务器引擎/框架 | 网易开源的游戏框架 但不再维护 | Pomelo的TS版本 | 基于事件机制的框架 模块可在客户端和服务器双端使用 |
| 是否跨平台 | 否(Linux不需要跨平台) | 是 | 否 | 是 | 是 | 否(Linux都不能用?) |
| 文档情况 | 较多(云风会写文档?) | 较多(民间几乎没有(国内)) | 较少 | 较少(官方少,民间多) | 较少 | 较少 |
| 是否支持热更 | 是 | 是(框架这么臃肿,能热更表示怀疑) | 是 | 是 | 是 | 是 |

skynet框架
skynet网上介绍文章比较多,最大特色是使用lua来完成逻辑开发,代码级别的可热更。

kbengine and NoahGameFrame

Pomelo,Pinus,ET
总结:
1、从开发效率和速度来说,skynet和pomelo,pinus是最快的
2、从开发成本来说,ET可以双端执行,对独立开发者来说是很友好的
3、大型点的项目还是推荐skynet和kbengine,文档和issue都还在持续更新
(个人不是很认同,台湾同胞估计对国内形势不是很了解,对自身的境遇的估计不足)
个人锐评论一下
总结补充
- 其实还有被遗忘的Erlang,Erlang最大的好处就是不依赖系统,本身就是为了专用机器E瑷玛斯开发的,所以在windows单机版本也跑的很好,无需迁就Linux(我能说是做私服很好么,但其实就是没有很多人用,这行业我其实也不懂)
- skynet和pomelo的开发效率最快,那还用说的么,lua或者js,本身就不是编译语言(却是非常现代的现代语言,也是学校不会教的语言)
- ET框架其实比较搞笑,我就不展开说的,个人不是不建议用,是不建议你碰,见到就绕路走就好了,虽然我还是个c#博主
- 大型项目kbengine 还不错是因为作为c++的例子很多,比较适合愿意从头学习c++,闭关学习2~3年。总体来说也是很搞笑的,游戏战场现在都一片红海,快打到外太空了,它还在更新Issue是不是搞笑?
- Pomelo 网上内容多,适合学;Pinus 几乎没有内容,只有一个非常简陋的文档;
- 服务器硬件,搭建还是需要很多基础知识的
- 易学难精,先甜后苦,知易行难,从来都是如此
- Pomelo是网易2012年开源的服务器架构,如果懂得云风,丁丁和网易得恩怨刚好就是从那时候开始得,网易是不可能主推skynet框架的,如果云风使用js 的服务器框架也不可能存活到现在,毕竟竞争激烈,Pomelo也不容易
- 说了这么多skynet和Pemolo,大概你懂我意思?就是他两个是独一档的,比较底层,比较通用,和其他所谓的服务器”引擎“不是一回事,
- 说了这么多,真没说具体服务器如何开发;外行真的很难懂这些,但行内随便一个小公司就都用的还是这些,就是实在不行,进个厂吧,比自己摸索靠谱
最后分享一个Pomelo入门-详细
pomelo使用笔记_pomelo request_IT 哈的博客-CSDN博客
相关文章:
游戏开发服务器选型的横向对比
来源一个某乎的作者,貌似来自台湾 上篇介绍了go版本的游戏服务器,这篇介绍下其它语言版本: SkynetkbengineNoahGameFramePomeloPinusET使用的语言C/LuaCCNodejsTypeScriptC#概述云风前辈开源的框架mmo框架server一个快速的、可扩展的、分布…...
【android12-linux-5.1】【ST芯片】HAL移植后配置文件生成报错
根据ST官方源码移植HAL源码后,执行readme指示中的生成配置文件指令时报错ST_HAL_ANDROID_VERSION未定义之类,应该是编译环境参数问题。makefile文件中是自动识别配置的,参数不祥就会报错,这里最快的解决方案是查询确定自己android…...
基于深度神经网络的分类--实现与方法说明
1、分类系统的设计 采用神经网络进行分类需要考虑以下几个步骤: 数据预处理: 将数据特征参数和目标数据整理成合适的输入和输出形式,可以使用过去一段时间的数据作为特征,然后将未来的数据作为输出标签,进行分类问题的…...
Java“牵手”天猫商品快递费用API接口数据,天猫API接口申请指南
天猫平台商品快递费用接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取天猫商品的标题、价格、库存、商品快递费用,宝贝ID,发货地,区域ID,快递费用,月销量、总销量、库存、详情…...
哲讯科技携手无锡华启动SCM定制化项目,共谋数字化转型之路
无锡华光座椅弹簧有限公司启动SCM定制化项目 近日,无锡华光座椅弹簧有限公司顺利举行了SCM定制化项目的启动会。本次启动会作为该项目实施的重要里程碑,吸引了双方项目组核心成员的共同参与,并见证了项目的正式启动。 无锡华光座椅弹簧有限公…...
ModaHub魔搭社区:将图像数据添加至Milvus Cloud向量数据库中
将图像数据添加至向量数据库中 图像分割裁剪完成后,我们就可以将其添加至 Milvus Cloud 向量数据库中了。为了方便上手,本项目中使用了 Milvus Lite 版本,可以在 notebook 中运行 Milvus 实例。接下来,使用 PyMilvus 连接至 Milvus Lite 提供的默认服务器。 这一步骤中,…...
svn下载
Download | VisualSVN for Visual Studio svn下载...
为什么说es是近实时搜索
首先要理解es的存储结构: 一个index的数据,分散在多个shard(分片),一个分片又有很多segment(段),es是数据不可变模型,更新数据只是新增一个版本。 es是怎么写数据的? 每次写的时候,首先会写到…...
程序自动分析——并查集+离散化
在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设 x1,x2,x3,… 代表程序中出现的变量,给定 n 个形如 xixj 或 xi≠xj 的变量相等/不等的约束条件,请判定是否可以分别为…...
Qt 获取文件图标、类型 QFileIconProvider
Qt中获取系统图标、类型是通过QFileIconProvider来实现的,具体如下: 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…...
TopicExchange主题交换机
目录 一、简介 二、代码展示 父pom文件 pom文件 配置文件 config 生产者 消费者 测试 结果 一、简介 主题交换机,这个交换机其实跟直连交换机流程差不多,但是它的特点就是在它的路由键和绑定键之间是有规则的。 简单地介绍下规则࿱…...
A Survey on Large Language Models for Recommendation
本文是LLM系列的文章,针对《A Survey on Large Language Models for Recommendation》的翻译。 大模型用于推荐的综述 摘要1 引言2 建模范式和分类3 判别式LLM用于推荐4 生成式LLM用于推荐5 发现6 结论 摘要 大型语言模型(LLM)作为自然语言…...
Springboot 入门指南:控制反转和依赖注入的含义和实现方式
目录 一、什么是控制反转(IoC)? 二、什么是依赖注入(DI)? 三、如何在 springboot 中使用 IoC 和 DI? 总结 一、什么是控制反转(IoC)? 控制反转ÿ…...
使用Tampermonkey(篡改猴)向页面注入js脚本
一、Tampermonkey 简单介绍 Tampermonkey是一款浏览器插件,适用于Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。他允许我们自定义javascript给指定网页添加功能,或修改现有功能。也可以用来辅助调试,或去除网页广告等。 官网地…...
软考高级系统架构设计师系列之:论文典型试题写作要点和写作素材总结系列文章二
软考高级系统架构设计师系列之:论文典型试题写作要点和写作素材总结系列文章二 一、论基于DSSA的软件架构设计与应用1.论文题目2.写作要点和写作素材二、论信息系统建模方法1.论文题目2.写作要点和写作素材三、论高可靠性系统中软件容错技术的应用1.论文题目2.写作要点和写作素…...
【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部) 第一种:使用 systemd 服务单元在重启或启动时运行命令或脚本第二种:使用 /etc/rc.d/rc.local 文件在重启或启动时运行脚本或命令第三种:使用 cronta…...
医疗中心管理环境温湿度,这样操作就对了!
随着医疗技术的不断发展,越来越多的医疗设备对于稳定的工作环境要求越来越高,而环境温湿度是影响这些设备性能和可靠性的关键因素之一。 为了确保医疗设备的正常运行和患者的安全,医疗机构越来越倾向于采用精密空调监控系统来维护设备的稳定性…...
嵌入式系统存储体系
一、存储系统概述 主要分为三种:高速缓存(cache)、主存和外存。 二、高速缓存Cache 高速缓冲存储器中存放的是当前使用得最多得程序代码和数据,即主存中部分内容的副本,其本身无自己的地址空间。在嵌入式系统中Cac…...
【Java架构-版本控制】-Gitlab安装
本文摘要 Git作为版本控制工具,使用非常广泛,在此咱们由浅入深,分三篇文章(Git基础、Git进阶、Gitlab搭那家)来深入学习Git 文章目录 本文摘要1. docker接取镜像2. docker启动镜像3. 配置启动端口和ssh端口4. 获取初始…...
关于disriminative 和 generative这两种模型
但是,其实,根据李宏毅老师讲到的,generative model是做了一些假设的,比如,如果使用Naive Bayes的话,不同特征x1,x2...之间相互独立的话,其实是很容易出现较大的偏差的,因为不同特征变…...
告别激活弹窗:KMS_VL_ALL_AIO智能激活工具完全指南
告别激活弹窗:KMS_VL_ALL_AIO智能激活工具完全指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活烦恼吗?每次开机都看到"需要激活"的提…...
CoPaw:让AI代码助手深度适配个人项目与团队规范的工程化实践
1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫CoPaw,作者是 alexgzx。光看名字可能有点摸不着头脑,但如果你对 AI 辅助编程、代码生成或者想提升自己的开发效率感兴趣,那这个项目绝对值得你花时间研究一下。简单来说…...
Steam Achievement Manager完整指南:快速解决游戏成就难题的终极工具
Steam Achievement Manager完整指南:快速解决游戏成就难题的终极工具 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager 核心关键词:S…...
开源机械爪OpenClaw:从设计到力控抓取的完整实现指南
1. 项目概述:从“OpenClaw”看开源机械爪的无限可能最近在逛GitHub的时候,发现了一个挺有意思的项目,叫“MeyerZhou/openclaw”。光看名字,你大概能猜到这是个关于机械爪的开源项目。没错,这是一个旨在提供低成本、模块…...
基于Sovereign-MCP-Servers构建私有AI工具链:从协议原理到Docker化部署
1. 项目概述与核心价值最近在折腾AI应用开发,特别是想给Claude、Cursor这类工具加上“联网”和“执行”能力时,绕不开一个概念:MCP(Model Context Protocol)。简单说,MCP就是一套标准协议,它能让…...
Lingoose框架实战:构建智能客服工单处理AI工作流
1. 项目概述:从“Lingo”到“Goose”,一个AI应用编排框架的诞生如果你最近在折腾大语言模型应用,尤其是想把OpenAI、Anthropic这些API的能力整合到自己的业务流程里,那你大概率已经体会过那种“胶水代码”的烦恼了。今天要聊的这个…...
自托管链接管理平台Linko:Go+React技术栈部署与核心功能解析
1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫monsterxx03/linko。乍一看这个名字,可能有点摸不着头脑,但如果你经常需要管理一堆链接、书签,或者在做内容聚合、个人知识库,那这个工具很可能就是你一直在…...
CI/CD安全最佳实践:保护软件交付流程
CI/CD安全最佳实践:保护软件交付流程 一、CI/CD安全最佳实践概述 1.1 CI/CD安全最佳实践的定义 CI/CD安全最佳实践是指在持续集成和持续部署流程中实施的安全策略和措施。它涵盖代码提交、构建、测试、部署等各个阶段的安全防护。 1.2 CI/CD安全最佳实践的价值 安全…...
桌面CNC木质游戏手柄外壳制作:从Fusion 360设计到实战加工全流程
1. 项目概述:从数字模型到木质手柄的旅程如果你和我一样,既痴迷于复古游戏的怀旧情怀,又享受亲手将数字设计变为实体物件的成就感,那么这个项目绝对能点燃你的热情。我们这次要做的,不是一个简单的3D打印外壳ÿ…...
数据分析师GitHub作品集构建指南:从项目架构到技术实现
1. 项目概述:一个数据分析师的作品集仓库意味着什么? 在数据驱动的时代,简历上的“精通Python/SQL”已经不够看了。面试官,尤其是那些懂行的技术面试官,更想看到的是你如何用这些工具解决真实世界的问题。这就是为什么…...
