【UE4】解决局域网联机游戏连接不上的问题

动机

在尝试开发局域网联机游戏的时候,有看过UE4官方文档和一些博主的博客,都非常有用。而针对是否能够和小伙伴真正连上游戏,我总结了一些需要注意的点。希望对你的联机游戏开发有帮助。

1.创建GameInstance

  • 亲测如果不适用GameInstance,直接在UI加入会话会失败
    在这里插入图片描述
    在这里插入图片描述
  • 创建一个GameInstance,然后在项目设置中设置游戏实例类

2. 创建,寻找和加入会话

在这里插入图片描述

  • 在GameInstance类里面添加Create和Join事件,分别是服务端和客户端需要执行的操作。
  • 这里是假设只有一个房主,当然可以根据实际情况改写

注意点:

  1. 创建,寻找和加入会话的PlayerController一定要连上玩家控制器,否则会执行失败。
  2. 创建会话和寻找会话的两个int数字不能设置为0
  3. UseLAN我推荐勾上
  4. 打开关卡,需要在Options里输入listen,表示服务器聆听

3. 创建UI

在这里插入图片描述
在这里插入图片描述

  • 创建一个UI,简单加上按钮和文字。

在这里插入图片描述

  • 绑定按钮点击事件到调用GameInstance里写好的事件

4. 本地测试方法

在这里插入图片描述

  • 我们怎么知道我们能不能正确加入房间呢,那就需要这样操作。
  1. 选择玩家数量,至少2个
  2. 网络模式选择:运行Standalone(否则一开始就是一个房间的了,不需要连接)
  3. 选择独立进程游戏,模拟实际运行情况

在这里插入图片描述

  • 其中一个房间创房间,另外一个加入房间就行了。
  • 加入可能会有点慢,如果加入不了,就去print查看是寻找会话失败还是加入失败

在这里插入图片描述

  • 成功加入的情况

5. 和小伙伴联机测试

  • 如果在本地测试成功了,就可以打包运行,和小伙伴用两台设备分别创建和加入房间了。
  • 我们需要做的就是让两台设备都在一个局域网下,可以用手机热点。
  • 但是有时候小伙伴并不能找到你的房间,这可能就是网卡设置的问题。

在这里插入图片描述

  • 进入网络和Internet,点击更改适配器选项
    在这里插入图片描述
  • 把除了局域网以外的网卡禁用,然后再试一试吧

猜你喜欢

转载自blog.csdn.net/Alexander_420/article/details/124873941