Skip to Content
CrossingNet
快速上手

安装与启用

把 CrossingNet 放进 Plugins 目录、启用、在 DefaultGame.ini 里配好第一段,再用一条控制台命令确认大厅起来了。

CrossingNet 是普通插件:放进项目的 Plugins/ 目录、启用、配一段 ini 就能用。不依赖 OnlineSubsystem, 不带第三方库,也不改引擎。

放进去

<Project>/
  Plugins/
    CrossingNet/
      CrossingNet.uplugin
      Source/
      Config/
        Presets/        6 份设置预设

目录名与插件名一致最省事。插件配置存在 DefaultGame.ini 的 [/Script/CrossingNet.CrossingNetSettings] 段。

启用

编辑器里 Edit ▸ Plugins 找到 CrossingNet 勾上并重启;或直接写进 .uproject:

{
  "Name": "CrossingNet",
  "Enabled": true
}

C++ 侧引用

模块要依赖 CrossingNet 才能拿到头文件:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "CrossingNet" });

蓝图侧不需要这一步:子系统都把函数标成 BlueprintCallable / BlueprintPure 了,事件是 BlueprintAssignable 动态多播。

最小配置

下面这些项够跑通第一局。左边的值就是代码里的默认值,可以只写要改的:

配置项默认值说明
ServerExePath空大厅拉起的可执行文件;开发期指向编辑器
ServerArgsPrefix空拼接在可执行文件后的整行参数
RoomMapPackage空房间进程加载的地图(常用 /Engine/Maps/Entry)
GamePortRange(57000, 57100)房间游戏端口段(UDP)
HealthPortRange(58100, 58150)房间健康端口段(TCP)
LobbyControlPort57300大厅控制端口(TCP)
JoinTokenSecretcrossing-dev-secret票据签名密钥,生产必须换
JoinTokenTtlSeconds300票据有效期
ReconnectWindowSeconds120.0重连窗口
ReadyCheckSeconds12.0确认超时
TravelTimeoutSeconds20.0旅行超时
bAutoTravelOnAssignmenttrue收到分配自动旅行
MaxInstances8实例上限
bEnableWarmPoolfalse预热池

写进 Config/DefaultGame.ini:

[/Script/CrossingNet.CrossingNetSettings]
ServerExePath=<UE>/Engine/Binaries/Win64/UnrealEditor.exe
ServerArgsPrefix="<Project目录>/<Project>.uproject -server -game -unattended -nullrhi -nosound"
RoomMapPackage=/Engine/Maps/Entry
LobbyControlAddress=127.0.0.1:57300
PublicAddress=127.0.0.1
bRequireJoinToken=True
JoinTokenSecret=crossing-dev-secret

<UE> 是引擎根目录(那一层里直接能看到 Engine 文件夹),<Project> 是工程名;引擎可执行文件在 <UE>\Engine\Binaries\Win64\ 下,别漏中间那层 Engine。ServerArgsPrefix 整行用一对引号包住,内部不要再出现引号,否则 UBT 解析参数时会错位。

上面端口用的是默认值。README.md 里那份样例写的是 57100–57150,那是示例值,不是默认值; 两处不冲突,但改的时候以你 ini 里写的为准。

五类配置

146 个配置项按用途分成 13 类,常用的五类:

01 模式与基础      模式配置(1v1 / 2v2 / 5v5 / FFA4 / 3T2 …)
02 服务器与房间    可执行文件、端口段、探测、回收
03 匹配与队列      Elo 窗口、等待上限、预热池、Bot 补位
04 身份与令牌      票据密钥、TTL、重连窗口、单会话
05 对局规则        时长、投降、Remake、AFK、秒退惩罚

完整清单见配置参考。

确认它起来了

控制台执行:

CrossingNet.Status

输出是实例表与匹配队列的快照。日志在:

<Project>/Saved/Logs/<Project>.log                  大厅
<Project>/Saved/CrossingNet/Logs/instance_<端口>.log  每个房间进程

生产环境要换的三样

项开发默认生产
ServerExePath编辑器可执行文件打包出来的 <Project>Server.exe
ServerArgsPrefix带 .uproject 与 -game -nullrhi留空,参数走 ExtraServerArgs
JoinTokenSecretcrossing-dev-secret32 位以上随机值;短密钥启动时会告警

PublicAddress、LobbyAddress、LobbyControlAddress 也要换成真实地址,否则客户端拿到的是 127.0.0.1。

下一页:跑通第一个对局。

On this page