Init enter game

This commit is contained in:
Naruse
2025-06-14 11:15:32 +08:00
commit 6a03b39f07
568 changed files with 92872 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetAssistantFrozenListReq)]
public class HandlerGetAssistantFrozenListReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetAssistantFrozenListRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetBlackListReq)]
public class HandlerGetBlackListReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetBlackListRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetConfigReq)]
public class HandlerGetConfigReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetConfigRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetCustomHeadDataReq)]
public class HandlerGetCustomHeadDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetCustomHeadDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetEmojiDataReq)]
public class HandlerGetEmojiDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetEmojiDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetFrameDataReq)]
public class HandlerGetFrameDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetFrameDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetMainDataReq)]
public class HandlerGetMainDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetMainDataRsp(connection.Player!));
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetMedalDataReq)]
public class HandlerGetMedalDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetMedalDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetOfflineResourceDataReq)]
public class HandlerGetOfflineResourceDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetOfflineResourceDataRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetPediaReq)]
public class HandlerGetPediaReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetPediaRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetPhonePendantDataReq)]
public class HandlerGetPhonePendantDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetPhonePendantDataRsp());
}
}

View File

@@ -0,0 +1,14 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetPhotoDataReq)]
public class HandlerGetPhotoDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = GetPhotoDataReq.Parser.ParseFrom(data);
await connection.SendPacket(new PacketGetPhotoDataRsp(req.Type));
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetPlayerCardReq)]
public class HandlerGetPlayerCardReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetPlayerCardRsp());
}
}

View File

@@ -0,0 +1,47 @@
using KianaBH.Data;
using KianaBH.Database;
using KianaBH.Database.Account;
using KianaBH.Database.Player;
using KianaBH.GameServer.Game.Player;
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.KcpSharp;
using KianaBH.Proto;
using KianaBH.Util;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetPlayerTokenReq)]
public class HandlerGetPlayerTokenReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = GetPlayerTokenReq.Parser.ParseFrom(data);
var account = AccountData.GetAccountByUid(int.Parse(req.AccountUid));
if (account == null)
{
await connection.SendPacket(new PacketGetPlayerTokenRsp(GetPlayerTokenRsp.Types.Retcode.AccountTypeError));
return;
}
if (!ResourceManager.IsLoaded)
// resource manager not loaded, return
return;
var prev = Listener.GetActiveConnection(account.Uid);
if (prev != null)
{
await connection.SendPacket(new PacketGetPlayerTokenRsp(GetPlayerTokenRsp.Types.Retcode.ForbidVisitor));
prev.Stop();
}
connection.State = SessionStateEnum.WAITING_FOR_LOGIN;
var pd = DatabaseHelper.GetInstance<PlayerData>(int.Parse(req.AccountUid));
connection.Player = pd == null ? new PlayerInstance(int.Parse(req.AccountUid)) : new PlayerInstance(pd);
connection.DebugFile = Path.Combine(ConfigManager.Config.Path.LogPath, "Debug/", $"{req.AccountUid}/",
$"Debug-{DateTime.Now:yyyy-MM-dd HH-mm-ss}.log");
await connection.Player.OnGetToken();
connection.Player.Connection = connection;
await connection.SendPacket(new PacketGetPlayerTokenRsp(connection.Player!,req.Token,req.AccountType));
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetRegionUidRangeReq)]
public class HandlerGetRegionUidRangeReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetRegionUidRangeRsp());
}
}

View File

@@ -0,0 +1,13 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.GetThemeDataReq)]
public class HandlerGetThemeDataReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
await connection.SendPacket(new PacketGetThemeDataRsp());
}
}

View File

@@ -0,0 +1,16 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.KcpSharp;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.PlayerLoginReq)]
public class HandlerPlayerLoginReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
connection.State = SessionStateEnum.ACTIVE;
await connection.Player!.OnLogin();
await connection.SendPacket(new PacketPlayerLoginRsp(connection.Player!));
}
}

View File

@@ -0,0 +1,14 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.SyncTimeReq)]
public class HandlerSyncTimeReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = SyncTimeReq.Parser.ParseFrom(data);
await connection.SendPacket(new PacketSyncTimeRsp(req.Seq));
}
}

View File

@@ -0,0 +1,14 @@
using KianaBH.GameServer.Server.Packet.Send.Player;
using KianaBH.Proto;
namespace KianaBH.GameServer.Server.Packet.Recv.Player;
[Opcode(CmdIds.TakeGalInteractTriggerEventReq)]
public class HandlerTakeGalInteractTriggerEventReq : Handler
{
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = TakeGalInteractTriggerEventReq.Parser.ParseFrom(data);
await connection.SendPacket(new PacketTakeGalInteractTriggerEventRsp(req.AvatarId,req.EventId));
}
}