mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 23:44:45 +01:00
Outpost is now working
This commit is contained in:
@@ -36,7 +36,7 @@ namespace DataFixupUtil
|
|||||||
var startPos = (int)ms.Position;
|
var startPos = (int)ms.Position;
|
||||||
|
|
||||||
var contents = FileContents.Skip(startPos).ToArray();
|
var contents = FileContents.Skip(startPos).ToArray();
|
||||||
if (contents.Length != 0 && contents[0] == 31)
|
if (contents.Length > 2 && contents[0] == 0x1f && contents[1] == 0x8b)
|
||||||
{
|
{
|
||||||
// gzip compression is used
|
// gzip compression is used
|
||||||
using Stream csStream = new GZipStream(new MemoryStream(contents), CompressionMode.Decompress);
|
using Stream csStream = new GZipStream(new MemoryStream(contents), CompressionMode.Decompress);
|
||||||
|
|||||||
@@ -10,12 +10,9 @@ namespace ProtobufViewUtil
|
|||||||
{
|
{
|
||||||
Console.WriteLine("Hello, World!");
|
Console.WriteLine("Hello, World!");
|
||||||
|
|
||||||
StaticDataPackResponse s = new StaticDataPackResponse();
|
ResGetOutpostData s = new ResGetOutpostData();
|
||||||
var inn = File.ReadAllBytes(@"C:\Users\Misha\Downloads\staticdatanew");
|
var inn = File.ReadAllBytes(@"C:\Users\Misha\Downloads\getoutpostdatach2done");
|
||||||
s.MergeFrom(inn);
|
s.MergeFrom(inn);
|
||||||
Console.WriteLine("salt1: " + Convert.ToBase64String(s.Salt1.ToArray()));
|
|
||||||
Console.WriteLine("salt2: " + Convert.ToBase64String(s.Salt2.ToArray()));
|
|
||||||
Console.WriteLine("sha: " + Convert.ToBase64String(s.Sha256Sum.ToArray()));
|
|
||||||
Console.WriteLine(s.ToString());
|
Console.WriteLine(s.ToString());
|
||||||
var outt = s.ToByteArray();
|
var outt = s.ToByteArray();
|
||||||
|
|
||||||
|
|||||||
24
nksrv/LobbyServer/Msgs/Inventory/WearEquipment.cs
Normal file
24
nksrv/LobbyServer/Msgs/Inventory/WearEquipment.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
using nksrv.Utils;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace nksrv.LobbyServer.Msgs.Inventory
|
||||||
|
{
|
||||||
|
[PacketPath("/inventory/wearequipment")]
|
||||||
|
public class WearEquipment : LobbyMsgHandler
|
||||||
|
{
|
||||||
|
protected override async Task HandleAsync()
|
||||||
|
{
|
||||||
|
var req = await ReadData<ReqWearEquipment>();
|
||||||
|
var user = GetUser();
|
||||||
|
|
||||||
|
var response = new ResWearEquipment();
|
||||||
|
// TODO implement
|
||||||
|
|
||||||
|
WriteData(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,14 +22,24 @@ namespace nksrv.LobbyServer.Msgs.Outpost
|
|||||||
var response = new ResGetOutpostData
|
var response = new ResGetOutpostData
|
||||||
{
|
{
|
||||||
OutpostBattleLevel = new NetOutpostBattleLevel() { Level = 1 },
|
OutpostBattleLevel = new NetOutpostBattleLevel() { Level = 1 },
|
||||||
CommanderBgm = new NetUserJukeboxDataV2() { CommandBgm = new() { Type = NetJukeboxBgmType.JukeboxTableId, JukeboxTableId = 3012 } },
|
CommanderBgm = new NetUserJukeboxDataV2() { CommandBgm = new() { Type = NetJukeboxBgmType.JukeboxTableId, JukeboxTableId = 5 } },
|
||||||
BattleTime = 864000000000, Jukebox = new(), MaxBattleTime = 864000000000
|
BattleTime = 864000000000, Jukebox = new(), MaxBattleTime = 864000000000, SkinGroupId = 1000
|
||||||
};
|
};
|
||||||
|
|
||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 1, BuildingId = 22401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 4, BuildingId = 22701, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 5, BuildingId = 22801, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 6, BuildingId = 22901, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 7, BuildingId = 23001, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 3, BuildingId = 23101, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 2, BuildingId = 23201, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 9, BuildingId = 23301, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 8, BuildingId = 23401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 10, BuildingId = 23501, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
response.Data.Add(new NetUserOutpostData() { SlotId = 38, BuildingId = 33601, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||||
|
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
WriteData(response);
|
WriteData(response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace nksrv.LobbyServer.Msgs.User
|
|||||||
response.SynchroLv = 1;
|
response.SynchroLv = 1;
|
||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||||
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 2, Type = NetJukeboxBgmType.JukeboxTableId, Location = NetJukeboxLocation.CommanderRoom };
|
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 5, Type = NetJukeboxBgmType.JukeboxTableId, Location = NetJukeboxLocation.CommanderRoom };
|
||||||
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 2, Type = NetJukeboxBgmType.JukeboxTableId, Location = NetJukeboxLocation.Lobby };
|
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 2, Type = NetJukeboxBgmType.JukeboxTableId, Location = NetJukeboxLocation.Lobby };
|
||||||
|
|
||||||
// Add default slot data
|
// Add default slot data
|
||||||
|
|||||||
@@ -8,9 +8,25 @@ namespace nksrv.LobbyServer.Msgs.Wallet
|
|||||||
protected override async Task HandleAsync()
|
protected override async Task HandleAsync()
|
||||||
{
|
{
|
||||||
var req = await ReadData<ReqRefreshChargeCurrencyData>();
|
var req = await ReadData<ReqRefreshChargeCurrencyData>();
|
||||||
|
var user = GetUser();
|
||||||
|
|
||||||
var response = new ResRefreshChargeCurrencyData();
|
var response = new ResRefreshChargeCurrencyData();
|
||||||
|
response.FreeCash = new();
|
||||||
|
response.ChargeCash = new();
|
||||||
|
|
||||||
|
foreach (var item in user.Currency)
|
||||||
|
{
|
||||||
|
if (item.Key == CurrencyType.FreeCash)
|
||||||
|
{
|
||||||
|
response.FreeCash.Type = (int)item.Key;
|
||||||
|
response.FreeCash.Value = item.Value;
|
||||||
|
}
|
||||||
|
else if (item.Key == CurrencyType.ChargeCash)
|
||||||
|
{
|
||||||
|
response.ChargeCash.Type = (int)item.Key;
|
||||||
|
response.ChargeCash.Value = item.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
WriteData(response);
|
WriteData(response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,7 +156,6 @@ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|||||||
}
|
}
|
||||||
|
|
||||||
var responseBytes = response.ToArray();
|
var responseBytes = response.ToArray();
|
||||||
File.WriteAllBytes("batch-response", responseBytes);
|
|
||||||
ctx.Response.ContentType = "multipart/mixed; boundary=\"f5d5cf4d-5627-422f-b3c6-532f1a0cbc0a\"";
|
ctx.Response.ContentType = "multipart/mixed; boundary=\"f5d5cf4d-5627-422f-b3c6-532f1a0cbc0a\"";
|
||||||
ctx.Response.OutputStream.Write(responseBytes);
|
ctx.Response.OutputStream.Write(responseBytes);
|
||||||
}
|
}
|
||||||
@@ -373,8 +372,6 @@ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// not empty body, TODO
|
|
||||||
File.WriteAllBytes("notemptybody", bytes);
|
|
||||||
body = bytes.Skip(currentByte).ToArray();
|
body = bytes.Skip(currentByte).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1866,4 +1866,10 @@ message NetInAppShopReceivableProductData {
|
|||||||
message ReqGetInAppShopReceivableProductList {}
|
message ReqGetInAppShopReceivableProductList {}
|
||||||
message ResGetInAppShopReceivableProductList {
|
message ResGetInAppShopReceivableProductList {
|
||||||
repeated NetInAppShopReceivableProductData Data = 1;
|
repeated NetInAppShopReceivableProductData Data = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message ReqWearEquipment {
|
||||||
|
int64 Isn = 2;
|
||||||
|
int64 Csn = 3;
|
||||||
|
}
|
||||||
|
message ResWearEquipment {}
|
||||||
@@ -114,7 +114,6 @@ namespace nksrv.StaticInfo
|
|||||||
ZipStream = new MemoryStream();
|
ZipStream = new MemoryStream();
|
||||||
AesCtrTransform(decryptionKey2, iv2, dataMs, ZipStream);
|
AesCtrTransform(decryptionKey2, iv2, dataMs, ZipStream);
|
||||||
|
|
||||||
File.WriteAllBytes("decryptednew.zip", ZipStream.ToArray());
|
|
||||||
ZipStream.Position = 0;
|
ZipStream.Position = 0;
|
||||||
|
|
||||||
MainZip = new ZipFile(ZipStream, false);
|
MainZip = new ZipFile(ZipStream, false);
|
||||||
|
|||||||
Reference in New Issue
Block a user