Unity 使用Photon Server 联网开发(一)配置连接设置流程

Photon官网首页:Photon官网

下载配置Pun与Server的教程:Photon Pun与Server的下载与配置教程

1、 Pun导入项目后配置PhotonServerSettings:

在这里插入图片描述

Hosting(服务器托管方式):
Not Set :未设置
Photon Cloud :Photon云端
Self Hosted :自己搭建的服务器(这里我们是自己配的本地服务器)
Offline Mode:离线模式
Best Region:最佳云端区域

在这里插入图片描述
Protocol:传输层协议(TCP/UDP)
Server Address:服务器地址;
Server Port:服务器端口号;默认为5055
appId:Photon账号的appId
Join Lobby:是否自动加入大厅

2、启动Server

打开photoncontrol:(如果还未安装,根据 教程 进行安装)
在这里插入图片描述
打开后任务栏处会有该图标的显示:
在这里插入图片描述
本地服务器配置的ip与Unity PhotonServerSettings文件配置的ip一致;
在这里插入图片描述
运行photon服务器
在这里插入图片描述
点击开启server后可以通过log查看是否成功打开:
在这里插入图片描述
在这里插入图片描述
如果不成功,可以重启或者关闭360等软件试一下,

3、创建场景测试能否连接成功

创建一个脚本:PhotonConnection;用来连接游戏大厅:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon;
using Photon.Pun;


public class PhotonConnection : PunBehaviour// 继承与PunBehaviour类
{
	// 记录网络连接状态
    private string temp;

    private void Start()
    {
        // 初始时,打印网络连接状态
        temp = PhotonNetwork.connectionStateDetailed.ToString();
        Debug.Log(temp);

        // 连接Photon服务器
        PhotonNetwork.ConnectUsingSettings("1.0");
    }

    private void Update()
    {
        // 连接状态发生改变是;打印log日志
        if (temp != PhotonNetwork.connectionStateDetailed.ToString())
        {
            temp = PhotonNetwork.connectionStateDetailed.ToString();
            Debug.Log(temp);
        }
    }

    /// <summary>
    /// 连接到MasterServer时的回调函数
    /// </summary>
    public override void OnConnectedToMaster()
    {
        // 连接到服务器后,没有参数时,表示进入默认的游戏大厅
        PhotonNetwork.JoinLobby();
    }

    /// <summary>
    /// 进入游戏大厅时的回调函数
    /// </summary>
    public override void OnJoinedLobby()
    {
        base.OnJoinedLobby();
        Debug.Log("进入游戏大厅了");
    }

    public void OnDisable()
    {
        // 退出时断开与Photon服务器的连接
        PhotonNetwork.Disconnect();
    }
}

新建一个场景;将脚本挂任一物体上,运行,在打印窗口就会看到输出的日志:
在这里插入图片描述

至此,可以成功连接到服务器了。👏👏👏

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Unity连接Photon并实现注册,需要遵循以下步骤: 1. 安装Photon Unity Networking(PUN)插件:在Unity Asset Store中搜索“Photon Unity Networking”并安装。 2. 创建一个新场景:在Unity中创建新场景,并添加一个空物体。 3. 添加PUN设置:将PUN设置组件添加到空物体上。在Inspector视图中,选择PhotonServerSettings,然后将AppId设置Photon账户中创建的AppId。 4. 创建一个注册表单:创建一个UI面板,并在其中添加输入字段(例如用户名和密码)和一个按钮(用于提交注册信息)。 5. 编写注册脚本:创建一个名为“RegistrationScript”的新脚本,并附加到注册按钮上。在脚本中,使用Photon的用户管理API注册新用户。以下是一个示例: ``` using UnityEngine; using UnityEngine.UI; using Photon.Realtime; using Photon.Pun; public class RegistrationScript : MonoBehaviourPunCallbacks { public InputField usernameField; public InputField passwordField; public void RegisterUser() { string username = usernameField.text; string password = passwordField.text; if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { Debug.LogError("Username or password is empty"); return; } AuthenticationValues authValues = new AuthenticationValues(); authValues.AuthType = CustomAuthenticationType.Custom; authValues.AddAuthParameter("username", username); authValues.AddAuthParameter("password", password); PhotonNetwork.AuthValues = authValues; PhotonNetwork.ConnectUsingSettings(); } public override void OnConnectedToMaster() { PhotonNetwork.Authenticate(); } public override void OnCustomAuthenticationFailed(string debugMessage) { Debug.LogError("Registration failed: " + debugMessage); } public override void OnCustomAuthenticationResponse(Dictionary<string, object> data) { Debug.Log("Registration successful!"); } } ``` 在上面的示例中,我们使用Photon的用户管理API,通过自定义身份验证注册新用户。在提交注册信息时,我们将用户名和密码添加到AuthenticationValues对象中,并调用PhotonNetwork.Authenticate()方法来验证用户。如果注册成功,OnCustomAuthenticationResponse()方法将被调用,否则OnCustomAuthenticationFailed()方法将被调用。 6. 测试注册:在Unity中启动游戏,并尝试使用注册表单注册新用户。如果一切正常,您应该能够在Photon的控制台中看到新创建的用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值