diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/ClientConfigurationController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/ClientConfigurationController.cs index 3b3ae1d0..9ad44412 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/ClientConfigurationController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/ClientConfigurationController.cs @@ -38,8 +38,8 @@ public class ClientConfigurationController : ControllerBase } [HttpGet("t_conf")] - [Produces("text/json")] - public IActionResult Conf() => this.Ok("[{\"StatusCode\":200}]"); + [Produces("text/xml")] + public IActionResult Conf() => this.Ok("false"); [HttpGet("farc_hashes")] public IActionResult FarcHashes() => this.Ok(); diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/DeveloperController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/DeveloperController.cs index 00d98f51..270d8213 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/DeveloperController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/DeveloperController.cs @@ -1,11 +1,28 @@ -using Microsoft.AspNetCore.Mvc; +using LBPUnion.ProjectLighthouse.PlayerData; +using Microsoft.AspNetCore.Mvc; namespace LBPUnion.ProjectLighthouse.Servers.GameServer.Controllers; [ApiController] [Route("LITTLEBIGPLANETPS3_XML/")] +[Produces("text/xml")] public class DeveloperController : Controller { + + private readonly Database database; + + public DeveloperController(Database database) + { + this.database = database; + } + [HttpGet("/developer_videos")] - public IActionResult DeveloperVideos() => this.Ok(); + public async Task DeveloperVideos() + { + GameToken? token = await this.database.GameTokenFromRequest(this.Request); + + if (token == null) return this.StatusCode(403, ""); + + return this.Ok(""); + } } \ No newline at end of file diff --git a/ProjectLighthouse.Servers.GameServer/Controllers/Matching/MatchController.cs b/ProjectLighthouse.Servers.GameServer/Controllers/Matching/MatchController.cs index 30062231..3dcf785c 100644 --- a/ProjectLighthouse.Servers.GameServer/Controllers/Matching/MatchController.cs +++ b/ProjectLighthouse.Servers.GameServer/Controllers/Matching/MatchController.cs @@ -25,6 +25,17 @@ public class MatchController : ControllerBase this.database = database; } + [HttpPost("gameState")] + [Produces("text/plain")] + public async Task GameState() + { + GameToken? token = await this.database.GameTokenFromRequest(this.Request); + + if (token == null) return this.StatusCode(403, ""); + + return this.Ok("VALID"); + } + [HttpPost("match")] [Produces("text/plain")] public async Task Match() diff --git a/ProjectLighthouse.Servers.GameServer/Startup/GameServerStartup.cs b/ProjectLighthouse.Servers.GameServer/Startup/GameServerStartup.cs index 67ecd7bb..daf0dab2 100644 --- a/ProjectLighthouse.Servers.GameServer/Startup/GameServerStartup.cs +++ b/ProjectLighthouse.Servers.GameServer/Startup/GameServerStartup.cs @@ -128,7 +128,7 @@ public class GameServerStartup // The game doesn't start sending digests until after the announcement so if it's not one of those requests // and it doesn't include a digest we need to reject the request else if (!ServerStatics.IsUnitTesting && !strippedPath.Equals("/login") && !strippedPath.Equals("/eula") - && !strippedPath.Equals("/announce") && !strippedPath.Equals("/status")) + && !strippedPath.Equals("/announce") && !strippedPath.Equals("/status") && !strippedPath.Equals("/farc_hashes")) { context.Response.StatusCode = 403; return;