游戏开发服务器选型的横向对比

news2024/12/23 22:50:52

来源一个某乎的作者,貌似来自台湾

上篇介绍了go版本的游戏服务器,这篇介绍下其它语言版本:

SkynetkbengineNoahGameFramePomeloPinusET
使用的语言C/LuaC++C++NodejsTypeScriptC#
概述云风前辈开源的框架mmo框架server一个快速的、可扩展的、分布式的C++游戏服务器引擎/框架网易开源的游戏框架 但不再维护Pomelo的TS版本基于事件机制的框架 模块可在客户端和服务器双端使用
是否跨平台
文档情况较多较多较少较少较少较少
是否支持热更

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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/918937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Prometheus】概述及部署

目录 Prometheus 概述 Prometheus 的生态组件 Prometheus 的工作模式 Prometheus 的工作流程 Prometheus 的局限性 部署 Prometheus Prometheust Server 端安装和相关配置 部署 Exporters 监控 MySQL 配置示例 监控 Nginx 配置示例 部署 Grafana 进行展示 部署 Pro…

Java如何调用接口API并返回数据(两种方法)

Java如何调用接口API并返回数据(两种方法) java处理请求接口后返回的json数据-直接处理json字符串 处理思路: 将返回的数据接收到一个String对象中(有时候需要自己选择性的取舍接收) 再将string转换为JSONObject对象 …

Shiro学习总结

第一章 入门概述 1.概念 shiro是一个Java安全框架,可以完成:认证、授权、加密、会话管理、与web集成、缓存… 2.优势 ● 易于使用,构建简单 ● 功能全面 ● 灵活,可以在任何应用程序环境中工作,并且不需要依赖它们…

log4框架

1.log4cplus基本元素 Layouts :控制输出消息的格式。 Appenders :输出位置。 Logger :日志对象。 Priorities :优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。 2.log4cplus基本结构 3. 使用步骤&am…

2023年7月最新道路矢量数据(全国/分省/分城市)

2023年7月最新道路矢量数据(全国/分省/分城市) 道路数据是我们在各项研究中经常使用的数据!道路数据虽然很常用,但是却基本没有能下载最近年份道路数据的网站,所以很多人不知道如何获到道路数据。 本次我们为大家推…

【80天学习完《深入理解计算机系统》】第九天 3.2 数据传送指令【mov】【栈和堆】【leaq】【一元操作】【二元操作】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

智慧充电桩物联网方案架构

智慧充电桩物联网采用“云-管-边-端”的边缘计算物联网架构,融合5G、AI、Wi-Fi 6等技术,实现充电基础设施由数字化向智能化演进。智慧充电桩物联网方案架构设计,如下图所示: 云端: 物联网平台具备广泛协议的南向接入…

.NET 最便捷的Log4Net日志记录器

最便捷的Log4Net使用方法 LOG4NET 配置日志记录器开始引用nuget LOG4NET 配置日志记录器 Apache log4net 库是一个帮助程序员将日志语句输出到各种的工具 的输出目标。log4net是优秀的Apachelog4j™框架的移植 Microsoft.NET 运行时。我们保持了与原始log4j相似的框架 同时利…

【javaweb】学习日记Day5 - 请求响应 分层解耦 IOC DI 三层架构

目录 一、请求响应 1、请求 (1)简单参数 ① GET请求 ② POST请求 ③ 假如形参与请求参数不一致 (2)实体参数 ① 简单实体对象 ② 复杂实体对象 (3)数组参数 (4)集合参数 …

研究生定向培养学徒对象及说明

研究生定向培养学徒开始招募啦,招募对象可以 1、免费学习 2、全真企业项目实战 3、拥有就业推荐机会 4、提供副业机会 研究生定向培养学徒报名时间: 2023年8月22日-2023年9月10日 研究生定向培养学徒招募对象: 1.毕业年度研究…

如何在地平线J5上部署RTA-VRTE v2.2应用程序

在地平线J5上部署RTA-VRTE v2.2应用程序流程图: 虽然在J5上使用ifconfig 命令看不到can0和can1被启动 登陆系统后ifconfig -a仍然能看到can0和can1。

Python(八十四)字符串的切片操作

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

Linux TCP协议——三次握手,四次挥手

一、TCP协议介绍 TCP协议是可靠的、面向连接的、基于字节流的传输层通信协议。 TCP的头部结构: 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;(tcp是传输层的协议,端与端之间的数据传输,在TCP和UDP协议当中不会体现出I…

基于paddleocr的文档识别

1、版面分析 使用轻量模型PP-PicoDet检测模型实现版面各种类别的检测。 数据集: 英文:publaynet数据集的训练集合中包含35万张图像,验证集合中包含1.1万张图像。总共包含5个类别。 中文:CDLA据集的训练集合中包含5000张图像&a…

Vue3:通过路由写多个页面,通过不同的路径可以进入不同的页面

前言 Vue3:想通过路由写2个页面,不同的路径可以进入不同的页面 实现步骤 1、创建Vue3项目 通过脚手架创建一个Vue3的项目,然后在此基础上对文件进行增删改,修改成自己需要的项目框架 2、views文件夹 对应 页面文件 如果需要…

网络编程——网络基础知识

目录 一、网络历史两个重要名词1.1 阿帕网1.2 TCP/IP协议 二、局域网和广域网三、IP地址3.1 基本概念3.2 划分(IPV4)3.3 特殊IP地址3.4 子网掩码3.5 重新组网 四、网络模型4.1 网络的体系结构:4.2 OSI与TCP/IP模型4.2.1 OSI模型4.2.2 TCP/IP模型4.2.3 OSI和TCP/IP模…

C++,类的特殊函数练习

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream> using namespace std;cla…

OpenAI的Superalignment策略:计算为王

卷友们好&#xff0c;我是rumor。 对于怎么实现AGI这个玄学的目标&#xff0c;感觉大家都是差不多的状态&#xff1a;咱也不知道怎么做&#xff0c;但就是觉得现在的LLM技术还远远不够。 所以之前看到OpenAI说要用模型去做对齐研究[1]&#xff0c;以及最近发话要4年内做出Super…

创建R包-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 0-前言 1-在RStudio中创建R包项目 2-创建R包 2.1通过R函数创建新包 2.2在RStudio通过菜单来创建一个新包 2.3关于R包创建的说明 3-添加R自定义函数 4-添加C函数 0-前言 目标&#xff1a;在RStudio中创建一个R包&#xff0c;这个R包中包含C函数&#xff0c;接口是Rc…

牛客复盘] 2023河南萌新联赛第(七)场:信息工程大学 B\I 20230823

牛客复盘] 2023河南萌新联赛第&#xff08;七&#xff09;场&#xff1a;信息工程大学 B\I 20230823 总结B 七夕1. 题目描述2. 思路分析3. 代码实现 I 细胞分裂1. 题目描述2. 思路分析3. 代码实现 六、参考链接 总结 场外OB做了B和I题&#xff0c;只能说这场有点离谱。B 并查…