update game version, push changes

This commit is contained in:
Mikhail Tyukin
2025-06-24 19:17:53 +04:00
parent bb7411643c
commit cb1fb566af
9 changed files with 51 additions and 21 deletions

View File

@@ -102,6 +102,7 @@ namespace EpinelPS.Controllers
public class LauncherVersionRequest public class LauncherVersionRequest
{ {
public int game_id {get;set;} public int game_id {get;set;}
public int branch_id { get; set; }
} }
} }
} }

View File

@@ -590,6 +590,8 @@ namespace EpinelPS.Database
public byte[] LauncherTokenKey = []; public byte[] LauncherTokenKey = [];
public byte[] EncryptionTokenKey = []; public byte[] EncryptionTokenKey = [];
public LogType LogLevel = LogType.Debug; public LogType LogLevel = LogType.Debug;
public int MaxInterceptionCount = 3;
} }
internal class JsonDb internal class JsonDb
{ {

View File

@@ -1,4 +1,5 @@
using EpinelPS.Utils; using EpinelPS.Database;
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Intercept namespace EpinelPS.LobbyServer.Intercept
{ {
@@ -12,9 +13,9 @@ namespace EpinelPS.LobbyServer.Intercept
var response = new ResGetInterceptData var response = new ResGetInterceptData
{ {
NormalInterceptGroup = 1, NormalInterceptGroup = 1,
SpecialInterceptId = 1, SpecialInterceptId = 1, // TODO switch this out each reset
TicketCount = 5, TicketCount = User.ResetableData.InterceptionTickets,
MaxTicketCount = 10 MaxTicketCount = JsonDb.Instance.MaxInterceptionCount
}; };
await WriteDataAsync(response); await WriteDataAsync(response);

View File

@@ -1,3 +1,4 @@
using EpinelPS.Database;
using EpinelPS.Utils; using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Intercept namespace EpinelPS.LobbyServer.Intercept
@@ -10,17 +11,28 @@ namespace EpinelPS.LobbyServer.Intercept
var req = await ReadData<ReqClearIntercept>(); var req = await ReadData<ReqClearIntercept>();
var user = GetUser(); var user = GetUser();
if (user.ResetableData.InterceptionTickets == 0)
{
Logging.WriteLine("Attempted to clear interception when 0 tickets remain", LogType.WarningAntiCheat);
}
var sRes = InterceptionHelper.Clear(user, req.Intercept, req.InterceptId, req.Damage); var sRes = InterceptionHelper.Clear(user, req.Intercept, req.InterceptId, req.Damage);
user.ResetableData.InterceptionTickets--;
var response = new ResClearIntercept var response = new ResClearIntercept
{ {
Intercept = req.Intercept, Intercept = req.Intercept,
InterceptId = req.InterceptId, InterceptId = req.InterceptId,
TicketCount = 5, TicketCount = user.ResetableData.InterceptionTickets,
MaxTicketCount = 10, MaxTicketCount = JsonDb.Instance.MaxInterceptionCount,
NormalReward = sRes.NormalReward, NormalReward = sRes.NormalReward,
}; };
user.AddTrigger(Data.TriggerType.InterceptClear, 1);
JsonDb.Save();
await WriteDataAsync(response); await WriteDataAsync(response);
} }
} }

View File

@@ -8,9 +8,12 @@ namespace EpinelPS.LobbyServer.Intercept
protected override async Task HandleAsync() protected override async Task HandleAsync()
{ {
var req = await ReadData<ReqEnterIntercept>(); var req = await ReadData<ReqEnterIntercept>();
var user = GetUser();
var response = new ResEnterIntercept(); var response = new ResEnterIntercept();
user.AddTrigger(Data.TriggerType.InterceptStart, 1);
await WriteDataAsync(response); await WriteDataAsync(response);
} }
} }

View File

@@ -1,3 +1,4 @@
using EpinelPS.Database;
using EpinelPS.Utils; using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Intercept namespace EpinelPS.LobbyServer.Intercept
@@ -11,9 +12,9 @@ namespace EpinelPS.LobbyServer.Intercept
var response = new ResFastClearIntercept var response = new ResFastClearIntercept
{ {
TicketCount = 3, TicketCount = User.ResetableData.InterceptionTickets,
MaxTicketCount = 10, MaxTicketCount = JsonDb.Instance.MaxInterceptionCount,
Damage = 2 Damage = 0
}; };
await WriteDataAsync(response); await WriteDataAsync(response);

View File

@@ -14,6 +14,16 @@ namespace EpinelPS.LobbyServer
public byte[] ReturnBytes = []; public byte[] ReturnBytes = [];
public byte[] Contents = []; public byte[] Contents = [];
public User User
{
get
{
if (UserId == 0) throw new UnauthorizedAccessException();
return JsonDb.GetUser(UserId) ?? throw new InvalidDataException();
}
}
/// <summary> /// <summary>
/// Call before calling HandleAsync /// Call before calling HandleAsync
/// </summary> /// </summary>

View File

@@ -420,13 +420,13 @@ namespace EpinelPS.Utils
if (staticDataHttpResponse == null) if (staticDataHttpResponse == null)
{ {
Console.WriteLine($"failed to post {url}"); Console.WriteLine($"failed to post {url}");
return default(T); return default;
} }
if (!staticDataHttpResponse.IsSuccessStatusCode) if (!staticDataHttpResponse.IsSuccessStatusCode)
{ {
Console.WriteLine($"POST {url} failed with {staticDataHttpResponse.StatusCode}"); Console.WriteLine($"POST {url} failed with {staticDataHttpResponse.StatusCode}");
return default(T); return default;
} }
byte[] staticDataHttpResponseBytes = await staticDataHttpResponse.Content.ReadAsByteArrayAsync(); byte[] staticDataHttpResponseBytes = await staticDataHttpResponse.Content.ReadAsByteArrayAsync();

View File

@@ -6,18 +6,18 @@
"version_info": { "version_info": {
"game_id": "16601", "game_id": "16601",
"branch_id": "1", "branch_id": "1",
"version_id": "0.0.0.51", "version_id": "0.0.0.52",
"version_name": "NIKKE.PC_Offcial_GL_134.8.13", "version_name": "NIKKE.PC_Offcial_GL_134.12.5",
"version_status": 7, "version_status": 7,
"service_status": 0, "service_status": 0,
"build_id": "3020", "build_id": "3028",
"cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.48-r.02587\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"bc7b45d953ee4929def7aa8f68c209f5\",\"chunk_size\":111552,\"chunk_uncompress_md5\":\"bc7b45d953ee4929def7aa8f68c209f5\",\"chunk_uncompress_size\":111552}],\"file_url\":\"/manifestv2/48_5937488248518577280_0.manifest\",\"manifest_md5\":\"bc7b45d953ee4929def7aa8f68c209f5\",\"manifest_size\":111552}],\"manifest_flag\":13,\"manifest_id\":5937488248518577000,\"manifest_version\":2,\"patch_size\":95550949,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":352461033,\"repository_type\":\"Game\",\"repository_uncompress_size\":790247240}]", "cos_repo_files": "[{\"cdn_root\":\"https://cloud.nikke-kr.com/PC/prod/rid.48-r.02587\",\"chunk_encrypt_flag\":0,\"manifest_files\":[{\"chunks\":[{\"chunk_index\":0,\"chunk_md5\":\"733b7a0aba8b4aa4817ce9ebb7e40ea4\",\"chunk_size\":114328,\"chunk_uncompress_md5\":\"733b7a0aba8b4aa4817ce9ebb7e40ea4\",\"chunk_uncompress_size\":114328}],\"file_url\":\"/manifestv2/48_5937488248518581082_0.manifest\",\"manifest_md5\":\"733b7a0aba8b4aa4817ce9ebb7e40ea4\",\"manifest_size\":114328}],\"manifest_flag\":13,\"manifest_id\":5937488248518581000,\"manifest_version\":2,\"patch_size\":99114613,\"repository_desc\":{\"zh_CN\":\"game repo\"},\"repository_id\":48,\"repository_name\":{\"en_US\":\"Game\",\"zh_CN\":\"Game\"},\"repository_size\":361649767,\"repository_type\":\"Game\",\"repository_uncompress_size\":854972912}]",
"cos_access_info": "[{\"repository_id\":48,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"158f36bf7e611c945320c399294c4a6d\",\"encrytion_algorithm_id\":6,\"manifest_encrytion_key\":\"0f448b096bb4dc5b339debdce77c4572\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16601,\"manifest_id\":5937488248518577663}]", "cos_access_info": "[{\"repository_id\":48,\"repository_type\":\"Game\",\"repository_name\":\"Game\",\"repository_name_en\":\"Game\",\"description\":\"game repo\",\"cos_list\":[{\"public_cdn_domain\":\"https://cloud.nikke-kr.com\"}],\"encrytion_key\":\"158f36bf7e611c945320c399294c4a6d\",\"encrytion_algorithm_id\":6,\"manifest_encrytion_key\":\"0f448b096bb4dc5b339debdce77c4572\",\"manifest_encrytion_algorithm_id\":6,\"game_id\":16601,\"manifest_id\":5937488248518581298}]",
"key_file_info": "[{\"crc\":635045207,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]", "key_file_info": "[{\"crc\":1124400173,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]",
"install_script": "{\"script_content\":{\"executable\":[]}}", "install_script": "{\"script_content\":{\"executable\":[]}}",
"installer_size": "352461033", "installer_size": "361649767",
"installed_size": "790247240", "installed_size": "854972912",
"publish_time_in_unix": "1749655317", "publish_time_in_unix": "1750731475",
"is_first_version_in_branch": "1", "is_first_version_in_branch": "1",
"version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]", "version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]",
"update_type": 0 "update_type": 0