From 061e0f2c5073b488791880710b1a34db4f90ede9 Mon Sep 17 00:00:00 2001 From: asesidaa <1061472754@qq.com> Date: Wed, 17 Aug 2022 00:34:49 +0800 Subject: [PATCH] Make the game accept bytes, but crash before song select --- .../Controllers/BookkeepingController.cs | 2 +- .../Controllers/CrownsDataController.cs | 5 +++- .../Controllers/GetAiScoreController.cs | 2 +- .../GetApplicationUrlController.cs | 2 +- .../Controllers/GetFolderController.cs | 2 +- .../Controllers/GetScoreRankController.cs | 8 +++++-- .../Controllers/GetShopFolderController.cs | 2 +- .../GetSongIntroductionController.cs | 2 +- .../Controllers/GetTelopController.cs | 12 ++++++++-- .../Controllers/GetTokenCountController.cs | 2 +- .../Controllers/InitialDataCheckController.cs | 13 +++++++++- .../Controllers/MyDonEntryController.cs | 15 ++++++++++-- .../Controllers/PlayResultController.cs | 4 ++-- .../Controllers/RewardItemController.cs | 2 +- .../Controllers/SelfBestController.cs | 4 ++-- .../Controllers/SongPurchaseController.cs | 4 ++-- .../Controllers/StartupAuthController.cs | 2 +- .../Controllers/TournamentCheckController.cs | 4 ++-- .../Controllers/UserDataController.cs | 24 ++++++++++++++++--- .../Controllers/VerifyQrCodeController.cs | 2 +- TaikoLocalServer/Utils/GZipBytesUtil.cs | 20 ++++++++++++++++ 21 files changed, 104 insertions(+), 29 deletions(-) create mode 100644 TaikoLocalServer/Utils/GZipBytesUtil.cs diff --git a/TaikoLocalServer/Controllers/BookkeepingController.cs b/TaikoLocalServer/Controllers/BookkeepingController.cs index d93e6ff..9f45338 100644 --- a/TaikoLocalServer/Controllers/BookkeepingController.cs +++ b/TaikoLocalServer/Controllers/BookkeepingController.cs @@ -14,7 +14,7 @@ public class BookkeepingController : ControllerBase public IActionResult StartupAuth([FromBody] BookKeepingRequest request) { logger.LogInformation("Bookkeeping request: {Request}", request.Stringify()); - var response = new BookKeepingResponse() + var response = new BookKeepingResponse { Result = 1 }; diff --git a/TaikoLocalServer/Controllers/CrownsDataController.cs b/TaikoLocalServer/Controllers/CrownsDataController.cs index b19e210..51d463e 100644 --- a/TaikoLocalServer/Controllers/CrownsDataController.cs +++ b/TaikoLocalServer/Controllers/CrownsDataController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using TaikoLocalServer.Utils; namespace TaikoLocalServer.Controllers; @@ -19,7 +20,9 @@ public class CrownsDataController : ControllerBase var response = new CrownsDataResponse { - Result = 1 + Result = 1, + CrownFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + DondafulCrownFlg = GZipBytesUtil.GetEmptyJsonGZipBytes() }; return Ok(response); diff --git a/TaikoLocalServer/Controllers/GetAiScoreController.cs b/TaikoLocalServer/Controllers/GetAiScoreController.cs index 8efff00..39b595c 100644 --- a/TaikoLocalServer/Controllers/GetAiScoreController.cs +++ b/TaikoLocalServer/Controllers/GetAiScoreController.cs @@ -15,7 +15,7 @@ public class GetAiScoreController : ControllerBase [Produces("application/protobuf")] public IActionResult GetAiScore([FromBody] GetAiScoreRequest request) { - logger.LogInformation("request : {Request}", request.Stringify()); + logger.LogInformation("GetAiScore request : {Request}", request.Stringify()); var response = new GetAiScoreResponse { diff --git a/TaikoLocalServer/Controllers/GetApplicationUrlController.cs b/TaikoLocalServer/Controllers/GetApplicationUrlController.cs index 93b3a89..d3d563a 100644 --- a/TaikoLocalServer/Controllers/GetApplicationUrlController.cs +++ b/TaikoLocalServer/Controllers/GetApplicationUrlController.cs @@ -17,7 +17,7 @@ public class GetApplicationUrlController : ControllerBase [Produces("application/protobuf")] public IActionResult GetApplicationUrl([FromBody] GetApplicationUrlRequest request) { - logger.LogInformation("request : {Request}", request.Stringify()); + logger.LogInformation("GetApplicationUrl request : {Request}", request.Stringify()); var response = new GetApplicationUrlResponse { diff --git a/TaikoLocalServer/Controllers/GetFolderController.cs b/TaikoLocalServer/Controllers/GetFolderController.cs index 4a4b348..cb477b9 100644 --- a/TaikoLocalServer/Controllers/GetFolderController.cs +++ b/TaikoLocalServer/Controllers/GetFolderController.cs @@ -15,7 +15,7 @@ public class GetFolderController : ControllerBase [Produces("application/protobuf")] public IActionResult GetFolder([FromBody] GetfolderRequest request) { - logger.LogInformation("GetFolderController request : {Request}", request.Stringify()); + logger.LogInformation("GetFolder request : {Request}", request.Stringify()); var response = new GetfolderResponse { diff --git a/TaikoLocalServer/Controllers/GetScoreRankController.cs b/TaikoLocalServer/Controllers/GetScoreRankController.cs index bd87492..3fe8f73 100644 --- a/TaikoLocalServer/Controllers/GetScoreRankController.cs +++ b/TaikoLocalServer/Controllers/GetScoreRankController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using TaikoLocalServer.Utils; namespace TaikoLocalServer.Controllers; @@ -15,10 +16,13 @@ public class GetScoreRankController : ControllerBase [Produces("application/protobuf")] public IActionResult GetScoreRank([FromBody] GetScoreRankRequest request) { - logger.LogInformation("GetScoreRankController request : {Request}", request.Stringify()); + logger.LogInformation("GetScoreRank request : {Request}", request.Stringify()); var response = new GetScoreRankResponse { - Result = 1 + Result = 1, + IkiScoreRankFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + KiwamiScoreRankFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + MiyabiScoreRankFlg = GZipBytesUtil.GetEmptyJsonGZipBytes() }; return Ok(response); diff --git a/TaikoLocalServer/Controllers/GetShopFolderController.cs b/TaikoLocalServer/Controllers/GetShopFolderController.cs index efdbc47..a84c890 100644 --- a/TaikoLocalServer/Controllers/GetShopFolderController.cs +++ b/TaikoLocalServer/Controllers/GetShopFolderController.cs @@ -15,7 +15,7 @@ public class GetShopFolderController : ControllerBase [Produces("application/protobuf")] public IActionResult GetShopFolder([FromBody] GetShopFolderRequest request) { - logger.LogInformation("GetShopFolderController request : {Request}", request.Stringify()); + logger.LogInformation("GetShopFolder request : {Request}", request.Stringify()); var response = new GetShopFolderResponse { diff --git a/TaikoLocalServer/Controllers/GetSongIntroductionController.cs b/TaikoLocalServer/Controllers/GetSongIntroductionController.cs index c8d2b14..e5345fe 100644 --- a/TaikoLocalServer/Controllers/GetSongIntroductionController.cs +++ b/TaikoLocalServer/Controllers/GetSongIntroductionController.cs @@ -15,7 +15,7 @@ public class GetSongIntroductionController : ControllerBase [Produces("application/protobuf")] public IActionResult GetSongIntroduction([FromBody] GetSongIntroductionRequest request) { - logger.LogInformation("GetSongIntroductionController request : {Request}", request.Stringify()); + logger.LogInformation("GetSongIntroduction request : {Request}", request.Stringify()); var response = new GetSongIntroductionResponse { diff --git a/TaikoLocalServer/Controllers/GetTelopController.cs b/TaikoLocalServer/Controllers/GetTelopController.cs index 573f729..3169b95 100644 --- a/TaikoLocalServer/Controllers/GetTelopController.cs +++ b/TaikoLocalServer/Controllers/GetTelopController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using Swan.Extensions; namespace TaikoLocalServer.Controllers; @@ -15,11 +16,18 @@ public class GetTelopController : ControllerBase [Produces("application/protobuf")] public IActionResult GetTelop([FromBody] GettelopRequest request) { - logger.LogInformation("GetTelopController request : {Request}", request.Stringify()); + logger.LogInformation("GetTelop request : {Request}", request.Stringify()); + var startDateTime = DateTime.Now - TimeSpan.FromDays(999.0); + var endDateTime = DateTime.Now + TimeSpan.FromDays(999.0); + var response = new GettelopResponse { - Result = 1 + Result = 1, + StartDatetime = startDateTime.ToUnixTimeMilliseconds().ToString(), + EndDatetime = endDateTime.ToUnixTimeMilliseconds().ToString(), + Telop = "Hello world", + VerupNo = 1 }; return Ok(response); diff --git a/TaikoLocalServer/Controllers/GetTokenCountController.cs b/TaikoLocalServer/Controllers/GetTokenCountController.cs index 56e508e..feb8817 100644 --- a/TaikoLocalServer/Controllers/GetTokenCountController.cs +++ b/TaikoLocalServer/Controllers/GetTokenCountController.cs @@ -15,7 +15,7 @@ public class GetTokenCountController : ControllerBase [Produces("application/protobuf")] public IActionResult GetTokenCount([FromBody] GetTokenCountRequest request) { - logger.LogInformation("GetTokenCountController request : {Request}", request.Stringify()); + logger.LogInformation("GetTokenCount request : {Request}", request.Stringify()); var response = new GetTokenCountResponse { diff --git a/TaikoLocalServer/Controllers/InitialDataCheckController.cs b/TaikoLocalServer/Controllers/InitialDataCheckController.cs index de0b653..dffc847 100644 --- a/TaikoLocalServer/Controllers/InitialDataCheckController.cs +++ b/TaikoLocalServer/Controllers/InitialDataCheckController.cs @@ -18,7 +18,7 @@ public class InitialDataCheckController:ControllerBase [Produces("application/protobuf")] public IActionResult InitialDataCheck([FromBody] InitialdatacheckRequest request) { - logger.LogInformation("Heartbeat request: {Request}", request.Stringify()); + logger.LogInformation("InitialDataCheck request: {Request}", request.Stringify()); var response = new InitialdatacheckResponse { Result = 1, @@ -26,6 +26,17 @@ public class InitialDataCheckController:ControllerBase IsAibattle = true, IsClose = false }; + /*response.AryMovieInfoes.Add(new InitialdatacheckResponse.MovieData + { + MovieId = 2, + EnableDays = 9999 + });*/ + + response.AryTelopDatas.Add(new InitialdatacheckResponse.InformationData + { + InfoId = 0, + VerupNo = 1 + }); return Ok(response); } diff --git a/TaikoLocalServer/Controllers/MyDonEntryController.cs b/TaikoLocalServer/Controllers/MyDonEntryController.cs index 0499d4f..4b31fec 100644 --- a/TaikoLocalServer/Controllers/MyDonEntryController.cs +++ b/TaikoLocalServer/Controllers/MyDonEntryController.cs @@ -15,11 +15,22 @@ public class MyDonEntryController : ControllerBase [Produces("application/protobuf")] public IActionResult GetMyDonEntry([FromBody] MydonEntryRequest request) { - logger.LogInformation("MyDonEntryController request : {Request}", request.Stringify()); + logger.LogInformation("MyDonEntry request : {Request}", request.Stringify()); var response = new MydonEntryResponse { - Result = 1 + Result = 1, + ComSvrResult = 1, + AccessCode = request.AccessCode, + Accesstoken = "12345", + Baid = 1, + MbId = 1, + MydonName = request.MydonName, + CardOwnNum = 1, + IsPublish = true, + RegCountryId = request.CountryId, + PurposeId = 1, + RegionId = 1 }; return Ok(response); diff --git a/TaikoLocalServer/Controllers/PlayResultController.cs b/TaikoLocalServer/Controllers/PlayResultController.cs index d822b60..a1dd554 100644 --- a/TaikoLocalServer/Controllers/PlayResultController.cs +++ b/TaikoLocalServer/Controllers/PlayResultController.cs @@ -16,13 +16,13 @@ public class PlayResultController : ControllerBase [Produces("application/protobuf")] public IActionResult UploadPlayResult([FromBody] PlayResultRequest request) { - logger.LogInformation("PlayResultController request : {Request}", request.Stringify()); + logger.LogInformation("PlayResult request : {Request}", request.Stringify()); var playResultData = Serializer.Deserialize(new ReadOnlyMemory(request.PlayresultData)); logger.LogInformation("Play result data {Data}", playResultData.Stringify()); - var response = new PlayResultResponse() + var response = new PlayResultResponse { Result = 1 }; diff --git a/TaikoLocalServer/Controllers/RewardItemController.cs b/TaikoLocalServer/Controllers/RewardItemController.cs index 76b3ca5..abc03ac 100644 --- a/TaikoLocalServer/Controllers/RewardItemController.cs +++ b/TaikoLocalServer/Controllers/RewardItemController.cs @@ -15,7 +15,7 @@ public class RewardItemController : ControllerBase [Produces("application/protobuf")] public IActionResult RewardItem([FromBody] RewardItemRequest request) { - logger.LogInformation("RewardItemController request : {Request}", request.Stringify()); + logger.LogInformation("RewardItem request : {Request}", request.Stringify()); var response = new RewardItemResponse { diff --git a/TaikoLocalServer/Controllers/SelfBestController.cs b/TaikoLocalServer/Controllers/SelfBestController.cs index 657c4cc..8b9d358 100644 --- a/TaikoLocalServer/Controllers/SelfBestController.cs +++ b/TaikoLocalServer/Controllers/SelfBestController.cs @@ -15,9 +15,9 @@ public class SelfBestController : ControllerBase [Produces("application/protobuf")] public IActionResult SelfBest([FromBody] SelfBestRequest request) { - logger.LogInformation("SelfBestController request : {Request}", request.Stringify()); + logger.LogInformation("SelfBest request : {Request}", request.Stringify()); - var response = new SelfBestResponse() + var response = new SelfBestResponse { Result = 1 }; diff --git a/TaikoLocalServer/Controllers/SongPurchaseController.cs b/TaikoLocalServer/Controllers/SongPurchaseController.cs index c568415..59098c8 100644 --- a/TaikoLocalServer/Controllers/SongPurchaseController.cs +++ b/TaikoLocalServer/Controllers/SongPurchaseController.cs @@ -15,9 +15,9 @@ public class SongPurchaseController : ControllerBase [Produces("application/protobuf")] public IActionResult SongPurchase([FromBody] SongPurchaseRequest request) { - logger.LogInformation("SongPurchaseController request : {Request}", request.Stringify()); + logger.LogInformation("SongPurchase request : {Request}", request.Stringify()); - var response = new SongPurchaseResponse() + var response = new SongPurchaseResponse { Result = 1 }; diff --git a/TaikoLocalServer/Controllers/StartupAuthController.cs b/TaikoLocalServer/Controllers/StartupAuthController.cs index da2ca6f..63f222e 100644 --- a/TaikoLocalServer/Controllers/StartupAuthController.cs +++ b/TaikoLocalServer/Controllers/StartupAuthController.cs @@ -16,7 +16,7 @@ public class StartupAuthController : ControllerBase [Produces("application/protobuf")] public IActionResult StartupAuth([FromBody] StartupAuthRequest request) { - logger.LogInformation("Heartbeat request: {Request}", request.Stringify()); + logger.LogInformation("StartupAuth request: {Request}", request.Stringify()); var response = new StartupAuthResponse { Result = 1 diff --git a/TaikoLocalServer/Controllers/TournamentCheckController.cs b/TaikoLocalServer/Controllers/TournamentCheckController.cs index 0b291d5..4b12df8 100644 --- a/TaikoLocalServer/Controllers/TournamentCheckController.cs +++ b/TaikoLocalServer/Controllers/TournamentCheckController.cs @@ -15,9 +15,9 @@ public class TournamentCheckController : ControllerBase [Produces("application/protobuf")] public IActionResult TournamentCheck([FromBody] TournamentcheckRequest request) { - logger.LogInformation("TournamentCheckController request : {Request}", request.Stringify()); + logger.LogInformation("TournamentCheck request : {Request}", request.Stringify()); - var response = new TournamentcheckResponse() + var response = new TournamentcheckResponse { Result = 1, }; diff --git a/TaikoLocalServer/Controllers/UserDataController.cs b/TaikoLocalServer/Controllers/UserDataController.cs index 207bc0f..0c1891e 100644 --- a/TaikoLocalServer/Controllers/UserDataController.cs +++ b/TaikoLocalServer/Controllers/UserDataController.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using TaikoLocalServer.Utils; namespace TaikoLocalServer.Controllers; @@ -15,11 +16,28 @@ public class UserDataController : ControllerBase [Produces("application/protobuf")] public IActionResult GetUserData([FromBody] UserDataRequest request) { - logger.LogInformation("UserDataController request : {Request}", request.Stringify()); + logger.LogInformation("UserData request : {Request}", request.Stringify()); - var response = new UserDataResponse() + var response = new UserDataResponse { - Result = 1 + Result = 1, + ToneFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + TitleFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + ReleaseSongFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + UraReleaseSongFlg = GZipBytesUtil.GetEmptyJsonGZipBytes(), + DefaultOptionSetting = GZipBytesUtil.GetEmptyJsonGZipBytes(), + DispScoreType = 0, + DispLevelChassis = 0, + DispLevelSelf = 0, + IsDispTojiruOn = true, + NotesPosition = 0, + IsVoiceOn = true, + IsChallengecompe = false, + IsSkipOn = true, + DifficultyPlayedCourse = 0, + DifficultyPlayedStar = 0, + TotalCreditCnt = 1, + SongRecentCnt = 0 }; return Ok(response); diff --git a/TaikoLocalServer/Controllers/VerifyQrCodeController.cs b/TaikoLocalServer/Controllers/VerifyQrCodeController.cs index 4e75520..28cea81 100644 --- a/TaikoLocalServer/Controllers/VerifyQrCodeController.cs +++ b/TaikoLocalServer/Controllers/VerifyQrCodeController.cs @@ -15,7 +15,7 @@ public class VerifyQrCodeController : ControllerBase [Produces("application/protobuf")] public IActionResult VerifyQrCode([FromBody] VerifyQrcodeRequest request) { - logger.LogInformation("VerifyQrCodeController request : {Request}", request.Stringify()); + logger.LogInformation("VerifyQrCode request : {Request}", request.Stringify()); var response = new VerifyQrcodeResponse { diff --git a/TaikoLocalServer/Utils/GZipBytesUtil.cs b/TaikoLocalServer/Utils/GZipBytesUtil.cs new file mode 100644 index 0000000..b84d10a --- /dev/null +++ b/TaikoLocalServer/Utils/GZipBytesUtil.cs @@ -0,0 +1,20 @@ +using System.Text; +using ICSharpCode.SharpZipLib.GZip; + +namespace TaikoLocalServer.Utils; + +public static class GZipBytesUtil +{ + public static byte[] GetEmptyJsonGZipBytes() + { + var outputStream = new MemoryStream(1024); + using (var stream = new GZipOutputStream(outputStream)) + using (var writer = new StreamWriter(stream, Encoding.UTF8)) + { + writer.AutoFlush = true; + writer.WriteLine("{}"); + } + + return outputStream.ToArray(); + } +} \ No newline at end of file