1
0
mirror of synced 2025-02-17 11:18:32 +01:00

Make the game accept bytes, but crash before song select

This commit is contained in:
asesidaa 2022-08-17 00:34:49 +08:00
parent b970119f07
commit 061e0f2c50
21 changed files with 104 additions and 29 deletions

View File

@ -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
};

View File

@ -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);

View File

@ -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
{

View File

@ -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
{

View File

@ -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
{

View File

@ -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);

View File

@ -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
{

View File

@ -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
{

View File

@ -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);

View File

@ -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
{

View File

@ -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);
}

View File

@ -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);

View File

@ -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<PlayResultDataRequest>(new ReadOnlyMemory<byte>(request.PlayresultData));
logger.LogInformation("Play result data {Data}", playResultData.Stringify());
var response = new PlayResultResponse()
var response = new PlayResultResponse
{
Result = 1
};

View File

@ -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
{

View File

@ -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
};

View File

@ -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
};

View File

@ -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

View File

@ -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,
};

View File

@ -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);

View File

@ -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
{

View File

@ -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();
}
}