Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using RadicadeServer.DB;
using RadicadeServer.RecNet.Enums;
using RadicadeServer.RecNet.VersionCheck;
namespace RadicadeServer.API
{
[Route("api/versioncheck/")]
public class VersionCheckAPI(RecDBContext db) : Controller
{
[HttpGet("v4")]
public async Task<IActionResult> Get([FromQuery] string? v, [FromQuery] string? version)
{
var requested = v ?? version;
var query = HttpContext?.Request?.QueryString.Value ?? "";
var announcement = await db.ServerConfig.AsNoTracking()
.FirstOrDefaultAsync(x => x.Key == GameUpdateVersionCheck.AnnouncementConfigKey);
var result = GameUpdateVersionCheck.Resolve(announcement?.Value, DateTime.UtcNow);
return Ok(BuildClientResponse(result));
}
[HttpGet("islandedversions")]
public IActionResult GetIslandedVersions()
{
return Ok(Array.Empty<string>());
}
private static Dictionary<string, object> BuildClientResponse(VersionCheckResult result) => new()
{
["ValidVersion"] = 0,
["VersionStatus"] = (int)result.VersionStatus,
["UpdateNotificationStage"] = result.UpdateNotificationStage,
["IsVersionIslanded"] = result.IsVersionIslanded,
["IsCrossPlayDisabled"] = result.IsCrossPlayDisabled,
};
}
}