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 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[] EncryptionTokenKey = [];
public LogType LogLevel = LogType.Debug;
public int MaxInterceptionCount = 3;
}
internal class JsonDb
{

View File

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

View File

@@ -1,3 +1,4 @@
using EpinelPS.Database;
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Intercept
@@ -9,18 +10,29 @@ namespace EpinelPS.LobbyServer.Intercept
{
var req = await ReadData<ReqClearIntercept>();
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);
user.ResetableData.InterceptionTickets--;
var response = new ResClearIntercept
{
Intercept = req.Intercept,
InterceptId = req.InterceptId,
TicketCount = 5,
MaxTicketCount = 10,
TicketCount = user.ResetableData.InterceptionTickets,
MaxTicketCount = JsonDb.Instance.MaxInterceptionCount,
NormalReward = sRes.NormalReward,
};
user.AddTrigger(Data.TriggerType.InterceptClear, 1);
JsonDb.Save();
await WriteDataAsync(response);
}
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -6,18 +6,18 @@
"version_info": {
"game_id": "16601",
"branch_id": "1",
"version_id": "0.0.0.51",
"version_name": "NIKKE.PC_Offcial_GL_134.8.13",
"version_id": "0.0.0.52",
"version_name": "NIKKE.PC_Offcial_GL_134.12.5",
"version_status": 7,
"service_status": 0,
"build_id": "3020",
"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_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}]",
"key_file_info": "[{\"crc\":635045207,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]",
"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\":\"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\":5937488248518581298}]",
"key_file_info": "[{\"crc\":1124400173,\"path\":\"NIKKE\\\\game\\\\nikke.exe\"}]",
"install_script": "{\"script_content\":{\"executable\":[]}}",
"installer_size": "352461033",
"installed_size": "790247240",
"publish_time_in_unix": "1749655317",
"installer_size": "361649767",
"installed_size": "854972912",
"publish_time_in_unix": "1750731475",
"is_first_version_in_branch": "1",
"version_description": "[{\"lang_code\":\"en\",\"text\":\"\"},{\"lang_code\":\"ja\",\"text\":\"\"},{\"lang_code\":\"ko\",\"text\":\"\"}]",
"update_type": 0