public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); int shopItemId = buffer.ReadInt32(); Logger.Info(client, $"Purchase ShopItemId: {shopItemId}"); ShopItem shopItem = _server.GetShopItem(shopItemId); if (shopItem == null) { Logger.Error(client, $"Invalid ShopItemId: {shopItemId}"); return; } Character character = client.Character; if (character == null) { Logger.Error(client, $"Character is null"); return; } IBuffer b = new StreamBuffer(); BafPacket p = new BafPacket(PacketId.ShopBuyItemRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer b = new StreamBuffer(); BafPacket p = new BafPacket(PacketId.InitialRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer b = new StreamBuffer(); b.WriteInt32(0); b.WriteBytes(new byte[54]); BafPacket p = new BafPacket(PacketId.RoomStartSongRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { // DateTime foo = DateTime.Now; // long unixTime = ((DateTimeOffset) foo).ToUnixTimeSeconds(); // long ms = unixTime / 1000; // int ims = (int) ms; IBuffer b = new StreamBuffer(); b.WriteInt64(0); // read 8bytes BafPacket p = new BafPacket(PacketId.RoomGameLoadingFinishedRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); int unk = buffer.ReadInt32(); string bandName = buffer.ReadCString(); byte unk1 = buffer.ReadByte(); Logger.Info(client, $"Create Band:{bandName}"); IBuffer b = new StreamBuffer(); BafPacket p = new BafPacket(PacketId.CreateBandRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); int songId = buffer.ReadInt32(); byte difficulty = buffer.ReadByte(); SongDifficultyType songDifficulty = (SongDifficultyType)difficulty; Logger.Info(client, $"Selected Song: Id:{songId} Difficulty:{songDifficulty}"); IBuffer b = new StreamBuffer(); b.WriteInt32(songId); BafPacket p = new BafPacket(PacketId.RoomSelectSongRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); short channelTab = buffer.ReadInt16(); short channelNumber = buffer.ReadInt16(); Channel channel = _server.GetChannel(channelTab, channelNumber); client.Channel = channel; IBuffer b = new StreamBuffer(); b.WriteInt32(0); // unknown BafPacket p = new BafPacket(PacketId.JoinChannelRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { List <Channel> channels = _server.GetChannels(); IBuffer b = new StreamBuffer(); b.WriteInt32(channels.Count); foreach (Channel channel in channels) { b.WriteInt16(channel.Tab); b.WriteInt16(channel.Number); b.WriteInt32(channel.MaxLoad); b.WriteInt32(channel.CurrentLoad); } BafPacket p = new BafPacket(PacketId.ChannelListRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { Character character = client.Character; if (character == null) { Logger.Error(client, "Character is null"); return; } IBuffer b = new StreamBuffer(); b.WriteInt32(1); b.WriteCString(character.Name); b.WriteByte((byte)character.Gender); b.WriteInt32(character.GCoins); b.WriteInt32(character.MCoins); b.WriteInt32(character.Level); b.WriteInt32(20); // cog Music b.WriteInt32(30); b.WriteInt32(40); b.WriteInt32(50); b.WriteByte(0); b.WriteInt32(0); b.WriteByte(0); b.WriteByte(0); b.WriteInt32(character.GetShopItemId(ItemType.Head)); b.WriteInt32(character.GetShopItemId(ItemType.Hair)); b.WriteInt32(character.GetShopItemId(ItemType.Chest)); b.WriteInt32(character.GetShopItemId(ItemType.Pants)); b.WriteInt32(character.GetShopItemId(ItemType.Hands)); b.WriteInt32(character.GetShopItemId(ItemType.Shoes)); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); BafPacket p = new BafPacket(PacketId.LobbyProfileRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { List <Room> rooms = client.Channel.GetRooms(); IBuffer b = new StreamBuffer(); b.WriteInt32(rooms.Count); // num of rooms b.WriteByte(0); for (int i = 0; i < rooms.Count; i++) { Room room = rooms[i]; b.WriteInt32(room.Id); b.WriteInt32(1); //0 = invisible | 1 = wait | 2 = playing b.WriteCString(room.Name); b.WriteByte(room.HasPassword ? (byte)1 : (byte)0); b.WriteByte((byte)room.Team); b.WriteByte((byte)room.Key); b.WriteByte(room.AllowSpectators ? (byte)1 : (byte)0); b.WriteInt32(0); // battery b.WriteByte(0); // unknown b.WriteByte(6); // slots available int numPlayer = 1; b.WriteByte((byte)numPlayer); // slots occupied for (int j = 0; j < numPlayer; j++) { b.WriteInt32(j); // playerId ? } b.WriteByte(1); // unknown int numUnk = 1; b.WriteByte((byte)numUnk); // perhaps num viewer ? for (int j = 0; j < numUnk; j++) { b.WriteInt32(j); // playerId ? } } BafPacket p = new BafPacket(PacketId.RoomListRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer b = new StreamBuffer(); b.WriteInt32(0); b.WriteInt32(0); b.WriteCString(client.Character.Name); b.WriteByte(0); b.WriteInt32(99); // level b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteCString("TITLE"); b.WriteCString("SELF INTRODUCTION"); b.WriteByte(0); b.WriteInt32(20); // friends b.WriteCString("AGE"); b.WriteCString("START SIGN"); b.WriteCString("CITY"); b.WriteCString("DISCORD"); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); BafPacket p = new BafPacket(PacketId.ProfileRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); string message = buffer.ReadCString(); Logger.Info(client, $"ChannelChat Message: {message}"); Character character = client.Character; if (character == null) { Logger.Error(client, "Character is null"); return; } IBuffer b = new StreamBuffer(); b.WriteCString(character.Name); b.WriteCString(message); BafPacket p = new BafPacket(PacketId.ChannelChatRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); string account = buffer.ReadCString(); string password = buffer.ReadCString(); string pin = buffer.ReadCString(); Logger.Debug(client, $"Login: Acc:{account} Pw:{password} Pin:{pin}"); Character character = new Character(); character.Name = account; client.Character = character; IBuffer b = new StreamBuffer(); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteCString("TESTA"); b.WriteCString(character.Name); b.WriteByte(0); b.WriteByte(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteCString("TESTC"); b.WriteCString("TESTD"); b.WriteCString("TESTE"); b.WriteCString("TESTF"); b.WriteCString("TESTG"); b.WriteByte(0); b.WriteByte(0); b.WriteCString("TESTH"); b.WriteByte(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteInt32(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteByte(0); b.WriteCString("TESTI"); b.WriteCString("TESTJ"); b.WriteInt32(0); b.WriteInt32(0); BafPacket p = new BafPacket(PacketId.LoginRes, b.GetAllBytes()); client.Send(p); }
public override void Handle(BafClient client, BafPacket packet) { IBuffer buffer = packet.CreateBuffer(); string name = buffer.ReadCString(); byte pTeamType = buffer.ReadByte(); byte pKeyType = buffer.ReadByte(); byte pAllowSpectators = buffer.ReadByte(); bool allowSpectators = pAllowSpectators == 1; byte pHasPassword = buffer.ReadByte(); bool hasPassword = pHasPassword == 1; string password = null; if (hasPassword) { password = buffer.ReadCString(); } uint unk4 = buffer.ReadUInt32(); TeamType team = (TeamType)pTeamType; KeyType key = (KeyType)pKeyType; Room room = client.Channel.CreateRoom(name, team, key, allowSpectators, password); client.Room = room; Logger.Debug(client, $"Create Room: Name:{name} Pw:{password} Key:{key} Team:{team} Spectators:{allowSpectators} unk4:{unk4}"); IBuffer b = new StreamBuffer(); b.WriteInt32(room.Id); b.WriteCString(room.Name); b.WriteByte((byte)room.Team); b.WriteByte((byte)room.Key); b.WriteByte(room.HasPassword ? (byte)1 : (byte)0); b.WriteInt32(0); // unknown b.WriteByte(room.AllowSpectators ? (byte)1 : (byte)0); // spectator 0=false 1 = true b.WriteInt32(0); // battery b.WriteByte(0); // unknown BafPacket p = new BafPacket(PacketId.AnnounceRoomRes, b.GetAllBytes()); client.Send(p); IBuffer b1 = new StreamBuffer(); b1.WriteInt32(0); b1.WriteInt32(room.Id); b1.WriteByte(0); b1.WriteByte(0); b1.WriteByte(0); b1.WriteByte(0); b1.WriteByte(0); b1.WriteInt32(0); b1.WriteByte(0); b1.WriteInt32(0); b1.WriteByte(0); BafPacket p1 = new BafPacket(PacketId.CreateRoomRes, b1.GetAllBytes()); client.Send(p1); }