Skip to content

命令行参数

在启动 Fantasy.net 时,用户需要配置一系列参数,这些参数用于指定要启动的特定进程。通过设置这些参数,用户可以更轻松地启动目标服务器,从而提升系统管理的效率并简化操作流程。
只需在启动命令后添加指定的参数,格式为 --参数名 后接一个空格,再输入对应的参数值即可。

启动指定的进程

参数名:pid。
参数值:该进程的 ID 与 ProcessConfig 的 ID 相关联。此参数只能传递单个 ID,不支持传递多个 ID。

示例

dotnet Run App.dll --pid 1

启动组

参数名:g。
参数值:用于启动与 ProcessConfig 中的 StartupGroup 关联的所有进程 (Process)。

示例

dotnet Run App.dll --g 1

服务器运行模式

参数名:m。
参数值:支持的两种运行模式:

  • Develop(开发模式):此模式用于启动配置表中的所有进程(Process)。开发模式下,日志默认输出到控制台,因该模式会阻塞主线程,因此仅适用于开发和调试环境,不能用于生产环境。
  • Release(发布模式):此模式根据指定的进程ID(pid)或参数(g)启动特定的进程。发布模式下,日志默认使用NLog记录,并存储在当前目录的上一级目录中的Log文件夹下。此模式适用于生产环境,确保日志记录的可靠性和可追溯性。因此,在实际部署到线上环境时,必须使用此模式。

示例

dotnet Run App.dll --m Develop  // 开发模式
dotnet Run App.dll --m Release  // 发布模式

服务器之间通讯的网络协议

参数名:n。
参数值:支持的服务器间通信协议包括以下几种:

  • TCP: 服务器内部通信时使用的传输控制协议(TCP),提供可靠的数据传输。
  • KCP: 服务器内部通信时使用的快速可靠传输协议(KCP),相较于TCP,KCP可以在高延迟和高丢包环境中提供更好的性能。
  • WebSocket: 服务器内部通信时可选的协议(WebSocket)。虽然WebSocket在某些应用场景中具有优势,但在服务器内部通信中并不推荐使用,建议优先选择TCP或KCP。

示例

dotnet Run App.dll --n TCP        // 设置TCP
dotnet Run App.dll --n KCP        // 设置KCP
dotnet Run App.dll --n WebSocket  // 设置WebSocket

配置表文件夹路径

参数名:c。
参数值:配置文件的相对路径。

示例

dotnet Run App.dll --c ../../../Config/Binary 

会话空闲检查超时时间

参数名:t。
参数值:毫秒单位。
服务器默认会对所有与外部网络的连接进行超时监测。如果连接持续时间超过预设的超时时间,服务器将自动中断该连接,以确保系统的稳定性和安全性。

示例

dotnet Run App.dll --t 8000  // 8000单位是毫秒,换算成秒就是8秒 

会话空闲检查间隔

参数名为 i。
参数值:毫秒单位。
此配置用于设定会话空闲检查的时间间隔,决定系统每隔多长时间检查一次会话是否超时。

示例

dotnet Run App.dll --i 5000  // 5000单位是毫秒,换算成秒就是5秒 

组合参数

以上的参数可以灵活组合,每个参数之间通过空格连接。这样您可以根据实际需求,将多个参数一起设置,实现更精确的配置。

如何在Rider或vs2022上设置这个参数呢?
  • 通用配置:创建一个launchSettings.json,在里面的commandLineArgs可以直接设置参数框架里的Examples就是用的此方法。

  • Rider:在Run/Debug Configurations里配置Program arguments里面设置参数。

  • vs2022:资源管理器中右键点击项目名称,然后选择“属性”,在左侧的属性页导航栏中,找到并点击“调试”选项卡,在“调试”页面中,找到“命令行参数”字段。

开发环境示例

dotnet Run App.dll --m Develop --c ../../../Config/Binary

线上环境示例

dotnet Run App.dll --m Release --c ../../../Config/Binary --n TCP

更加多的配置

dotnet Run App.dll --m Release --c ../../../Config/Binary --n TCP --t 2000 --i 4000 --g 1