example
example

心得 GTA6多人联机平台与服务端预测和探讨

JaysonLiu

洛圣都地头蛇
管理成员
FiveM版主
论坛元老
高级用户
认证用户
黄金
20.00G
本文仅对目前多人联机平台和服务端技术框架设计与未来多人联机平台和服务端技术框架设计进行主观评价和预测。

题外:在GTA6多人联机平台发布后,我将筹备计划和组织开发GTA6全新RP服务端

FiveM 的架构是典型的前后端不分离模式(一坨屎)

未来GTA6上线到明确的多人联机平台后,才可知晓平台架构,但明确一点实现多人在线联机底层就是Secket

我预测未来不管由CitizenFX Collective团队开发GTA6联机平台“SixM?”或Rockstar Games亲自下场,我均认为会使用前后端分离的架构进行设计与开发。

预测原因:

  • 前后端分离架构安全性越高与前后端不分离架构。
  • 前后端分离架构,有利于开发与维护。
  • 使用前后端分离架构,所有的脚本不再是文件需要存放到服务器,而是模组开发者自行托管只需发布对应的后端API,供前端进行请求返回相应结果。当然这样模组开发者就不用担心付费脚本卖出去了结果泄露了保护开发价值,后端API请求需要进行OA2或者其他key验证。甚至可以加入公私密钥进行加密处理使得数据更加安全。
  • 使用前后端分离架构,前端即为玩家服务器,后端为脚本开发者,每一个脚本都变成了一个微服务。开服只需要找到想要的脚本对接API即可。
  • 所有的模组、脚本、功能插件都好,均可以进行热更新热修复。后端开发或更新,无需重启前端玩家服务器,就算后端崩了前端玩家不受影响,只是某一功能不可用。
  • 大大降低DDOS攻击的威胁程度,因为开服成本极低,前端被打崩了只需要换个ip或者换个服务器重新开启前端服务即可。DDOS攻击成本反而大大增加了。
  • 前端只需要做简单的软防,如:关闭所有端口仅开放一个玩家访问端口即可,后端只需要将所有端口关闭,仅开放与前端通信的端口即可,并对端口配置限制ip访问(白名单)以及对API进行公私密钥加密最大程度的软防,其他交给CDN和机房硬防。
  • 前端为了让玩家对某些静态资源的高速访问还可以独立配置OSS对象存储和CDN内容分发。
  • 以上部分内容属于商业级解决方案,但随着技术的迭代和封装,大部分技术使用门槛很低。
  • 还有很多原因和新的技术特性,前后端分离架构的解决方案优于前后端不分离。

使用前后端分离架构开发的游戏平台举例:
  • Fortnite(堡垒之夜)
  • League of Legends(英雄联盟)
  • Minecraft
  • Genshin Impact(元神)

在现有FiveM平台,使用前后端分离架构进行开发服务端,在技术层面完全可行,但成本较高,包括但不限于时间、人员精力、产品价值。
通过前后端分离的方式,可以在FiveM平台上开发一个全新的服务端。前端使用现代Web技术React、Vue、Angular进行开发,后端使用Java、Go等处理业务逻辑和实时通信,FiveM服务器通过HTTP请求或WebSocket与后端进行通信。合理的架构设计和技术选型可以提高系统的开发效率、可扩展性和性能。


以下是对两种架构的解析说明:

前后端不分离
即为单体架构(Monolithic Architecture)
特点
  • 单体应用:前后端代码在同一个项目中,通俗理解同在一个文件夹。
  • 服务器渲染:服务器负责处理用户所有的业务请求,并返回给客户端。
  • 集中部署:整个应用作为一个单体进行部署和运行。
优点
  • 简单部署:一个部署单元,简单易懂。
  • 简单开发:前后端代码紧密结合,方便开发和调试。
  • 即时渲染:服务器处理业务,客户端加载后显示即可,无需等待额外的API请求或其他模块。
缺点
  • 扩展性差:单体应用模块增大后,维护和扩展困难。
  • 部署复杂:每次修改后都需要重新部署整个应用,可能影响稳定性。
  • 前后端耦合:前后端代码紧密耦合,难以独立开发和部署。
示例
用户 => [服务器] => [后端逻辑] => [数据库] => [前端渲染]

前后端分离即为
  • 前后端分离架构(Decoupled Architecture)
  • 微服务架构(Microservices Architecture)
特点
  • 独立开发:前端和后端代码独立管理,前端即客户端效果和单机业务,后端即需要与服务器持久化通信、请求后端API。
  • 前端渲染:前端通过调用后端API获取数据,在客户端进行渲染。
  • 独立部署:前端和后端可以独立部署和扩展。
优点
  • 可扩展性:前端和后端可以独立扩展,提高系统弹性。
  • 灵活性:可以使用最适合前后端的技术栈,提升开发效率和性能。
  • 独立开发:前后端团队可以并行开发,提高开发效率。
缺点
  • 复杂性增加:需要处理跨域问题和前后端通信,增加了系统复杂性。
  • 部署成本:前后端需要独立部署和维护,增加了运维成本。
  • 性能问题:首次加载可能较慢,需要额外的性能优化。
示例
用户 => [前端服务器(静态资源/FiveM平台)] => [CDN] => [API服务器(后端逻辑)] => [数据库]
 
由版主最后编辑:
非常不错的探讨,有深度
 
本文仅对目前多人联机平台和服务端技术框架设计与未来多人联机平台和服务端技术框架设计进行主观评价和预测。

题外:在GTA6多人联机平台发布后,我将筹备计划和组织开发GTA6全新RP服务端

FiveM 的架构是典型的前后端不分离模式(一坨屎)

未来GTA6上线到明确的多人联机平台后,才可知晓平台架构,但明确一点实现多人在线联机底层就是Secket

我预测未来不管由CitizenFX Collective团队开发GTA6联机平台“SixM?”或Rockstar Games亲自下场,我均认为会使用前后端分离的架构进行设计与开发。

预测原因:

  • 前后端分离架构安全性越高与前后端不分离架构。
  • 前后端分离架构,有利于开发与维护。
  • 使用前后端分离架构,所有的脚本不再是文件需要存放到服务器,而是模组开发者自行托管只需发布对应的后端API,供前端进行请求返回相应结果。当然这样模组开发者就不用担心付费脚本卖出去了结果泄露了保护开发价值,后端API请求需要进行OA2或者其他key验证。甚至可以加入公私密钥进行加密处理使得数据更加安全。
  • 使用前后端分离架构,前端即为玩家服务器,后端为脚本开发者,每一个脚本都变成了一个微服务。开服只需要找到想要的脚本对接API即可。
  • 所有的模组、脚本、功能插件都好,均可以进行热更新热修复。后端开发或更新,无需重启前端玩家服务器,就算后端崩了前端玩家不受影响,只是某一功能不可用。
  • 大大降低DDOS攻击的威胁程度,因为开服成本极低,前端被打崩了只需要换个ip或者换个服务器重新开启前端服务即可。DDOS攻击成本反而大大增加了。
  • 前端只需要做简单的软防,如:关闭所有端口仅开放一个玩家访问端口即可,后端只需要将所有端口关闭,仅开放与前端通信的端口即可,并对端口配置限制ip访问(白名单)以及对API进行公私密钥加密最大程度的软防,其他交给CDN和机房硬防。
  • 前端为了让玩家对某些静态资源的高速访问还可以独立配置OSS对象存储和CDN内容分发。
  • 以上部分内容属于商业级解决方案,但随着技术的迭代和封装,大部分技术使用门槛很低。
  • 还有很多原因和新的技术特性,前后端分离架构的解决方案优于前后端不分离。

使用前后端分离架构开发的游戏平台举例:
  • Fortnite(堡垒之夜)
  • League of Legends(英雄联盟)
  • Minecraft
  • Genshin Impact(元神)

在现有FiveM平台,使用前后端分离架构进行开发服务端,在技术层面完全可行,但成本较高,包括但不限于时间、人员精力、产品价值。
通过前后端分离的方式,可以在FiveM平台上开发一个全新的服务端。前端使用现代Web技术React、Vue、Angular进行开发,后端使用Java、Go等处理业务逻辑和实时通信,FiveM服务器通过HTTP请求或WebSocket与后端进行通信。合理的架构设计和技术选型可以提高系统的开发效率、可扩展性和性能。


以下是对两种架构的解析说明:

前后端不分离
即为单体架构(Monolithic Architecture)
特点
  • 单体应用:前后端代码在同一个项目中,通俗理解同在一个文件夹。
  • 服务器渲染:服务器负责处理用户所有的业务请求,并返回给客户端。
  • 集中部署:整个应用作为一个单体进行部署和运行。
优点
  • 简单部署:一个部署单元,简单易懂。
  • 简单开发:前后端代码紧密结合,方便开发和调试。
  • 即时渲染:服务器处理业务,客户端加载后显示即可,无需等待额外的API请求或其他模块。
缺点
  • 扩展性差:单体应用模块增大后,维护和扩展困难。
  • 部署复杂:每次修改后都需要重新部署整个应用,可能影响稳定性。
  • 前后端耦合:前后端代码紧密耦合,难以独立开发和部署。
示例


前后端分离
即为
  • 前后端分离架构(Decoupled Architecture)
  • 微服务架构(Microservices Architecture)
特点
  • 独立开发:前端和后端代码独立管理,前端即客户端效果和单机业务,后端即需要与服务器持久化通信、请求后端API。
  • 前端渲染:前端通过调用后端API获取数据,在客户端进行渲染。
  • 独立部署:前端和后端可以独立部署和扩展。
优点
  • 可扩展性:前端和后端可以独立扩展,提高系统弹性。
  • 灵活性:可以使用最适合前后端的技术栈,提升开发效率和性能。
  • 独立开发:前后端团队可以并行开发,提高开发效率。
缺点
  • 复杂性增加:需要处理跨域问题和前后端通信,增加了系统复杂性。
  • 部署成本:前后端需要独立部署和维护,增加了运维成本。
  • 性能问题:首次加载可能较慢,需要额外的性能优化。
示例
So你的观点很不错,但是我猜测大概率是由他们收购的团队进行开发,也就是cfx。或许你没有考虑到一些问题,我的观点呢,这仅是我个人的猜测,如果是 Api模式那样会很愚蠢。不过我希望以后的开服门槛能够高一点点。这样像我们这样有点技术能力的。能够开服现在之所以fivem。在国内的圈子气氛这么烂,根本就是开服务成本太低了。总的来说,我认为请求api是不太可能。总的来说我看了看好你伙计。
 
正常来说官方自己不会自己下场搞私服,这本来就是一块无法规范的灰色地带,想管理的话,网易我的世界那个抽象联机房间就是个例子,除非各种资源强制审查后才能使用,但是这样就失去了开发的自由度,当然对玩家来说其实影响不大,总之官方不太可能搞这个

cfx.re团队的话,就算被收购了,fivem实际上没见得有多大变化,实际上还更烂了,他们被招进去应该是类似于外包工作室一样打杂的,我不认为rockstart现在重视私服这个东西

如果官方不下场的话,玩到GTAVI的私服我估计大概五年左右吧,上线一两年,主机独占一两年,上PC后模组社区再发展一两年,反正快不了,到时候各位还在不在就难说了,全凭缘分。坏消息是即使GTAVI短期内不太可能会出RP服,但是它对于fivem活跃度的影响是巨大的,在玩家群体大量重叠的情况下我相信更多人对于GTAVI线下和FIVEM私服的选择是毫无疑问的

命名这块,从GTA3D时代就在研究模组制作的我更愿意相信它会像是VCMP,SAMP,IVMP这样的命名方式,以系列简写+MP即为VIMP,FiveM用系列号英文+单M我估计仅仅至少VMP少一个字母不好听,从意思角度来看,MP通常指multiplayer(多人游戏),而SP指Singleplayer(单人游戏),这在可读性方面是约定俗成且毫无异议的

对于架构问题,fivem目前的模式就类似于服务器所有者本人就是开发者,源码直接放服务端,全部部署到一起更加简单可靠,同时也更容易搞事>_<,我目前不太支持采用分体部署,就光是国外插件的CDN放到国内都是灾难,我对于除了自己以外的系统极为不信任,所以不怎么愿意参与整个体系建设,这个东西只能说很吃环境,我更倾向于个人独善其身,私服这种灰色地带人多力量往往不会大,而是背地里互相搞事,这我是深有体会的。总之资源放哪无所谓,反正必须能在自己手里,和一些未知的东西建立依赖我觉得是灾难性的,并不会带来多少便利性,我本人也不使用什么托管插件=.=
 
后退
顶部