forked from PGR/ascnet
Merge branch 'master' of https://git.lewd.wtf/pgr/ascnet
This commit is contained in:
commit
eaf0a33329
File diff suppressed because it is too large
Load Diff
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="MessagePack" Version="2.5.129" />
|
<PackageReference Include="MessagePack" Version="2.5.129" />
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
using AscNet.Common.MsgPack;
|
using AscNet.Common.MsgPack;
|
||||||
using MessagePack;
|
using MessagePack;
|
||||||
using static AscNet.GameServer.Packet;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace AscNet.GameServer.Handlers
|
namespace AscNet.GameServer.Handlers
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,6 @@ namespace AscNet.GameServer.Handlers
|
||||||
[PacketHandler("HandshakeRequest")]
|
[PacketHandler("HandshakeRequest")]
|
||||||
public static void HandshakeRequestHandler(Session session, byte[] packet)
|
public static void HandshakeRequestHandler(Session session, byte[] packet)
|
||||||
{
|
{
|
||||||
HandshakeRequest request = MessagePackSerializer.Deserialize<HandshakeRequest>(packet);
|
|
||||||
HandshakeResponse response = new()
|
HandshakeResponse response = new()
|
||||||
{
|
{
|
||||||
Code = 0,
|
Code = 0,
|
||||||
|
@ -23,13 +22,17 @@ namespace AscNet.GameServer.Handlers
|
||||||
[PacketHandler("LoginRequest")]
|
[PacketHandler("LoginRequest")]
|
||||||
public static void LoginRequestHandler(Session session, byte[] packet)
|
public static void LoginRequestHandler(Session session, byte[] packet)
|
||||||
{
|
{
|
||||||
|
LoginRequest request = MessagePackSerializer.Deserialize<LoginRequest>(packet);
|
||||||
session.SendResponse(new LoginResponse
|
session.SendResponse(new LoginResponse
|
||||||
{
|
{
|
||||||
Code = 0,
|
Code = 0,
|
||||||
ReconnectToken = "eeeeeeeeeeeeeeh",
|
ReconnectToken = "eeeeeeeeeeeeeeh",
|
||||||
UtcOffset = 0,
|
UtcOffset = 0,
|
||||||
UtcServerTime = (uint)DateTime.UtcNow.Ticks
|
UtcServerTime = (uint)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
NotifyLogin notifyLogin = JsonConvert.DeserializeObject<NotifyLogin>(File.ReadAllText("Data/NotifyLogin.json"))!;
|
||||||
|
session.SendPush(notifyLogin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,24 +68,35 @@ namespace AscNet.GameServer
|
||||||
|
|
||||||
foreach (var packet in packets)
|
foreach (var packet in packets)
|
||||||
{
|
{
|
||||||
switch (packet.Type)
|
byte[] debugContent = packet.Content;
|
||||||
|
try
|
||||||
{
|
{
|
||||||
case Packet.ContentType.Request:
|
switch (packet.Type)
|
||||||
Packet.Request request = MessagePackSerializer.Deserialize<Packet.Request>(packet.Content);
|
{
|
||||||
c.Log(request.Name);
|
case Packet.ContentType.Request:
|
||||||
PacketFactory.GetPacketHandler(request.Name)?.Invoke(this, request.Content);
|
Packet.Request request = MessagePackSerializer.Deserialize<Packet.Request>(packet.Content);
|
||||||
break;
|
c.Log(request.Name);
|
||||||
case Packet.ContentType.Push:
|
debugContent = request.Content;
|
||||||
Packet.Push push = MessagePackSerializer.Deserialize<Packet.Push>(packet.Content);
|
PacketFactory.GetPacketHandler(request.Name)?.Invoke(this, request.Content);
|
||||||
c.Log(push.Name);
|
break;
|
||||||
PacketFactory.GetPacketHandler(push.Name)?.Invoke(this, push.Content);
|
case Packet.ContentType.Push:
|
||||||
break;
|
Packet.Push push = MessagePackSerializer.Deserialize<Packet.Push>(packet.Content);
|
||||||
case Packet.ContentType.Exception:
|
c.Log(push.Name);
|
||||||
Packet.Exception exception = MessagePackSerializer.Deserialize<Packet.Exception>(packet.Content);
|
debugContent = push.Content;
|
||||||
c.Error($"Exception packet received: {exception.Code}, {exception.Message}");
|
PacketFactory.GetPacketHandler(push.Name)?.Invoke(this, push.Content);
|
||||||
break;
|
break;
|
||||||
default:
|
case Packet.ContentType.Exception:
|
||||||
break;
|
Packet.Exception exception = MessagePackSerializer.Deserialize<Packet.Exception>(packet.Content);
|
||||||
|
c.Error($"Exception packet received: {exception.Code}, {exception.Message}");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
c.Error($"Unknown packet received: {packet}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
c.Error("Failed to invoke handler: " + ex.Message + $", Raw {packet.Type} packet: " + BitConverter.ToString(debugContent).Replace("-", ""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"1.30.0": {
|
"1.30.0": {
|
||||||
"DocumentVersion": "1.30.4",
|
"DocumentVersion": "1.30.4",
|
||||||
"LaunchModuleVersion": "1.30.3",
|
"LaunchModuleVersion": "1.30.4",
|
||||||
"IndexMd5": "c5d4baac85a6e37b8109ea43dc045d31",
|
"IndexMd5": "c5d4baac85a6e37b8109ea43dc045d31",
|
||||||
"IndexSha1": "620d11a71e95e13ff2062d0e2a64466b596d8b78",
|
"IndexSha1": "620d11a71e95e13ff2062d0e2a64466b596d8b78",
|
||||||
"LaunchIndexSha1": "334196cd32a865ae030f39407b198016af0a8aa9"
|
"LaunchIndexSha1": "334196cd32a865ae030f39407b198016af0a8aa9"
|
||||||
|
|
|
@ -0,0 +1,315 @@
|
||||||
|
{
|
||||||
|
"PlayerData": {
|
||||||
|
"Id": 10000001,
|
||||||
|
"Name": "Test",
|
||||||
|
"Level": 50,
|
||||||
|
"Sign": "",
|
||||||
|
"DisplayCharId": 1021001,
|
||||||
|
"Birthday": {
|
||||||
|
"Mon": 1,
|
||||||
|
"Day": 1
|
||||||
|
},
|
||||||
|
"HonorLevel": 1,
|
||||||
|
"ServerId": "5001",
|
||||||
|
"Likes": 0,
|
||||||
|
"CurrTeamId": 1,
|
||||||
|
"ChallengeEventId": 0,
|
||||||
|
"CurrHeadPortraitId": 9000002,
|
||||||
|
"CurrHeadFrameId": 0,
|
||||||
|
"CurrMedalId": 0,
|
||||||
|
"AppearanceShowType": 0,
|
||||||
|
"DailyReceiveGiftCount": 0,
|
||||||
|
"DailyActivenessRewardStatus": 0,
|
||||||
|
"WeeklyActivenessRewardStatus": 0,
|
||||||
|
"Marks": [],
|
||||||
|
"ShowCharacters": [
|
||||||
|
1021001
|
||||||
|
],
|
||||||
|
"ShieldFuncList": [],
|
||||||
|
"AppearanceSettingInfo": {
|
||||||
|
"TitleType": 1,
|
||||||
|
"CharacterType": 1,
|
||||||
|
"FashionType": 1,
|
||||||
|
"WeaponFashionType": 1,
|
||||||
|
"DormitoryType": 1,
|
||||||
|
"DormitoryId": 21001
|
||||||
|
},
|
||||||
|
"CreateTime": 1626538573,
|
||||||
|
"LastLoginTime": 1691332946,
|
||||||
|
"ReportTime": 0,
|
||||||
|
"ChangeNameTime": 1626547796,
|
||||||
|
"Flags": 0
|
||||||
|
},
|
||||||
|
"TimeLimitCtrlConfigList": [],
|
||||||
|
"SharePlatformConfigList": [
|
||||||
|
{
|
||||||
|
"Id": 0,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 35,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 20,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 23,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 1,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 2,
|
||||||
|
"SdkId": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 11,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 14,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 16,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 15,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 24,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 70,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 46,
|
||||||
|
"SdkId": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 94,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 69,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 13,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 18,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 136,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 56,
|
||||||
|
"SdkId": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ItemList": [],
|
||||||
|
"ItemRecycleDict": {},
|
||||||
|
"CharacterList": [
|
||||||
|
{
|
||||||
|
"Id": 1021001,
|
||||||
|
"Level": 50,
|
||||||
|
"Exp": 564,
|
||||||
|
"Quality": 2,
|
||||||
|
"InitQuality": 1,
|
||||||
|
"Star": 4,
|
||||||
|
"Grade": 8,
|
||||||
|
"SkillList": [
|
||||||
|
{
|
||||||
|
"Id": 102101,
|
||||||
|
"Level": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102106,
|
||||||
|
"Level": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102111,
|
||||||
|
"Level": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102116,
|
||||||
|
"Level": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102117,
|
||||||
|
"Level": 11
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102118,
|
||||||
|
"Level": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102121,
|
||||||
|
"Level": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102123,
|
||||||
|
"Level": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 102122,
|
||||||
|
"Level": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EnhanceSkillList": [],
|
||||||
|
"FashionId": 6210101,
|
||||||
|
"CreateTime": 1626538573,
|
||||||
|
"TrustLv": 2,
|
||||||
|
"TrustExp": 80,
|
||||||
|
"Ability": 3387,
|
||||||
|
"LiberateLv": 2,
|
||||||
|
"CharacterHeadInfo": {
|
||||||
|
"HeadFashionId": 0,
|
||||||
|
"HeadFashionType": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"EquipList": [
|
||||||
|
{
|
||||||
|
"Id": 1,
|
||||||
|
"TemplateId": 3035002,
|
||||||
|
"CharacterId": 1021001,
|
||||||
|
"Level": 45,
|
||||||
|
"Exp": 60,
|
||||||
|
"Breakthrough": 4,
|
||||||
|
"ResonanceInfo": [],
|
||||||
|
"UnconfirmedResonanceInfo": [],
|
||||||
|
"AwakeSlotList": [],
|
||||||
|
"IsLock": false,
|
||||||
|
"CreateTime": 1626632133,
|
||||||
|
"IsRecycle": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"FashionList": [
|
||||||
|
{
|
||||||
|
"Id": 6210101,
|
||||||
|
"IsLock": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"HeadPortraitList": [
|
||||||
|
{
|
||||||
|
"Id": 9000001,
|
||||||
|
"LeftCount": 1,
|
||||||
|
"BeginTime": 1672341323
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"BaseEquipLoginData": {
|
||||||
|
"BaseEquipList": [],
|
||||||
|
"DressedList": []
|
||||||
|
},
|
||||||
|
"FubenData": {
|
||||||
|
"StageData": {},
|
||||||
|
"FubenBaseData": {
|
||||||
|
"RefreshTime": 0,
|
||||||
|
"SelectedCharId": 1021001,
|
||||||
|
"UrgentAlarmCount": 0,
|
||||||
|
"WeeklyUrgentCount": 0,
|
||||||
|
"DayUrgentCount": {}
|
||||||
|
},
|
||||||
|
"UnlockHideStages": [],
|
||||||
|
"StageDifficulties": []
|
||||||
|
},
|
||||||
|
"FubenMainLineData": {
|
||||||
|
"TreasureData": [],
|
||||||
|
"LastPassStage": {},
|
||||||
|
"MainChapterEventInfos": []
|
||||||
|
},
|
||||||
|
"FubenChapterExtraLoginData": {
|
||||||
|
"TreasureData": [],
|
||||||
|
"LastPassStage": [],
|
||||||
|
"ChapterEventInfos": []
|
||||||
|
},
|
||||||
|
"FubenUrgentEventData": {
|
||||||
|
"UrgentEventData": {}
|
||||||
|
},
|
||||||
|
"AutoFightRecords": [],
|
||||||
|
"TeamGroupData": {},
|
||||||
|
"TeamPrefabData": {},
|
||||||
|
"SignInfos": [],
|
||||||
|
"AssignChapterRecord": [],
|
||||||
|
"WeaponFashionList": [],
|
||||||
|
"PartnerList": [],
|
||||||
|
"ShieldedProtocolList": [],
|
||||||
|
"LimitedLoginData": null,
|
||||||
|
"UseBackgroundId": 14000001,
|
||||||
|
"FubenShortStoryLoginData": {
|
||||||
|
"TreasureData": [],
|
||||||
|
"LastPassStage": [],
|
||||||
|
"ChapterEventInfos": []
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue