PUN 2 菜鸟养成记 1连接上主服务

本文介绍了如何在Unity中使用PUN 2插件连接到Photon云服务。通过设置AppID,启动连接过程,理解静态构造方法中的网络配置,以及ConnectUsingSettings()函数的工作原理,详细阐述了连接到主服务器的过程。成功连接后,可以进行创建房间、加入房间等操作。下篇将深入探讨主服务的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PUN官网 https://www.photonengine.com/en/PUN

下载导入好插件之后会自动弹出这个界面

thanks for importing photon unity networking.
this window should set you up
-to use an exiting photon cloud app,enter your appid,
-to register an account or access an existing one ,enter the account's mail address
-to use photon OnPremise ,skip this step.

这里我使用AppID登录 点击 Setup Project

your appid is now aoolied to this project

Done!
All connection settings can be edited in the PhotonServersSettings now.
Have a look

我们关闭这个窗口 ,这个时候跳转到了服务器设置界面

### 配置PUN2 Photon Unity Networking 本地服务器或模拟局域网环境 在开发多人游戏时,有时需要测试网络功能而无需连接到实际的云服务。通过配置PUN2的本地服务器或模拟局域网环境,可以在开发阶段更方便地调试和验证网络逻辑。 #### 使用自定义主机地址 可以通过修改 `PhotonNetwork.PhotonServerSettings` 来指定一个自定义的主机地址来模拟本地服务器或局域网环境。这通常涉及更改默认的云端服务器地址为本地IP地址或其他局域网内的设备地址[^1]。 以下是具体实现方式: 1. **编辑 Photon Server Settings** 打开 Unity 的项目设置窗口 (`Edit -> Project Settings`) 并找到 `PhotonServerSettings.asset` 文件。此文件包含了当前项目的服务器端配置信息。 2. **设定自定义 IP 地址** 将 `AppSettings.FixedRegionServers` 中的一个条目指向本地机器或者局域网中的其他计算机作为虚拟服务器。例如,如果希望使用本机,则可以将该字段设为 `"http://localhost"` 或者具体的 IPv4/IPv6 地址如 `"http://192.168.x.x"`[^2]。 3. **启用离线模式** 如果仅用于单机上的多客户端通信(即不真正启动独立的服务进程),还可以考虑直接调用如下代码片段以跳过常规在线认证流程并立即进入房间: ```csharp PhotonNetwork.ConnectUsingSettings(); ``` 4. **运行多个实例进行测试** - 启动两个及以上版本相同的 Unity Play Mode 实例; - 让它们分别尝试加入同一个 Room Name 下即可观察彼此间的消息传递情况;注意此时可能还需要额外调整防火墙规则允许相应端口通讯正常工作[^3]。 #### 注意事项 - 确保所有参与联机试验的应用程序都加载了完全一致的游戏资源以及脚本行为定义,否则可能导致同步失败甚至崩溃现象发生。 - 对于某些高级特性来说单纯依赖上述简易办法未必能够满足需求,在这种情况下建议深入研究官方文档了解如何搭建完整的专用版 Photon Server 解决方案。 ```csharp using UnityEngine; using ExitGames.Client.Photon; public class LocalhostTest : MonoBehaviour { void Start() { string customAddress = "127.0.0.1"; // Replace with your local or LAN server address. LoadBalancingClient lbc = ((LoadBalancingPeer)PhotonNetwork.peer).LoadBalancingClient; foreach(var region in lbc.ServerList) Debug.Log($"Available Region: {region.Name}"); var newRegions = new Region[]{new Region("custom", new MasterServerAddress[]{new MasterServerAddress(customAddress)})}; lbc.SetCustomRegions(newRegions); PhotonNetwork.ConnectUsingSettings(); } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值