nathaniel.buck@unity3d.com
d1773d39
Consolidating and renaming for readability. This still represents the baseline Relay + UTP behavior, without removing existing Lobby behavior yet or handling edge cases.
3 年前
nathaniel.buck@unity3d.com
fbb0cb37
Adding inclusion of initial player data to lobby creation/join. Adding logic for Relay hosts to ferry network events from client to client. A bit of progress on changing the flow of user state to account for Relay, but that's still mostly in-progress. Adding client heartbeat to keep the UTP connection alive.
3 年前
nathaniel.buck@unity3d.com
5a114974
Transitioning data handling to Relay, so Lobby will only be responsible for the data useful for getting players into the lobby. I'm also fixing a bug where the lobby list heartbeat would never stop.
3 年前
nathaniel.buck@unity3d.com
90d3890c
Completing the game state shift from lobby to relay. This adjusts the countdown to be interruptible and to properly handle exiting the game and restarting it. I'm also starting to trim a bit from the GameStateManager and the main scene, though most of that is pending.
3 年前
nathaniel.buck@unity3d.com
2a376941
Cleaning up some of the lobby state so that leaving and rejoining/creating new lobbies works properly. Oh, also, I forgot to remove the ArePlayersReadyTime from the lobby, and also had a minor bug with the lobby heartbeat.
3 年前
nathaniel.buck@unity3d.com
838aae18
Fixing a bug where clients in builds would not receive the initial player state upon relay connection. There are also some nitpicks with the tests in here.
3 年前
nathaniel.buck@unity3d.com
454c8146
Adding comments and doing minor renames for clarity.
3 年前
nathaniel.buck@unity3d.com
6346d43d
Looks like the "A Native Collection hasn't been disposed" error at this point is only present due to use not disposing of the NetworkDriver when we're done with Relay.
3 年前
nathaniel.buck@unity3d.com
3045dabc
Modifying UpdateSlow to accommodate differing periods, including acting as a regular Update for subscribers that aren't necessarily MonoBehaviours. I'm also stripping the staggering behavior, since it was unclear and not particularly necessary.
3 年前
nathaniel.buck@unity3d.com
71ab4284
Fix for the "Resetting event queue" error. We were calling NetworkDriver.ScheduleUpdate too many times, which dropped pending events on occasion.
3 年前
nathaniel.buck@unity3d.com
a9d87593
Quick comment change
3 年前
Jacob Stove Lorentzen
221171ef
relay SDK upgrade, removed some redundancies' and brought the publicly available packages out of the Candidates scope.
3 年前
nathaniel.buck@unity3d.com
3638cb6a
Merge of the "resetting event queue" fix branch
3 年前
Jacob Stove Lorentzen
1a5dccac
Merging in latest from Staging
3 年前
nathaniel.buck@unity3d.com
831ba275
Adding in Relay exception handling, though I haven't yet found a way to test it out with more than a couple error types. It seems to work just fine.
3 年前
nathaniel.buck@unity3d.com
c90240f8
Merging the error code exception branch.
3 年前
nathaniel.buck@unity3d.com
8306b622
Basic solution to that bug with the Relay disconnect not happening. This ensures that the disconnects will happen eventually, as the host stops pinging relay on disconnect and also clients will request disconnection from hosts immediately if possible. However, a few more issues to consider addressing: We could boot the host from the lobby manually if a relay disconnect is detected. A client could leave the lobby immediately if the host has left. We need to clean up properly so that the automatic disconnect can be done repeatedly.
3 年前
nathaniel.buck@unity3d.com
d44c2386
Adding in a special case for a client to detect the host leaving the lobby. Verified that we don't need to do additional cleanup. Verified that the host disconnecting from Relay will cause the lobby to disconnect after 10s as expected; this supplies an error popup with the exception, which is fine?
3 年前
nathaniel.buck@unity3d.com
51d51cfa
Adding a few comments for clarification.
3 年前
nathaniel.buck@unity3d.com
20496d52
Adding in a test for DTLS and cleaning up a couple minor points with the DTLS changes. These do not currently work on 2020.3 (since DTLS support has not been ported back yet but will be) but I've tested them on 2021.2.0b11; the test executes just fine, but for some reason in practice there's an issue where we no longer know the correct packet length when reading Relay data. I'm told there should not be any change to this needed on the developer's end when DTLS is active, but investigation is ongoing.
3 年前
nathaniel.buck@unity3d.com
8344a95b
Changing the Relay message parsing to allow for validation of the message length, which was interfering with diagnosing the issue with DTLS. (Turns out it's on their end, and there's a fix coming today. But, this is still an improvement.)
3 年前
nathaniel.buck@unity3d.com
123815cb
Minor logging change, and upgrade package. I've tested in 2021.2.0b11 that this works with DTLS active, although it might need a little more rigor since I had intermittent issues with one editor (but not so much the other?) failing to fully connect to Relay for some reason (i.e. getting stuck in the "Connecting..." state).
3 年前
nathaniel.buck@unity3d.com
e32921b2
Bugs: Adding clarifying comments for Relay + UTP and for some of the design patterns. Adding a rate limit on the lobby host button. Adding a blocker on the spinner so that the lobby list UI can't be interacted with while the spinner is visible (to prevent someone from starting to join a room that's about to be removed from the list).
3 年前
nathaniel.buck@unity3d.com
92365e69
Merge from current staging.
3 年前
nathaniel.buck@unity3d.com
1fc7440a
Primary rejection behavior - A host will reject an incoming client if the lobby is already in the in-game state. Clients will now no longer send data until they are approved, but once approved, connection completes as usual.
3 年前
nathaniel.buck@unity3d.com
e9e2089b
Minor fix - Users would be prevented from joining if the relay request arrived before the host knew that they had joined the lobby.
3 年前
nathaniel.buck@unity3d.com
119e8e33
Switching over to the RelayUnityTransport component, although I'm still using the other Relay allocation to send the NGO relay code so that needs to change. Also note that consecutive games in one lobby fail now, for using the wrong relay code.
3 年前
nathaniel.buck@unity3d.com
114ee0ac
Fixed an issue with RelayUtpClient cleanup where its disconnect message wouldn't get through to the host.
3 年前
nathaniel.buck@unity3d.com
b3bdc3d6
Adding in a call to CheckIfAllUsersReady in the RelayUtpHost within the lobby rate limits, so that if a player disconnects and all remaining players are readied, the countdown will begin. (If and when Wire is integrated, that might obsolesce this.)
3 年前
Jacob Stove Lorentzen
d5286095
Added Comments and clarified some class names.
3 年前
Jacob
06dea12e
renamed the namespace
Renamed the namespace
added a popup for when the user forgets to input their project settings
3 年前
Jacob Stove Lorentzen
8a5b5a31
Renamed LobbyUpdater to Lobby Synchronizer.
Removed Identity Service, Replaced with AuthenticationManager
Removed “private” in front of all private fields.
2 年前
Jacob Stove Lorentzen
567ddd9b
Removed remaining relay changes from synchronizer.
BUG Can't see the Lobby?
BUG Players dont update their state.
2 年前
Jacob Stove Lorentzen
9a25d84e
Removed Relay related user synch limiting behaviour in LobbyUser. Synching is all done in LobbySynchronizer.
Renamed Multiple previous callback methods in GameManager to a more future-tense version.
Removed all magic strings from LobbyConverters to cached nameof() constants.
2 年前
Jacob Stove Lorentzen
3afa3f3b
Renamed LobbyUser to LobbyPlayer
Renamed ObservedValue to CallbackValue
Started Converting LocalLobby to containing a Lobby
Started converting LobbyPlayer to containing a player
2 年前
Jacob Stove Lorentzen
7e47c4ab
Stopping POint
2 年前
Jacob Stove Lorentzen
f73d89e6
WIP: Torn out LobbyUserObserver and LocalobbyObserver.
At least getting local Lobby Changes.
2 年前
Jacob Stove Lorentzen
ec24566e
fix: Back to working 1-player lobby without relay lobby
2 年前
UnityJacob
3ac97939
WIP: Custom Player Data
2 年前
UnityJacob
a494c1ac
WIP : Stopping point
- unified lobby and player custom data parsing in the LobbyManager
- Fixed a bug pushing the Emote CallbackValue instead of the Emote Value to the lobby
- Currently working on switching to player lists in the UI, and disconnecting them from the Slots in the Cloud
2 年前