大家都在用的开源游戏服务端框架大盘点

从零开始搭建游戏服务器 第一节 创建一个简单的服务器架构 从零开始用java编写一个游戏服务器。涉及分布式开发、netty、mongodb、redis。没有难点,对新人友好。 阅读详情

虽然从理论上讲,所有具备网络编程能力的语言,都可以作为服务端语言。

但是,都2025年了,谁还从零开始构建自己的服务器呢?

站在巨人的肩膀上,才能推进文明的进步。

从 2013 年开始,我就一直处于引擎、客户端、服务端都要涉及的状态。

在这十年中,有一些曾经流行的框架逐渐淡出了大家的视野,而有一些框架则经久不衰。

基于更新情况、易用性和流行程度,我整理了目前游戏开发中常用的框架给大家,希望对大家有帮助。

TSRPC

  • 开发语言:TypeScript

TSRPC 是一个专为 TypeScript 设计的全栈 RPC 框架,经千万级用户验证,适用于 HTTP API、WebSocket 实时应用、NodeJS 微服务等。

使用 TSRPC 可以非常容易地构建出分布式框架。

麒麟子自己的 TGX 游戏全栈开发框架,就是基于 TSRPC 构建的,真的很好用。

Colyseus

  • 开发语言:TypeScript

Colyseus 是一个多人游戏网络服务框架,提供了许多客户端 SDK,可以轻松和 H5小游戏引擎对接。

并且官方还提供了托管服务,使你部署起来非常简单。

美中不足的是,中文资料几乎为 0,对于中国大部分开发者来说,体验感不太好。

并且官方文档相对来说比较乱,并没有完整的使用教程。

英文能力不错的,并且有海外服务托管需求的开发者,可以考虑研究一下。

Skynet

  • 开发语言:lua
  • star:skynet 是云风大神开源的一套基于 c + lua 打造的轻量级 actor 模型的分布式服务端框架。

使用 skynet 可以很容易就构建出高效率、稳定的游戏服务器。

并且,还有大佬专门为 Skynet 写了一本书,叫《百万大线:大型网络游戏服务端开发》,值得一读。

曾经参与的项目中,一款 FPS 和一款 ARPG 使用过 skynet,非常顺手。

美中不足的是,lua 这个语言的生态很弱,许多东西需要自己造。

加上开发只能在 linux 环境,如果想要在windows环境下开发,需要配合虚拟机。

如果本身对 lua 熟悉,或者客户端逻辑使用的是 lua 语言,skynet 是一个不错的选择。

ET

  • 开发语言:C#

ET Framework 是一个基于 Actor 模型的 C# 服务端框架。并且配备了 Unity 客户端库,主要在 Unity 生态中比较流行。

采用 ET 框架制作的网络游戏案例很多,小到个人,大到团队都在用。

同时, ET 框架还有配套的诸多新手课程,对于熟悉 C#,或者客户端使用 C# 语言的开发者来说,非常不错。

due

  • 开发语言:Golang
  • 游戏服务端框架,其节点式的抽象架构使我们很容易写出可扩展的分布式游戏服务器。

美中不足的是使用案例较少、理解门槛较高。

但以我们的观察来看,这个项目的实用价值非常高,并且更新频繁,值得期待。

ioGame

  • 开发语言:Java

这是一个实用性非常强的 Java 游戏服务端方案,作者写了近 30 万字的说明书。

但可能是宣传比较低调,喜欢 Java 的朋友可以试试。

我的好几个朋友公司,Java 游戏服务端使用的都是这个 ioGame。

Pomelo (已停更)

  • 开发语言:Javascript

Pomelo 是网易团队开源的一个基于 NodeJS 的游戏服务端框架,配置了完整的游戏服务和Web服务。

但这个项目于 2019 年停更了。如果对 Pomelo设计理念很喜欢,想要继续使用的朋友,这里有两个变种可以选择:

Pinus

Pomelo 的 TS 版本,特性与 Pomelo 一样,只是变成了 TS 版本,不怎么更新。

Pitaya(推荐)

Pomelo 的 Golang 版本,是一个有线上产品的团队开源出来的框架,更新频率不算高,但一直保持更新。

写在最后

对于服务端框架的选择,我建议按下面的情况来选:

  • 如果有祖传的、稳定的、满足需要的方案,就优先使用。
  • 优先选择还在更新的、用的人多的
  • 优先选择编译型语言(PHP/LUA/PYTHON就算了)
  • 优先选择前后端同一个语言的

上面的这些框架,要么过于追求通用,只完成了一些底层建设,比如 TSRPC、skynet、due。

导致用户在构建项目时,依然需要完成大量的基础工作。

还有一些框架,追求大而全,塞了太多用得到和用不到的东西,学习成本很高。比如 ioGame、Pomelo、ET、ColySeus。

对此,麒麟子认为,服务端解决方案应该做到精而美,要针对具体的游戏类型进行构建,才能减少大家的使用成本。

下一篇会给大家分享网络游戏开发技术方案归类,以方便大家快速进行技术选型。

上面的框架中,如果要选的话,你喜欢哪一个呢?大家还有哪些框架要补充呢?

游戏服务端开发之基础概念扫盲篇 从事手游服务端开发也快3年了,整理了一份资料,介绍在开发过程中碰到的概念以及自己的理解,希望能够帮到即将从事该职业的朋友。 阅读详情

相关推荐

探索KBEngine:MMO游戏服务端引擎的开源之旅

在数字游戏世界中,一个高效稳定的游戏引擎是连接玩家与虚拟世界的桥梁。KBEngine作为一款成熟的网络游戏服务器框架,以其高性能、高可定制性的特点,在业界获得了广泛的关注和认可。本章我们将探索KBEngine的起源、核心功能以及与其他引擎相比的优势。

weixin_33814090的博客 1114

io类游戏快速开发 2

转自:https://cowlevel.net/article/2005281   服务器端 服务器端比较简单,可以根据colyseus(https://github.com/gamestdio/colyseus)官方文档提示,安装。然后新建rooms/IOGRoom.ts用来处理服务器逻辑。 colyseus已经将房间查询,玩家匹配之类的常见功能实现,我们只需要在IOGRoom.ts里实...

weixin_34319817的博客 909

AT91SAM9260搭建LINUX操作系统

一、 编写目的 2 二、 系统搭建 2 1. 下载相关软件包 2 2. Bootstrap编译 3 3. U-BOOT编译 5 4. LINUX编译 7 5. 通过U-BOOT的TFTP命令从TFTP服务器下载系统镜像 9 6. 文件系统制作 10 7. 挂载NFS作为根文件系统 10 三、 总结 14 一、编写目的 本文档用于记录AT91SAM9260 LINUX学

lshiceman的专栏 7412

Pomelo:网易开源基于 Node.js 的游戏服务端框架

  Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo 不但适用于游戏服务器开发, 也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时 Web 框架扩展性更好。       Pomelo 特性 快速、易上手的游戏...

weixin_34183910的博客 554

Windows下通过Ollama安装使用DeepSeek本地大模型

本地安装运行Deepseek大模型

canbaojun的博客 1283

Word | 简单可操作的快捷公式编号、右对齐和引用方法

在理工科论文的写作中,涉及到大量的公式输入,我们希望能够按照章节为公式进行编号,并且实现公式居中,编号右对齐的效果。网上有各种各样的方法来实现,操作繁琐和简单的混在一起,让没有接触过公式编号的人感觉比较混乱。笔者自己博览相关博客,亲身实践,总结出一套自认为比较简便的公式编号、对齐和引用方法,在这里分享给大家~

qq_43466146的博客 3万+

游戏服务端架构简析

文档主要记录一些流行的服务端架构,并以FPS游戏架构为例,谈谈一些游戏服务端开发可能遇到的问题。

宣小K的博客 4837

给jetson nano 安装AX200网卡驱动

几经波折,因为在网上看到的基本都是amd版本而非arm版,然后最终选定V5.5是因为更新的几个版本的arm版本是false的(在https://kernel.ubuntu.com/~kernel-ppa/mainline/处选择版本时,得看在arm64上是false还是build succeeded,之前没经验呀刚刚才顿悟的) 1,参考文章https://blog.youkuaiyun.com/MIRANA0/article/details/106696334 学到了得下载如下四个: wget https://k

发嘎嘎的博客 2345

独立游戏开发需要吃透这几类游戏源码!

本文分析了当前游戏服务端框架存在的三大痛点:过于简单功能不足、大而全导致冗余、缺少配套客户端示例。作者将网络游戏按技术分为弱联网、弱联网+强联网、强联网三类,并据此提出四大服务端模板方案:休闲卡牌类、房间对战类、MMO类和重度SLG类。其中MMO类涵盖最全面的游戏功能,适合开发学习。文章最后提供了226款小游戏源码合集资源,帮助开发者快速进入实战开发。

leadink_的博客 1230

知识图谱初步学习(一)——本体+Protege新手学习

文章目录前言(本体详解)1.本体概念2.本体分类3.本体组成4.本体构建方法一、protege简介二、软件使用步骤1.安装2.使用三、问题解决方案汇总 前言(本体详解) 在开始学习知识图谱的过程中,首先就是要了解什么是本体(ontology)。 1.本体概念 本体的概念最初源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体是可以在语义的层次上来对知识进行描述,可以看做是某一个领域知识的通用模型。 本体是从客观世界中抽象出来

qq_43654669的博客 3万+

在MacBook上直接跑Windows Server 2022:一个开发者的真实踩坑与配置全记录

本文详细记录了在MacBook上原生运行Windows Server 2022的完整流程与优化技巧。通过Boot Camp实现非虚拟机安装,开发者可以充分利用Mac硬件性能,搭建高效的本地开发环境,特别适合需要测试跨平台应用和服务器功能的场景。文章涵盖驱动处理、分区策略、Docker配置等关键步骤,为技术极客提供实用指南。

weixin_42620913的博客 247

GitHub关注度TOP20:前端开源项目大盘点

Create React App简化了React开发的入门门槛,是前端初学者和经验丰富的开发者都喜爱的项目之一。介绍:Webpack是一个模块打包器,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的顺序打包成一个或多个合适的文件。它提供了一套完整的设计规范和高质量的React组件,帮助开发者快速构建出美观且易用的界面。介绍:Nuxt.js是一个基于Vue.js的开源框架,提供了静态文件服务、热加载、代码分割、服务端渲染等高级功能。React的生态系统庞大且活跃,拥有众多优秀的第三方库和工具。

wujiayu31415的博客 1946

详解vit_base_patch16_224

ViT-Base模型的核心思想是将输入图像划分为多个小块(patches),并使用Transformer架构来处理这些小块。具体来说,ViT-Base使用16x16像素的patch大小,输入图像的尺寸为224x224像素,这意味着每张图像将被划分为49个patch(22416×22416=14×14=19616224​×16224​=14×14=196个patch)。ViT-Base(ViT-B/16)通过将图像处理任务转化为序列处理任务。

具身机器人和通用AI 3225

2024年关于游戏服务端的搭建_游戏服务端怎么写,面试宝典

如果客户端设置的链接协议是UDP,那就将tcp改为UDP,若是不知道客户端程序写的链接方式到底是什么,可以写两条将这俩都转发了。不过如果不写协议会报错的。如果不想改不同的端口,倒也可以简单粗暴的,将访问云主机的所有数据统统转发到本地,但这样的话,云主机的其他功能就都会受到影响,不建议这样(云主机上没有其他服务倒也可以这样)。还有记得防火墙开启转发功能,否则可能服务器的内网网卡收不到数据报文。有的游戏,本地服务器还配有网站等等例如gm简易工具,需要我们在外网也能访问。

2401_84976434的博客 1387

【Mode】微带传输线阻抗

微带线,英文名称为 (Microstrip) 是一种常见的平面传输线,主要用于传输微波频率信号(通常在射频和微波电路重中使用)。

u011699626的博客 243

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

浅谈游戏服务端开发-架构

网络游戏程序分为客户端和服务端。客户端负责图形渲染、交互和一些简单校验处理,服务端负责业务逻辑处理、数据存储。 我们开发一个游戏demo,服务端程序可以是一个单线程的服务进程。它包含网络通信、业务逻辑处理、数据存储。服务端打开网络端口监听,客户端通过网络连接到服务端,服务端接入连接。客户端发包给服务端,服务端接收到包后进行解析,调用对应的处理程序进行处理,处理程序处理成功后,修改数据并保存下来,再把响应包封包发送给客户端。 简单的数据存储可以保存在文件里。当用户量逐渐增加,数据存储的性能、完整和安全

m0_73635418的博客 4360

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

游戏服务器搭建(仅供参考)

选择按流量付费即可:因为linux系统占用内存少, 所以镜像选择使用Linux的即可(此处选用Ubuntu 20.04 64位);预算低,以及基友服的话,选择按流量付费即可;

qq_63169694的博客 6535

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

非常强的一款开源的分布式游戏服务端引擎(kbengine)

KBEngine是一款开源mmog服务端引擎, 使用统一协议能够轻松与前端对接,能轻松使用unity3d、 ogre、 cocos2d、 html5、unreal、cryengine等作为前端表现。 底层框架由c++编写, 逻辑层使用python, 开发者无需重复实现一些通用的底层服务端技术, 使开发者能够真正集中精力到游戏开发上来, 快速打造各种游戏。 源码地址: KB

damagek的专栏 2943

游戏服务端架构演进

对于网络游戏,一般分为客户端和服务端,客户端主要负责界面图像的渲染与一些交互操作,服务端主要负责数据的业务处理与存储还有与客户端之间的信息交互比如玩家聊天、广播通知、玩家修改名称等操作基本都需要一个游戏服务器充当消息的生产者、消息的消费者、消息的中转站这次分享先到这,后面可能会在添加一些新的内容与功法,助力各位道友神功大成。

https://github.com/cv70 1348

总结:那些热门的开源游戏服务器框架,还不看你就out了

总结:以上框架自己基本上都运行部署并且了解过大致的框架结构,经过项目内的了解,相信对上手这块难度也会比较简单, 如果看完了,别犹豫,试着自己去实操一下吧!几月c++支持c#/lua,是一个轻量级,快速,可扩展的分布式插件框架,基于Bigworld的思想,可用作MMO RPG / MOBA游戏旖旎情 、云风大神的框架这个基本上使用很多的, c+lua的框架。网易开源的框架,支持分布式, 周边完善 一个用于Node.js的快速,可扩展的分布式游戏服务器框架。商业转载请联系作者获得授权,非商业转载请注明出处。

shuzhengjiang的专栏 3049

探秘MaNGOS:一款强大的开源游戏服务器端引擎

探秘MaNGOS:一款强大的开源游戏服务器端引擎 是一个高度可定制的游戏服务器端引擎,主要用于模拟大型多人在线角色扮演游戏(MMORPG)环境,尤其以支持《魔兽世界》闻名。这个开源项目允许开发者和爱好者构建自己的在线游戏世界,或者进行游戏开发的研究与学习。 项目简介 MaNGOS 的设计目标是提供高效、稳定且忠实于原版游戏体验的服务器端解决方案。它由C++编写,采用了模块化的设计,使得不同的部分可...

gitblog_00027的博客 944

【Pitaya官方文档-中文版】1. 概述

Pitaya是一个易于使用、快速、轻量级的游戏服务器框架,灵感来自starx和pemelo,构建在nano的网络库之上。starxandpomelonanoPitaya的目标是为分布式多人游戏和服务器端应用程序提供一个基本的、健壮的开发框架。

岁月失语,惟石能言 2701

开源游戏服务器框架NoahGameFrame(NF)简介(一)

开源游戏服务器框架NoahGameFrame(NF)简介(一)

虚粒世界 3282

推荐开源项目:Game-Server - 游戏服务器解决方案

推荐开源项目:Game-Server - 游戏服务器解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 Game-Server 是由 koolshare 社区成员 小宝 制作的一款高性能的游戏代理服务器,特别针对 UDP in UDP 和 UDP in TCP 模式进行了优化。这款工具旨在解决游戏中的 NAT 穿透问题,确保玩家在各种网络环境下都能享受流畅的游戏体...

gitblog_00081的博客 841

【亲测免费】 推荐开源项目:SCHALE.GameServer——打造属于自己的游戏世界

推荐开源项目:SCHALE.GameServer——打造属于自己的游戏世界 项目介绍 SCHALE.GameServer是一个致力于游戏私有服务搭建的开源项目,它不仅仅是一款简单的工具,更是游戏开发者和玩家的梦想孵化器。该项目允许用户在本地环境中构建类似于官方服务器的游戏环境,享受无限制的游戏体验,探索游戏设计的边界,并进行各种定制化的实验。 项目技术分析 SCHALE.GameServer采用C...

gitblog_00086的博客 1068
上一篇: 用deepseek开发简单的h5小游戏
下一篇: 220多款H5小游戏源码合集 - html+javascript 开发网页小游戏开源源码大合集
爱妮的贝儿
博客等级 码龄1年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值