Daniel López Guimaraes
f9e65db077
chore: Update go modules
2025-01-12 20:30:47 +00:00
Daniel López Guimaraes
5651e7f651
fix(matchmake-extension): Fix CleanupSearchMatchmakeSession signature
...
The matchmake session needs to be a pointer to cleanup the required
values.
2025-01-12 00:17:59 +00:00
Daniel López Guimaraes
21fdc4730e
refactor: Replace AnyDataHolder with AnyObjectHolder
2025-01-09 23:24:02 +00:00
Daniel López Guimaraes
d7f8b585c1
feat: Migrate to new nex-go types
2025-01-01 19:55:13 +00:00
Daniel López Guimaraes
f7a2dab7cc
Merge pull request #44 from DaniElectra/custom-search-criteria
2024-11-05 23:42:37 +00:00
Daniel López Guimaraes
9a67d7e82c
feat(matchmake-extension): Support custom search criteria
...
Add the ability to cleanup the search criteria on
`BrowseMatchmakeSession`.
2024-11-05 22:07:24 +00:00
Daniel López Guimaraes
9696be334e
Merge pull request #35 from PretendoNetwork/matchmaking-rewrite
2024-11-04 12:08:33 +00:00
Daniel López Guimaraes
7b42e6a794
chore: Update go modules
2024-11-04 12:05:06 +00:00
Daniel López Guimaraes
dd5156d92b
chore: Remove debug log from SendNotificationEvent
2024-11-04 12:04:12 +00:00
Daniel López Guimaraes
e853c5df55
fix(match-making): Change host when host disconnects
...
Assign a new host when the current host is disconnecting from a
gathering. To simplify the implementation, set the owner of the
gathering as the new host.
Fixes Splatoon where the client doesn't transfer the host by
themselves.
2024-10-03 20:13:33 +01:00
Daniel López Guimaraes
16ed5f16db
fix(matchmake-extension): Only use attribute 1 on selection method
...
Otherwise the selection method is rendered useless since they are
incompatible.
2024-09-30 17:01:24 +01:00
Daniel López Guimaraes
b7042f3435
fix(matchmake-extension): Fix min/max participants search
...
The `min_participants` and `max_participants` are stored on
`gatherings`, not on `matchmake_sessions`.
2024-09-30 16:59:52 +01:00
Daniel López Guimaraes
80765de633
fix(matchmake-extension): Remove extra open participation check
2024-09-01 02:02:53 +01:00
Daniel López Guimaraes
0290f5c994
feat(match-making): Implement JoinMatchmakeSessionBehavior
...
Also include some minor fixes.
2024-09-01 01:54:36 +01:00
Daniel López Guimaraes
165afdc00d
feat(matchmake-extension): Support selection method for finding sessions
...
Currently we don't support ranked matchmaking properly nor the "score
based" version.
2024-09-01 01:30:26 +01:00
Daniel López Guimaraes
32a375d64e
feat(matchmake-extension): Implement GIDForParticipationCheck
2024-08-31 12:36:18 +01:00
Daniel López Guimaraes
808a786461
fix(match-making): Check if participants are allowed to change owner
2024-08-31 12:31:36 +01:00
Daniel López Guimaraes
69e3b1f342
feat(match-making): Add tracking system
...
Keep tracking on gathering (un)registrations, participants joining and
leaving and host and owner changes. All tracking is managed inside the
database functions except for the host and owner changes.
The `matchmaking.participants` now remains useless from this change at
the moment, so remove it for now.
2024-08-31 00:27:51 +01:00
Daniel López Guimaraes
32d393f708
Merge pull request #42 from ashquarky/matchmaking-rewrite
2024-08-25 16:16:16 +02:00
Ash Logan
ff20935c8c
feat: Add extension point for CanJoinMatchmakeSession
...
Useful for games with custom behaviours, like Minecraft's friends-of-friends feature
and Splatoon's fests
2024-08-25 21:03:07 +10:00
Daniel López Guimaraes
9639ab6c06
Merge pull request #41 from ashquarky/matchmaking-rewrite
2024-08-10 11:54:18 +02:00
Ash Logan
6953e78d24
fix(matchmake-extension): Fix typo in JoinMatchmakeSessionWithParam
...
I wanted the answer, not my own question!
2024-08-10 00:14:44 +10:00
Ash Logan
dfe34baf48
fix(matchmake-extension): Unlock mutex after CreateMatchmakeSessionWithParam
...
Causes deadlocks if left locked
2024-08-10 00:14:15 +10:00
Daniel López Guimaraes
8caa52cbbe
feat: Add MatchmakingManager abstraction
...
Allows removal of matchmake_extension_database dependency inside
match-making
2024-07-03 02:08:45 +01:00
Daniel López Guimaraes
14ae73e15e
chore: Update go modules
2024-07-01 20:08:51 +01:00
Daniel López Guimaraes
20f418e04f
feat(matchmake-extension): Support user and system password
2024-07-01 20:08:44 +01:00
Daniel López Guimaraes
ed1f78ccfa
fix(match-making): Don't use "negative" PIDs for extra participants
...
The concept of negative PIDs was a guess and wouldn't make sense on the
Switch. Instead, replace it with storing the "main" PID multiple times
on the participants array.
2024-07-01 19:26:43 +01:00
Daniel López Guimaraes
9ccdfc9704
fix(match-making): Add checks for MatchmakeSession fields and messages
2024-07-01 17:17:50 +01:00
Daniel López Guimaraes
cc89c2ed3f
feat(match-making): Split participant disconnect from new joins
2024-06-30 16:10:34 +01:00
Daniel López Guimaraes
03912fde5b
fix(find_by_single_id): Add missing mutex unlocks
2024-06-30 16:09:03 +01:00
Daniel López Guimaraes
54f171f298
fix(get_session_urls): Don't get station URLs from owner PID
...
Doing that wouldn't work anyway on games.
2024-06-30 16:07:31 +01:00
Daniel López Guimaraes
e71f872ac1
feat!: Matchmaking rewrite
2024-06-30 14:08:39 +01:00
Jonathan Barrow
98a2806b0c
Merge pull request #36 from DaniElectra/nex-1-secure
2024-06-29 21:18:13 -04:00
Daniel López Guimaraes
5ab8299563
feat(secure-connection): Add methods for NEX 1
2024-06-30 02:12:07 +01:00
Daniel López Guimaraes
e1957bbca9
fix: Tidy go modules
2024-05-19 18:59:28 +01:00
Daniel López Guimaraes
06dc3fbc05
chore: Update go modules
2024-05-19 18:55:09 +01:00
Jonathan Barrow
66a942a388
Merge pull request #30 from ashquarky/patch1
2024-05-03 10:00:28 -04:00
Jonathan Barrow
b169655951
Merge pull request #31 from ashquarky/patch2
2024-05-03 09:58:45 -04:00
Ash Logan
785f021ffa
feat!(datastore): Add requesting PID to GetObjectInfosByDataStoreSearchParam
...
This is required for PUYOPUYOTETRIS, which doesn't use the perfectly good ownerPID
field and instead sets a search target to mean "your own account".
Very cool.
Breaking API change.
2024-05-03 22:27:09 +10:00
Ash Logan
3ca998f820
fix(matchmake-extension): Fix result type from AutoMatchmake.. to be AnyDataHolder
...
feels awfully reminiscent of the contentWriteable bugs of the past
2024-05-03 17:39:10 +10:00
Daniel López Guimaraes
8e8e2bdbeb
Merge pull request #29 from ashquarky/main
2024-04-20 02:20:05 +02:00
Ash Logan
1fd823034b
ticket-granting: Set the StructureVersion for NEX >3.5
...
Fixes Minecraft: Wii U Edition
2024-04-18 16:42:51 +10:00
Jonathan Barrow
95a9481cc9
Merge branch 'main' of https://github.com/PretendoNetwork/nex-protocols-common-go
2024-04-09 12:16:32 -04:00
Jonathan Barrow
b782903fd9
secure-connection: update station identifing logic
2024-04-09 10:59:51 -04:00
Daniel López Guimaraes
d435690ad0
match-making: Send notification on UpdateSessionURL
2024-04-08 20:36:24 +01:00
Daniel López Guimaraes
112d27947c
Merge pull request #26 from PretendoNetwork/nex-go-rewrite
2024-04-08 00:57:11 +02:00
Daniel López Guimaraes
dfe7dba66b
chore: Update module version to v2
2024-04-07 23:56:20 +01:00
Daniel López Guimaraes
67fb7c2dd3
match-making: Set original owner on ownership change notification
2024-04-06 18:19:25 +01:00
Daniel López Guimaraes
e4fcbbbd97
match-making: Update ParticipationCount with ConnectionIDs size
2024-03-26 23:34:08 +00:00
Daniel López Guimaraes
469c77a247
match-making: Change the host if the owner is leaving
2024-03-26 23:33:57 +00:00