diff --git a/Libraries/SPTarkov.Server.Core/Callbacks/MatchCallbacks.cs b/Libraries/SPTarkov.Server.Core/Callbacks/MatchCallbacks.cs
index 8a314a24..1a11c0e7 100644
--- a/Libraries/SPTarkov.Server.Core/Callbacks/MatchCallbacks.cs
+++ b/Libraries/SPTarkov.Server.Core/Callbacks/MatchCallbacks.cs
@@ -183,14 +183,10 @@ public class MatchCallbacks(
/// Handle match/group/start_game
///
///
- public ValueTask JoinMatch(
- string url,
- MatchGroupStartGameRequest info,
- string sessionID
- )
+ public ValueTask JoinMatch(string url, MatchGroupJoinRequest request, string sessionID)
{
return new ValueTask(
- _httpResponseUtil.GetBody(_matchController.JoinMatch(info, sessionID))
+ _httpResponseUtil.GetBody(_matchController.JoinMatch(request, sessionID))
);
}
@@ -332,4 +328,17 @@ public class MatchCallbacks(
{
return new ValueTask(_httpResponseUtil.GetBody(true));
}
+
+ ///
+ /// Handle client/match/group/start_game
+ ///
+ public Task StartGameAsGroupLeader(
+ string url,
+ MatchGroupStartGameRequest? request,
+ string? sessionId
+ )
+ {
+ // returns a ProfileStatusResponse object
+ throw new NotImplementedException();
+ }
}
diff --git a/Libraries/SPTarkov.Server.Core/Controllers/MatchController.cs b/Libraries/SPTarkov.Server.Core/Controllers/MatchController.cs
index 11a701f1..822022c6 100644
--- a/Libraries/SPTarkov.Server.Core/Controllers/MatchController.cs
+++ b/Libraries/SPTarkov.Server.Core/Controllers/MatchController.cs
@@ -2,7 +2,6 @@ using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Helpers;
using SPTarkov.Server.Core.Models.Eft.Match;
using SPTarkov.Server.Core.Models.Spt.Config;
-using SPTarkov.Server.Core.Models.Spt.Services;
using SPTarkov.Server.Core.Models.Utils;
using SPTarkov.Server.Core.Servers;
using SPTarkov.Server.Core.Services;
@@ -14,7 +13,6 @@ namespace SPTarkov.Server.Core.Controllers;
[Injectable]
public class MatchController(
ISptLogger _logger,
- SaveServer _saveServer,
MatchLocationService _matchLocationService,
ConfigServer _configServer,
LocationLifecycleService _locationLifecycleService,
@@ -23,8 +21,8 @@ public class MatchController(
ICloner _cloner
)
{
- protected MatchConfig _matchConfig = _configServer.GetConfig();
- protected PmcConfig _pmcConfig = _configServer.GetConfig();
+ protected readonly MatchConfig _matchConfig = _configServer.GetConfig();
+ protected readonly PmcConfig _pmcConfig = _configServer.GetConfig();
///
/// Handle client/match/available
@@ -50,7 +48,7 @@ public class MatchController(
/// Start game request
/// Session/Player id
/// ProfileStatusResponse
- public ProfileStatusResponse JoinMatch(MatchGroupStartGameRequest request, string sessionId)
+ public ProfileStatusResponse JoinMatch(MatchGroupJoinRequest request, string sessionId)
{
var output = new ProfileStatusResponse
{
diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Match/MatchGroupJoinRequest.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Match/MatchGroupJoinRequest.cs
new file mode 100644
index 00000000..48088de9
--- /dev/null
+++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Match/MatchGroupJoinRequest.cs
@@ -0,0 +1,37 @@
+using System.Text.Json.Serialization;
+using SPTarkov.Server.Core.Models.Utils;
+
+namespace SPTarkov.Server.Core.Models.Eft.Match;
+
+public record MatchGroupJoinRequest : IRequestData
+{
+ [JsonExtensionData]
+ public Dictionary? ExtensionData { get; set; }
+
+ [JsonPropertyName("location")]
+ public string? Location { get; set; }
+
+ [JsonPropertyName("savage")]
+ public bool? Savage { get; set; }
+
+ [JsonPropertyName("dt")]
+ public string? Dt { get; set; }
+
+ [JsonPropertyName("servers")]
+ public List? Servers { get; set; }
+
+ [JsonPropertyName("keyId")]
+ public string? KeyId { get; set; }
+}
+
+public record JoinServer
+{
+ [JsonPropertyName("ping")]
+ public int? Ping { get; set; }
+
+ [JsonPropertyName("ip")]
+ public string? Ip { get; set; }
+
+ [JsonPropertyName("port")]
+ public string? Port { get; set; }
+}
diff --git a/Libraries/SPTarkov.Server.Core/Routers/Static/MatchStaticRouter.cs b/Libraries/SPTarkov.Server.Core/Routers/Static/MatchStaticRouter.cs
index e7de3fec..dd9d6743 100644
--- a/Libraries/SPTarkov.Server.Core/Routers/Static/MatchStaticRouter.cs
+++ b/Libraries/SPTarkov.Server.Core/Routers/Static/MatchStaticRouter.cs
@@ -39,10 +39,10 @@ public class MatchStaticRouter : StaticRouter
async (url, info, sessionID, output) =>
await matchCallbacks.JoinMatch(
url,
- info as MatchGroupStartGameRequest,
+ info as MatchGroupJoinRequest,
sessionID
),
- typeof(MatchGroupStartGameRequest)
+ typeof(MatchGroupJoinRequest)
),
new RouteAction(
"/client/match/exit",
@@ -72,7 +72,7 @@ public class MatchStaticRouter : StaticRouter
new RouteAction(
"/client/match/group/start_game",
async (url, info, sessionID, output) =>
- await matchCallbacks.JoinMatch(
+ await matchCallbacks.StartGameAsGroupLeader(
url,
info as MatchGroupStartGameRequest,
sessionID