第02节课:创建Orleans游戏服务器工程
搭建Orleans游戏服务器框架(手把手)
·
- 搭建Orleans游戏服务器框架的步骤
- 首先 我们先在电脑上选择一个文件夹,来作为我们创建项目的地方,我这里是使用本地F盘的 Teaching 文件夹
- 先进入这个文件夹,在顶部的输入栏里 输入 cmd,打开命令行窗口
- 我们将输入一段命令行,用来在创建一个服务器端工程OrleansServer 步骤如下
mkdir OrleansServer
# 创建一个名为 OrleansServer 的新目录。这是你将用来存放项目文件的工作目录
cd OrleansServer
# 进入刚刚创建的 OrleansServer 目录。后续的操作将会在这个目录下执行
dotnet new sln -n OrleansServer
# 使用 dotnet new sln 命令创建一个新的解决方案文件。-n OrleansServer 选项指定解决方案的名称为 OrleansServer。
# 解释一下什么是解决方案
# 解决方案文件(.sln)是 .NET 项目的容器,包含一个或多个项目文件 我们这个服务器工程里会有多个项目
dotnet new console -o OrleansServer --framework net7.0
# 创建一个新的控制台应用程序项目,-o OrleansServer 参数指定将项目名字是 OrleansServer
# --framework net7.0 指定项目使用 .NET 7.0 框架
dotnet sln OrleansServer.sln add OrleansServer/OrleansServer.csproj
# 将刚刚创建的 OrleansServer.csproj 项目文件添加到解决方案文件 OrleansServer.sln 中
cd OrleansServer
# 进入到这个OrleansServer.csproj 控制台项目中
dotnet add package Microsoft.Orleans.Server --version 7.0.0
# 通过 dotnet add package 命令为项目添加 Microsoft.Orleans.Server 包,版本是 7.0.0
# Microsoft.Orleans.Server 是 Orleans 框架的核心包,用于构建 Orleans 服务端 (Silo) 实例
dotnet add package Microsoft.Orleans.Core.Abstractions --version 7.0.0
# 添加 Microsoft.Orleans.Core.Abstractions 包,版本是 7.0.0
# 该包提供了 Orleans 核心的抽象类型和接口,通常用于构建 Orleans 中的 Grain 或与 Silo 交互
dotnet add package Microsoft.Orleans.Streaming --version 7.0.0
# 添加 Microsoft.Orleans.Streaming 包,版本是 7.0.0
# 该包为 Orleans 提供了流处理功能,支持消息流和事件流等场景
dotnet add package Microsoft.Extensions.Hosting --version 6.0.1
# 添加 Microsoft.Extensions.Hosting 包,版本为 6.0.1
# 用于构建 .NET 应用程序托管和生命周期管理的扩展包
- 总结一下
1. 创建一个新的 .NET 解决方案和控制台项目
2. 配置该项目为 Orleans 服务端(Silo)项目,并安装必要的 Orleans 包和其他依赖
Microsoft.Orleans.Server 用于运行 Orleans Silo服务器
Microsoft.Orleans.Core.Abstractions 提供 Orleans 的核心抽象
Microsoft.Orleans.Streaming 提供流处理功能
Microsoft.Extensions.Hosting 用于.NET 应用程序的生命周期管理
- 创建了服务器工程后,我们开始 创建主函数Program.cs文件,来启动OrleansServer工程
using Microsoft.Extensions.Hosting;
// 包含创建和管理应用程序生命周期的 API
using Orleans.Configuration;
// 用于 Orleans 配置
namespace OrleansServer
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
IHostBuilder HostBuilder = Host.CreateDefaultBuilder(args);
// UseOrleans:这是一个扩展方法,用于将 Orleans 配置添加到宿主中
// 它接受一个 Action<ISiloBuilder> 委托来配置 Orleans 的 Silo
HostBuilder.UseOrleans(siloBuilder =>
{
siloBuilder.UseLocalhostClustering();
siloBuilder.Configure<ClusterOptions>(options =>
{
options.ClusterId = "ClusterId";
options.ServiceId = "ServiceId";
});
});
// UseLocalhostClustering:配置 Orleans 使用本地集群模式,即 Orleans Silo 会运行在本地机器上
// ClusterId:指定集群的 ID。多个 Silo 可以加入同一个集群来形成一个分布式系统
// ServiceId:指定服务的 ID,通常用于标识服务或分布式系统中的不同应用
return HostBuilder;
}
}
}
可以运行起来!
完整课程在CSDN学院 课程链接 《Orleans7.0 游戏服务器全栈开发实战》
更多推荐
所有评论(0)