需要注意几点:
A.
建好后我们先到项目根目录,在Config文件夹中的DefaultEngine.ini文件加上两行:
[OnlineSubsystem]
DefaultPlatformService=Null
B.以下实验针对listen server而不是独立服务器(dedicated server),即Play选项的那个Run Dedicated Server保持默认不勾选
1、网络同步蓝图要继承Character(开始的时候可以使用ThirdPersonCharacter测试),如果继承Pawn,需要自己写客户端向服务端同步的代码,否则会出现一个客户端移动不能同步到服务端和其他客户端
2、新建一个TestGameMode,SpawnActor的时候选择自定义的TestCharacter,截图里面测试的是第三人称角色。在WordSettings里面GameMode选择自定义的TestGameMode
3、在Play下拉列表里MultiPlayer options选择玩家最大数量,截图里面设置的是4。这时候直接点Play,会出现4个窗口,移动任何一个窗口里面的人物,其他三个窗口里面会跟着动
4、打包之后,新建四个快捷方式,在每个快捷方式的“目标”处添加参数(右键快捷方式-属性),例如作为server的要添加?listen(你要是问为什么要加问号?而不是减号-,可以在UE4源码中精准搜索"listen",包括引号,找到蛛丝马迹)
客户端添加127.0.0.1 -game,前一个表示server的IP(本机是127.0.0.1),后一个-game我也说不明白,反正要是不加就不对。client2和client3与client1一样配置。
5、接下来你可以按照任意顺序启动游戏,例如你可以先启动client1,client2,client3,最后启动server,只不过在启动server之前其他client只能看到自己罢了