GameFrameX.Utility 1.2.0-beta5

This is a prerelease version of GameFrameX.Utility.
There is a newer version of this package available.
See the version list below for details.
dotnet add package GameFrameX.Utility --version 1.2.0-beta5
                    
NuGet\Install-Package GameFrameX.Utility -Version 1.2.0-beta5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GameFrameX.Utility" Version="1.2.0-beta5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GameFrameX.Utility" Version="1.2.0-beta5" />
                    
Directory.Packages.props
<PackageReference Include="GameFrameX.Utility" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GameFrameX.Utility --version 1.2.0-beta5
                    
#r "nuget: GameFrameX.Utility, 1.2.0-beta5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GameFrameX.Utility@1.2.0-beta5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GameFrameX.Utility&version=1.2.0-beta5&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=GameFrameX.Utility&version=1.2.0-beta5&prerelease
                    
Install as a Cake Tool

GameFrameX介绍:

GameFrameX 是基于GeekServer是一个开源的分区分服 的游戏服务器框架,采用C# .Netcore开发,开发效率高,性能强,跨平台,并内置不停服热更新机制。可以满足绝大部分游戏类型的需求,特别是和Unity3D协同开发更佳。
设计理念:大道至简,以简化繁

程序集说明

程序集名称 介绍 用途
GameFrameX.Launcher 程序启动入口 用于编写启动逻辑
GameFrameX.Hotfix 热更新逻辑和处理程序对象放置区(该部分为热更新内容) 用于编写逻辑的地方(主要工作区,目录和Apps目录结构一致)
GameFrameX.Apps 组件和实体对象放置区(该部分不能热更新) 用于编写基础逻辑和数据存储(功能的添加修改主要工作区,目录结构按照ServerType 划分和HotFix对应)
GameFrameX.Config 配置文件对象和配置文件放置区 用于编写配置文件的类和文件的映射(目前由LuBan自动生成)
GameFrameX.Proto 数据通讯协议对象放置区 用于编写通讯协议对象

GameFrameX功能:

1.跨平台

使用C# .Netcore开发(可以跨平台,可以跨平台,可以跨平台),.Netcore现在功能和性能都已经十分强大和稳健,不管是在windows还是linux上部署起来都很简便。

2.全面异步编程

全部采用异步编程(async/await),让逻辑代码变得整洁优雅,清晰易懂,让代码写起来行如流水。

3.TPL(Task Parallel Library) Actor模型

Actor模型构建于强大的TPL DataFlow之上,让Actor模型如虎添翼。(不了解Actor模型,可以搜一下相关资料,Akka,Orleans都是采用的Actor模型)了解更多

4.Actor入队透明化

内部会自动处理线程上下文, 编译期间会通过Source Generator自动生成入队代码, 开发人员无需关心多线程以及入队逻辑, 只需要像调用普通函数一样书写逻辑。了解更多

5.Actor死锁检测

Actor模型本身是存在死锁的情况,且不容易被发现。内部可检测环路死锁(即:A->B->C->A),并采用调用链重入机制消除环路死锁。了解更多

6.支持不停服更新

采用组件+状态的设计,状态只有属性,没有方法,组件只用方法,没有属性,并通过代理的方式全部放到热更dll中,运行时重新加载dll即可热更所有逻辑。了解更多

7.网络模块

网络模块采用SuperSocket的默认服务器Kestrel,支持协议多(Tcp,udp,Http123,websocket,signalr等),而且性能高了解更多

8.持久化透明

采用Nosql作为数据存储,状态的持久化全透明,框架会自动序列化/反序列,让开发人员更加专注于业务逻辑,无需操心数据库。 了解更多

9.Timer/Scheduler/Event

内置线程安全的Timer,Scheduler,Event系统,轻松应对游戏服务器常见的定时,任务计划,事件触发等业务需求。了解更多

10.定期释放不活跃内存数据

以功能系统级别的粒度,定期剔除内存中不活跃的玩家数据,尽最大可能减少服务器内存开销。

运行

  1. 安装.NetCore8.0
  2. 安装mongodb4.x
  3. 打开git clone本项目
  4. 用VisualStudio 或者Rider打开Server.sln 启动 GameFrameX.Launcher
  5. 打开Unity工程,打开Launcher 场景,运行查看日志

文档&例子&Demo

视频教程

参考文档

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (15)

Showing the top 5 NuGet packages that depend on GameFrameX.Utility:

Package Downloads
GameFrameX.NetWork.Abstractions

GameFrameX.NetWork.Abstractions,GameFrameX 框架的基础设施框架库.框架文档主页: https://gameframex.doc.alianblank.com

GameFrameX.NetWork

GameFrameX.NetWork,GameFrameX 框架的基础设施框架库.框架文档主页: https://gameframex.doc.alianblank.com

GameFrameX.NetWork.HTTP

GameFrameX.NetWork.HTTP,GameFrameX 框架的基础设施框架库.框架文档主页: https://gameframex.doc.alianblank.com

GameFrameX.DataBase

GameFrameX.DataBase,GameFrameX 框架的基础设施框架库,用于和数据库交互的接口.框架文档主页: https://gameframex.doc.alianblank.com

GameFrameX.Core

GameFrameX.Core,GameFrameX 框架的基础设施框架库,处理核心业务.框架文档主页: https://gameframex.doc.alianblank.com

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0.2-dev4 490 11/5/2025
2.0.0.2-dev3 299 11/4/2025
2.0.0.2-dev2 299 11/4/2025
2.0.0.2-dev1 370 10/31/2025
2.0.0.2-dev09 1,307 11/24/2025
2.0.0.2-dev08 315 11/24/2025
2.0.0.2-dev07 537 11/20/2025
2.0.0.2-dev06 502 11/19/2025
2.0.0.2-dev05 276 11/7/2025
2.0.0.1-dev9 208 10/25/2025
2.0.0.1-dev8 262 10/20/2025
2.0.0.1-dev7 531 10/14/2025
2.0.0.1-dev6 258 10/13/2025
2.0.0.1-dev4 218 10/10/2025
2.0.0.1-dev3 239 10/10/2025
2.0.0.1-dev2 246 10/10/2025
2.0.0.1-dev1 285 9/29/2025
2.0.0-dev4 277 9/29/2025
2.0.0-dev3 280 9/29/2025
2.0.0-dev2 277 9/29/2025
2.0.0-dev1 279 9/28/2025
1.5.1-dev9 408 3/31/2025
1.5.1-dev7 274 3/29/2025
1.5.1-dev6 283 3/29/2025
1.5.1-dev5 373 3/28/2025
1.5.1-dev47 343 9/20/2025
1.5.1-dev46 417 9/18/2025
1.5.1-dev45 395 9/17/2025
1.5.1-dev44 1,097 8/15/2025
1.5.1-dev43 992 7/18/2025
1.5.1-dev42 390 7/4/2025
1.5.1-dev41 284 7/4/2025
1.5.1-dev40 282 6/28/2025
1.5.1-dev4 745 3/25/2025
1.5.1-dev39 200 6/28/2025
1.5.1-dev38 267 6/17/2025
1.5.1-dev37 288 6/17/2025
1.5.1-dev36 280 6/17/2025
1.5.1-dev35 493 5/26/2025
1.5.1-dev34 515 5/23/2025
1.5.1-dev33 272 5/23/2025
1.5.1-dev32 257 5/23/2025
1.5.1-dev31 263 5/23/2025
1.5.1-dev30 289 5/22/2025
1.5.1-dev3 655 3/24/2025
1.5.1-dev29 297 5/21/2025
1.5.1-dev28 445 5/14/2025
1.5.1-dev27 370 5/13/2025
1.5.1-dev26 386 5/13/2025
1.5.1-dev25 408 5/13/2025
1.5.1-dev24 361 5/13/2025
1.5.1-dev23 352 5/12/2025
1.5.1-dev22 210 5/10/2025
1.5.1-dev21 213 5/10/2025
1.5.1-dev20 206 5/10/2025
1.5.1-dev2 381 3/20/2025
1.5.1-dev19 243 5/9/2025
1.5.1-dev17 230 5/9/2025
1.5.1-dev16 290 5/8/2025
1.5.1-dev15 280 5/8/2025
1.5.1-dev14 291 5/8/2025
1.5.1-dev13 291 4/25/2025
1.5.1-dev10 322 3/31/2025
1.5.1-dev1 289 3/14/2025
1.5.0-dev1 415 3/13/2025
1.4.2 381 2/9/2025
1.4.2-dev9 280 2/19/2025
1.4.2-dev8 289 2/18/2025
1.4.2-dev7 293 2/12/2025
1.4.2-dev6 265 2/11/2025
1.4.2-dev5 263 2/11/2025
1.4.2-dev4 260 2/11/2025
1.4.2-dev3 269 2/11/2025
1.4.2-dev2 339 2/10/2025
1.4.2-dev15 759 3/4/2025
1.4.2-dev14 367 3/4/2025
1.4.2-dev13 278 2/21/2025
1.4.2-dev12 243 2/21/2025
1.4.2-dev11 249 2/21/2025
1.4.2-dev10 249 2/21/2025
1.4.2-dev1 262 2/9/2025
1.4.1 249 2/9/2025
1.4.0 304 2/6/2025
1.3.3 262 2/6/2025
1.3.2 266 2/6/2025
1.3.1 257 2/6/2025
1.3.0-beta2 264 2/5/2025
1.3.0-beta1 257 2/5/2025
1.2.0-beta9 345 12/3/2024
1.2.0-beta8 319 12/3/2024
1.2.0-beta7 311 11/24/2024
1.2.0-beta6 300 11/24/2024
1.2.0-beta5 298 11/24/2024
1.2.0-beta4 295 11/24/2024
1.2.0-beta3 508 11/23/2024
1.2.0-beta22 260 1/24/2025
1.2.0-beta21 256 1/24/2025
1.2.0-beta20 233 1/22/2025
1.2.0-beta19 264 1/17/2025
1.2.0-beta18 257 1/15/2025
1.2.0-beta17 247 1/15/2025
1.2.0-beta16 401 12/28/2024
1.2.0-beta15 346 12/27/2024
1.2.0-beta14 329 12/26/2024
1.2.0-beta13 365 12/19/2024
1.2.0-beta12 327 12/16/2024
1.2.0-beta11 328 12/12/2024
1.2.0-beta10 308 12/11/2024
1.2.0-beta1 384 8/28/2024
1.1.1-beta9 350 8/21/2024
1.1.1-beta7 327 8/21/2024
1.1.1-beta6 321 8/20/2024
1.1.1-beta5 344 8/20/2024
1.1.1-beta4 272 8/4/2024
1.1.1-beta3 303 8/3/2024
1.1.1-beta2 295 8/3/2024
1.1.1-beta1 262 7/29/2024
1.1.0 389 7/20/2024
1.1.0-beta5 266 7/29/2024
1.1.0-beta4 267 7/29/2024
1.1.0-beta3 271 7/29/2024
1.1.0-beta2 275 7/29/2024
1.1.0-beta1 326 7/28/2024
1.0.7-beta13 318 7/19/2024
1.0.7-beta12 274 7/19/2024
1.0.7-beta11 287 7/18/2024
1.0.7-beta10 296 7/16/2024
1.0.6-beta7 260 7/16/2024
1.0.6-beta5 246 7/12/2024
1.0.6-beta4 274 7/11/2024
1.0.6-beta3 254 7/9/2024
1.0.6-beta2 275 7/9/2024
1.0.6-beta1 288 7/9/2024
1.0.6-bata6 246 7/15/2024
1.0.5 284 7/5/2024
1.0.5-beta2 262 7/6/2024
1.0.5-beta1 260 7/6/2024
1.0.5-beta 279 7/6/2024
1.0.4 272 7/4/2024
1.0.3 252 7/4/2024
1.0.0 276 7/3/2024
0.0.7-beta 259 7/4/2024
0.0.6-beta 200 7/4/2024