Photon 2 не может присоединиться к случайной комнате

Я новичок в Сети и не могу найти проблему на себе. Я создал систему подбора игроков для своей игры, и она хорошо сработала. Но после некоторых изменений в моей игре она перестала работать.

Он должен создать комнату, если ее нет. Или присоединитесь к случайной комнате. Но он всегда создает новую комнату. нет ошибок и т. д.

вот скрипты, которые должны работать.

Редактировать:

разбил его на этот сценарий:

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

public class PhotonLobby2 : MonoBehaviourPunCallbacks
{
    public static PhotonLobby2 lobby;


    public GameObject battlebutton;

    private void Awake()
    {
        lobby = this;               // create singleton
    }

    void Start()
    {
        PhotonNetwork.ConnectUsingSettings();
    }

    public override void OnConnectedToMaster()
    {
        Debug.Log("connected to masterserver");
        PhotonNetwork.AutomaticallySyncScene = true;
        battlebutton.SetActive(true);
    }

    public void OnBattleButtonClicked()
    {
        PhotonNetwork.JoinRandomRoom();
    }

    public override void OnJoinRandomFailed(short returnCode, string message)
    {
        Debug.Log(message + returnCode);
        Debug.Log(" failed to join random game");
        CreateRoom();
    }

    void CreateRoom()
    {

        PhotonNetwork.CreateRoom("Room");

    }

    public override void OnCreatedRoom()
    {
        Debug.Log("Created Room");
        base.OnCreatedRoom();
    }

    public override void OnPlayerEnteredRoom(Player newPlayer)
    {
        Debug.Log("Entered");
        base.OnPlayerEnteredRoom(newPlayer);
    }
}

Отладка говорит: совпадений не найдено 32760


person James Blond    schedule 14.03.2019    source источник
comment
Попробуйте сузить проблему с помощью отладки. Также я предлагаю использовать систему управления версиями, такую ​​как Git, если вы хотите отслеживать свои изменения и, возможно, вернуться к работающей кодовой базе.   -  person Flame    schedule 14.03.2019
comment
теперь настроили совершенно новую сцену только со сценарием вестибюля. отладка говорит, что места не найдено. также внесли изменения и до сих пор не работают   -  person James Blond    schedule 14.03.2019
comment
Я бы сократил ваш пример, чтобы показать только то, в чем проблема, вместе с правильным контекстом. См. минимальный воспроизводимый пример   -  person Eliasar    schedule 14.03.2019
comment
в этом-то и дело. я не знаю, в чем проблема. подключение к магистерским работам. создание комнаты тоже. просто найти существующее не   -  person James Blond    schedule 14.03.2019
comment
Отредактировал пост.   -  person James Blond    schedule 14.03.2019
comment
Привет, @JamesBlond, у тебя должно быть больше в журналах. Совпадений не найдено 32760 является результатом Debug.Log(message + returnCode);. Вы также должны увидеть «Не удалось присоединиться к случайной игре» и «Созданная комната». Я думаю, что звонить CreateRoom из OnCreateRoomFailed - это не нормально. Это похоже на бесконечный цикл, поскольку вы пытаетесь создать комнату с тем же именем.   -  person JohnTube    schedule 15.03.2019
comment
Создание комнаты - не проблема. Просто фрагмент кода ... Журналы создали комнату и тоже не смогли присоединиться к случайной игре. Только что опубликовал важные вещи.   -  person James Blond    schedule 15.03.2019


Ответы (2)


Я решил эту проблему, проверив свойства комнаты, которую создает первый игрок. Существует переменная Room с именем IsOpen. Если это ложь, то второй игрок не может присоединиться к той же комнате. Я просто установил для него значение true, и теперь он идеально вписывается в ту же комнату.

person Saif Ul Islam    schedule 05.11.2019

Это связано с тем, что два игрока присоединяются к матчам в разных регионах ... вы можете установить это в настройках сервера фотонов Заполнить регион разработки и фиксированный регион одним конкретным регионом сервера, который имеет лучший пинг для вас. Убедитесь, что свойство Use sure name serve также проверено

person Carlos Murray    schedule 26.08.2020