nathaniel.buck@unity3d.com
abd52623
Partial progress: Following a trio of Relay+UTP samples, I seem to have something that will bind a transport to Relay and keep the connection open (as evident from the fact that a client can join after what would be the 10s timeout on Relay and successfully get the JoinAllocation, when they wouldn't without keeping the connection open even when binding was correct). However, this current code is very slapdash and sloppy; I'm just committing now as a very rough draft.
3 年前
nathaniel.buck@unity3d.com
cdaa3722
More partial progress: I'm sending a byte from the client and receiving it on the host, though I don't yet know how and it's a sloppy copy-paste.
3 年前
nathaniel.buck@unity3d.com
c2cfe060
Partial progress. Consolidating a little more, should be able to start breaking things out from here.
3 年前
nathaniel.buck@unity3d.com
85184572
Partial progress - I wanted to verify how to do the data sending before breaking out into another class. This will now send the client's name to the server on connection.
3 年前
nathaniel.buck@unity3d.com
678fd232
Still partial progress. I have a little handoff going where the client identifies itself to the server and the server responds with an ID to use in further communication. However, I don't think that will actually work since all clients would also need those IDs? I can just send the user ID, which takes up more bandwidth but not dramatically so. Also, this pinpoints the heartbeat for keeping the Relay allocation up. I'm trying to pull out all the job system things, since that both seems like an extra layer of complexity that devs would have to learn and it also isn't, like, *actually* used correctly in the sample?
3 年前
nathaniel.buck@unity3d.com
42fe907a
Almost actual progress: This now has the two clients connecting to Relay on join, with the host keeping the allocation alive, and they will send each other changes to their name, emote, and ready immediately.
The code will get some cleanup and renaming, and then there are still plenty more features necessary, including UI work and changes to how Lobby data get used.
3 年前
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
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
265c2b37
Adding logic to supply the relay allocation and join code to a lobby, to enable automatic disconnect (i.e. if relay disconnects a player, the lobby detects that and also disconnects the player). It doesn't currently *work* but I'm working with the lobby team to see why, since as far as I'm aware it should be working with what I have.
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
717476de
Merge of auto disconnect branch
3 年前
nathaniel.buck@unity3d.com
454c8146
Adding comments and doing minor renames for clarity.
3 年前
nathaniel.buck@unity3d.com
8b27e70f
Just a couple TODOs that are no longer relevant.
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
83ae4c80
Just some comments/renames from developer feedback.
3 年前
nathaniel.buck@unity3d.com
9f43a38a
Minor renames to clarify join codes.
Keep forgetting how to tag this, but let's try: [apply-change:a7f97ad3-049d-441d-8e2b-5f9e984488cc]
3 年前
Jacob Stove Lorentzen
221171ef
relay SDK upgrade, removed some redundancies' and brought the publicly available packages out of the Candidates scope.
3 年前
Jacob Stove Lorentzen
1a5dccac
Merging in latest from Staging
3 年前
Jacob Stove Lorentzen
37ca0c4b
Moved to Public transport package.
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
a0ba1fdd
DTLS integration, probably? It's not in this Editor version, but this should work in 2021. Added a test to say "hey, this is the wrong version" and everything still works the same as before adding DTLS.
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
a204c67d
Oops, missed a UI change in clients that I added for hosts.
3 年前
nathaniel.buck@unity3d.com
8192c7a4
Bugs: Fixing a couple harmless null refs that could result from quitting out of a lobby during Relay connection. Allowing the Back button to be visible during lobby countdown since quitting out at that point won't, like, *ruin* anything; this is actually to fix an issue where a client's Back button could disappear for an UpdateSlow between the point where they locally know they're in game and the lobby receives the actual data push from the host.
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
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
3aca367d
Removing the use of Relay to transmit the NGO relay code.
3 年前
nathaniel.buck@unity3d.com
1041eaf9
Cleaning up with some comments and shifting the RelayNGOUtpSetup to its own file.
3 年前
nathaniel.buck@unity3d.com
d3a2da52
Addressing remaining TODOs (which are all either outdated, handled in other changesets, or captured as a work item). Also addressing a couple compiler warnings -- one to suppress when DTLS isn't available and one for a deprecated Relay API.
3 年前
Bart Janczuk
0aa1fee6
Remove usage of connectionInfo
3 年前
Jacob
06dea12e
renamed the namespace
Renamed the namespace
added a popup for when the user forgets to input their project settings
3 年前
Thiago Wilson Nevares Trindade
c753a3e2
fix: update the usage of Relay API to avoid using deprecated fields
2 年前
Jacob Stove Lorentzen
31068570
Switched LobbyAsyncRequests and its implemenations over to async Tasks
Started Deprecating/merging the LobbyAPIInterface into LobbyAsyncRequests
Converted DoRequest unit tests.
3 年前
Jacob Stove Lorentzen
b39640ba
Saving RelayUTPSetup for posterity
3 年前
Jacob Stove Lorentzen
8a5b5a31
Renamed LobbyUpdater to Lobby Synchronizer.
Removed Identity Service, Replaced with AuthenticationManager
Removed “private” in front of all private fields.
3 年前
Jacob Stove Lorentzen
6702d4b4
Renamed AuthenticationManager to Auth to avoid conflct with a System API
Reframed the LobbyManager to maintain the life cycle of the remote Lobby.
-Is now responsible for maintaining the reference to the latest cache of the remote Lobby,
-Will automatically set up the heartbeat for host,
-Also Works to prevent RateLimit Errors by creating cooldowns for each Lobby API Call
-Adjusted Roundtrip tests accordingly.
Moved Data synchronizastion to LobbySynchronizer
-Checks for local and remote changes and pushes/pulls player and lobby data accordingly.
3 年前
Jacob Stove Lorentzen
04cf2cf7
Stopping point. for converting Lobby to non-observer.
3 年前
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
affdbccc
WIP Integrating Wire
2 年前
UnityJacob
3ac97939
WIP: Custom Player Data
2 年前