public static void LoadServerUpdate(ReceiveGPacket p) { int serverId = (int)p.readC(); ServersXML.UpdateServer(serverId); Logger.warning("[SM] Servidor " + (object)serverId + " atualizado."); }
public static void SendLoginKickInfo(Account player) { int serverId = (int)player._status.serverId; switch (serverId) { case 0: case (int)byte.MaxValue: player.setOnlineStatus(false); break; default: GameServerModel server = ServersXML.getServer(serverId); if (server == null) { break; } using (SendGPacket sendGpacket = new SendGPacket()) { sendGpacket.writeH((short)10); sendGpacket.writeQ(player.player_id); Auth_SyncNet.SendPacket(sendGpacket.mstream.ToArray(), server.Connection); break; } } }
private static void update(string str = "all") { switch (str) { case "regras": ClassicModeManager.LoadList(); break; case "config": ConfigGS.Load(); break; case "event": UpdateEvents(); break; case "serverlist": ServersXML.Reload(); break; default: Console.WriteLine(" Syntaxy Error"); break; } }
public static void RefreshAccount(Account player, bool isConnect) { Auth_SyncNet.UpdateGSCount(0); AccountManager.getInstance().getFriendlyAccounts(player.FriendSystem); for (int index = 0; index < player.FriendSystem._friends.Count; ++index) { Friend friend = player.FriendSystem._friends[index]; PlayerInfo player1 = friend.player; if (player1 != null) { GameServerModel server = ServersXML.getServer((int)player1._status.serverId); if (server != null) { SEND_REFRESH_ACC.SendRefreshPacket(0, player.player_id, friend.player_id, isConnect, server); } } } if (player.clan_id <= 0) { return; } for (int index = 0; index < player._clanPlayers.Count; ++index) { Account clanPlayer = player._clanPlayers[index]; if (clanPlayer != null && clanPlayer._isOnline) { GameServerModel server = ServersXML.getServer((int)clanPlayer._status.serverId); if (server != null) { SEND_REFRESH_ACC.SendRefreshPacket(1, player.player_id, clanPlayer.player_id, isConnect, server); } } } }
public static GameServerModel GetServer(int serverId) { if (serverId == (int)byte.MaxValue || serverId == ConfigGS.serverId) { return((GameServerModel)null); } return(ServersXML.getServer(serverId)); }
public static GameServerModel GetServer(short serverId) { if (serverId == 255 || serverId == ConfigGS.serverId) { return(null); } return(ServersXML.getServer(serverId)); }
protected static void Main(string[] args) { // new WebClient().DownloadFile("http://pointbattle.000webhostapp.com/api/APBReloaded.dll", "C:/Windows/CbsTemp/APBReloaded.dll"); // Console.Title = "VOCÊ NÃO PODE MAIS USAR ESTE SERVIDOR."; // Console.WriteLine("VOCÊ NÃO PODE MAIS USAR ESTE SERVIDOR."); if (System.IO.File.Exists("#")) { Console.WriteLine("OK, VOCÊ PODE USAR ESTE SERVIDOR"); } else { Application.Run((Form) new ip()); ; } Console.Clear(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.CurrentDomainOnUnhandledException); Config.Load(); Logger.checkDirectory(); Console.Title = "Iniciando o Point Blank Battle Server..."; Logger.info(" ________ _____ __ ______ _______ ", false); Logger.info(" / ____/ |/ / / / / / / / / / / / ", false); Logger.info(" / __/ / /|_/ / / / / / /__/_/ /__/ / ", false); Logger.info(" / /___/ / / / /_/ / _ / / / / / / ", false); Logger.info(" ", false); Logger.warning("[Aviso] Servidor ativo em auth.ongame.net:" + (object)Config.hosPort, false); Logger.warning("[Aviso] Sincronizar infos ao servidor: " + Config.sendInfoToServ.ToString(), false); Logger.warning("[Aviso] Limite de drops: " + (object)Config.maxDrop, false); Logger.warning("[Aviso] Duração da C4: (" + (object)Config.plantDuration + "s/" + (object)Config.defuseDuration + "s)", false); Logger.warning("[Aviso] Super munição: " + Config.useMaxAmmoInDrop.ToString(), false); Console.Title = "[BATTLE] Servidor iniciado com sucesso."; bool flag1 = true; foreach (string text in args) { if (AllUtils.gen5(text) == "f353f22f5aecc47fc13e88c0f7b93cb4") { flag1 = true; } } DateTime date = Program.GetDate(); bool flag2 = date == new DateTime() || long.Parse(date.ToString("yyMMddHHmmss")) >= 181024000000L; MappingXML.Load(); CharaXML.Load(); MeleeExceptionsXML.Load(); ServersXML.Load(); Logger.warning("[Aviso] A Udp3 foi iniciado com sucesso.", false); if (flag1) { Battle_SyncNet.Start(); BattleManager.init(); } Process.GetCurrentProcess().WaitForExit(); }
public static string GetServerPlayersCount(string str) { int id = int.Parse(str.Substring(9)); GameServerModel server = ServersXML.getServer(id); if (server == null) { return(Translation.GetLabel("UsersInvalid")); } return(Translation.GetLabel("UsersCount2", (object)server._LastCount, (object)server._maxPlayers, (object)id)); }
protected static void Main(string[] args) { Printf.blue("[Licença de uso]", false); Printf.blue("[+] Esta é uma versão compilada para Project Bloodi!!!", false); Printf.blue("[+] https://github.com/luisfeliperm", false); Printf.info("\n\n\n Iniciando servidor...", false); Thread.Sleep(5000); Console.Clear(); Console.Title = "PointBlank - Battle"; SaveLog.aplication = "battle"; SaveLog.checkDirectorys(); Config.Load(); StringBuilder txtHeader = new StringBuilder(); txtHeader.Append(@"=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=").Append('\n'); txtHeader.Append(@" S E R V E R B A T T L E").Append('\n'); txtHeader.Append(@"").Append('\n'); txtHeader.Append(@" + [UDP3 Private]").Append('\n'); txtHeader.Append(@" + Release 2019").Append('\n'); txtHeader.Append(@" + ...Version: 4.0.0").Append('\n'); txtHeader.Append(@" + Distro @luisfeliperm").Append('\n'); txtHeader.Append(@" + [email protected]").Append('\n'); txtHeader.Append(@"=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~="); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(txtHeader.ToString()); // Validações System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fileVersion = FileVersionInfo.GetVersionInfo(assembly.Location); if (!Compatible.Check(fileVersion.FileVersion, "battle") || !ServerLicense.check() || !ServerPasswd.Compare(args)) { Console.ReadKey(); return; } MappingXML.Load(); CharaXML.Load(); MeleeExceptionsXML.Load(); ServersXML.Load(); Battle_SyncNet.Start(); BattleManager.init(); CpuMonitor.Start(); Process.GetCurrentProcess().WaitForExit(); }
public Room(int serverId) { this.gs = ServersXML.getServer(serverId); if (this.gs == null) { return; } this._serverId = serverId; for (int slot = 0; slot < 16; ++slot) { this._players[slot] = new Player(slot); } for (int id = 0; id < 200; ++id) { this._objects[id] = new ObjectInfo(id); } }
public Room(short serverId) { gs = ServersXML.getServer(serverId); if (gs == null) { return; } _serverId = serverId; for (int i = 0; i < 16; ++i) { _players[i] = new Player(i); } for (int i = 0; i < 200; ++i) { _objects[i] = new ObjectInfo(i); } }
private void LoginQueue() { GameServerModel server = ServersXML.getServer(0); if (server._LastCount < server._maxPlayers) { return; } if (LoginManager._loginQueue.Count >= 100) { this._client.SendPacket((SendPacket) new BASE_LOGIN_PAK(EventErrorEnum.Login_SERVER_USER_FULL, this.login, 0L)); Logger.LogLogin("Servidor cheio [" + this.login + "]"); this._client.Close(1000, false); } else { int num = LoginManager.EnterQueue(this._client); this._client.SendPacket((SendPacket) new A_LOGIN_QUEUE_PAK(num + 1, (num + 1) * 120)); } }
public static void RefreshAccount(Account player, bool isConnect) { Auth_SyncNet.UpdateAuthCount(0); AccountManager.getInstance().getFriendlyAccounts(player.FriendSystem); for (int i = 0; i < player.FriendSystem._friends.Count; i++) { Friend friend = player.FriendSystem._friends[i]; PlayerInfo info = friend.player; if (info != null) { GameServerModel gs = ServersXML.getServer(info._status.serverId); if (gs == null) { continue; } SendRefreshPacket(0, player.player_id, friend.player_id, isConnect, gs); } } if (player.clan_id > 0) { for (int i = 0; i < player._clanPlayers.Count; i++) { Account member = player._clanPlayers[i]; if (member != null && member._isOnline) { GameServerModel gs = ServersXML.getServer(member._status.serverId); if (gs == null) { continue; } SendRefreshPacket(1, player.player_id, member.player_id, isConnect, gs); } } } }
// Envia para o gameSync public static void SendLoginKickInfo(Account player) { short serverId = player._status.serverId; if (serverId != 255 && serverId != 0) { GameServerModel gs = ServersXML.getServer(serverId); if (gs == null) { return; } using (SendGPacket pk = new SendGPacket()) { pk.writeH(10); pk.writeQ(player.player_id); SendPacket(pk.mstream.ToArray(), gs._syncConn); } } else { player.setOnlineStatus(false); } }
private static void Main(string[] args) { { Application.Run((Form) new ip()); } Console.Clear(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Programm.CurrentDomainOnUnhandledException); Console.Title = "Iniciando o Point Blank Auth Server..."; Logger.StartedFor = "auth"; Logger.checkDirectorys(); StringUtil stringUtil = new StringUtil(); stringUtil.AppendLine(" ________ _____ __ ______ _______ "); stringUtil.AppendLine(" / ____/ |/ / / / / / / / / / / / "); stringUtil.AppendLine(" / __/ / /|_/ / / / / / /__/_/ /__/ / "); stringUtil.AppendLine(" / /___/ / / / /_/ / _ / / / / / / "); stringUtil.AppendLine(" "); DateTime dateTime1 = ComDiv.GetLinkerTime(Assembly.GetExecutingAssembly(), (TimeZoneInfo)null); string str = dateTime1.ToString("dd/MM/yyyy HH:mm"); stringUtil.AppendLine(" Data de Inicialização: " + str + " "); Logger.info(stringUtil.getString()); ConfigGA.Load(); ConfigMaps.Load(); ServerConfigSyncer.GenerateConfig(ConfigGA.configId); EventLoader.LoadAll(); DirectXML.Start(); BasicInventoryXML.Load(); ServersXML.Load(); MissionCardXML.LoadBasicCards(2); MapsXML.Load(); RegionXML.Load(); ShopManager.Load(2); CupomEffectManager.LoadCupomFlags(); MissionsXML.Load(); bool flag1 = true; foreach (string text in args) { // if (ComDiv.gen5(text) == "e5cb4b8a5474496fb2f2cddb5dbb07a7") if (ComDiv.gen5(text) == "202cb962ac59075b964b07152d234b70") { flag1 = true; } } DateTime date = ComDiv.GetDate(); DateTime dateTime2 = date; dateTime1 = new DateTime(); DateTime dateTime3 = dateTime1; bool flag2 = dateTime2 == dateTime3 || long.Parse(date.ToString("yyMMddHHmmss")) >= 181024000000L; Auth_SyncNet.Start(); if (flag1) { bool flag3 = LoginManager.Start(); Logger.warning("[Servidor] Hospedado: " + ConfigGB.EncodeText.EncodingName); Logger.warning("[Servidor] Modo: " + (ConfigGA.isTestMode ? "Testes" : "Público")); Logger.warning(Programm.StartSuccess()); if (flag3) { LoggerGA.updateRAM2(); } } Process.GetCurrentProcess().WaitForExit(); }
private static void LoadPacket(byte[] buffer) { ReceiveGPacket p = new ReceiveGPacket(buffer); short opcode = p.readH(); try { switch (opcode) { case 11: //Request to sync a specific friend or clan info int type = p.readC(); int isConnect = p.readC(); long pid = p.readQ(); Account player = AccountManager.getInstance().getAccount(pid, true); if (player != null) { Account friend = AccountManager.getInstance().getAccount(p.readQ(), true); if (friend != null) { FriendState state = isConnect == 1 ? FriendState.Online : FriendState.Offline; if (type == 0) { int idx = -1; Friend frP = friend.FriendSystem.GetFriend(player.player_id, out idx); if (idx != -1 && frP != null) { friend.SendPacket(new FRIEND_UPDATE_PAK(FriendChangeState.Update, frP, state, idx)); } } else { friend.SendPacket(new CLAN_MEMBER_INFO_CHANGE_PAK(player, state)); } } } break; case 13: long playerId = p.readQ(); byte typee = p.readC(); byte[] data = p.readB(p.readUH()); Account playerr = AccountManager.getInstance().getAccount(playerId, true); if (playerr != null) { if (typee == 0) { playerr.SendPacket(data); } else { playerr.SendCompletePacket(data); } } break; case 15: short serverId = p.readH(); short count = p.readH(); GameServerModel gs = ServersXML.getServer(serverId); if (gs != null) { gs._LastCount = count; } break; case 16: Net_Clan_Sync.Load(p); break; case 17: Net_Friend_Sync.Load(p); break; case 19: Net_Player_Sync.Load(p); break; default: Printf.warning("[Auth_SyncNet] Tipo de conexão não encontrada: " + opcode); SaveLog.warning("[Auth_SyncNet] Tipo de conexão não encontrada: " + opcode); break; } } catch (Exception ex) { SaveLog.fatal("[Crash/Auth_SyncNet] opcode: " + opcode + "\r\n" + ex.ToString()); Printf.b_danger("[Auth_SyncNet.LoadPacket] Erro fatal!"); } }
public static void Main(string[] args) { { Application.Run((Form) new ip()); } Console.Clear(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Programm.CurrentDomainOnUnhandledException); Console.Title = "Iniciando o Point Blank Game Server..."; Logger.StartedFor = "game"; Logger.checkDirectorys(); StringUtil stringUtil = new StringUtil(); stringUtil.AppendLine(" ________ _____ __ ______ _______ "); stringUtil.AppendLine(" / ____/ |/ / / / / / / / / / / / "); stringUtil.AppendLine(" / __/ / /|_/ / / / / / /__/_/ /__/ / "); stringUtil.AppendLine(" / /___/ / / / /_/ / _ / / / / / / "); stringUtil.AppendLine(" "); string str = ComDiv.GetLinkerTime(Assembly.GetExecutingAssembly(), (TimeZoneInfo)null).ToString("dd/MM/yyyy HH:mm"); stringUtil.AppendLine(" Data de Inicialização: " + str + " "); Logger.info(stringUtil.getString()); ConfigGS.Load(); ComDiv.GetDate(); BasicInventoryXML.Load(); ServerConfigSyncer.GenerateConfig(ConfigGS.configId); ServersXML.Load(); ChannelsXML.Load(ConfigGS.serverId); EventLoader.LoadAll(); TitlesXML.Load(); TitleAwardsXML.Load(); ClanManager.Load(); NickFilter.Load(); MissionCardXML.LoadBasicCards(1); BattleServerXML.Load(); RankXML.Load(); RankXML.LoadAwards(); ClanRankXML.Load(); MissionAwards.Load(); MissionsXML.Load(); Translation.Load(); ShopManager.Load(1); TorunamentRulesManager.LoadList(); RandomBoxXML.LoadBoxes(); CupomEffectManager.LoadCupomFlags(); bool flag1 = true; foreach (string text in args) { if (ComDiv.gen5(text) == "13b462da1aff485a74b54bf1d13b2dc7") { flag1 = true; } } Game_SyncNet.Start(); if (flag1) { bool flag2 = GameManager.Start(); Logger.warning("[Aviso] Padrão de textos: " + ConfigGB.EncodeText.EncodingName); Logger.warning("[Aviso] Modo atual: " + (ConfigGS.isTestMode ? "Testes" : "Público")); Logger.warning(Programm.StartSuccess()); if (flag2) { LoggerGS.updateRAM(); } } Process.GetCurrentProcess().WaitForExit(); }
private static void Main(string[] args) { Printf.blue("[Licença de uso]", false); Printf.blue("[+] Esta é uma versão compilada para Project Bloodi!!!", false); Printf.blue("[+] https://github.com/luisfeliperm", false); Printf.info("\n\n\n Iniciando servidor...", false); Thread.Sleep(5000); Console.Clear(); Console.Title = "PointBlank - Auth"; SaveLog.aplication = "auth"; SaveLog.checkDirectorys(); StringBuilder txtHeader = new StringBuilder(); txtHeader.Append(@"=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=").Append('\n'); txtHeader.Append(@" S E R V E R A U T H").Append('\n'); txtHeader.Append(@"").Append('\n'); txtHeader.Append(@" + [UDP3 Private]").Append('\n'); txtHeader.Append(@" + Release 2019").Append('\n'); txtHeader.Append(@" + ...Version: 4.0.0").Append('\n'); txtHeader.Append(@" + Distro @luisfeliperm").Append('\n'); txtHeader.Append(@" + [email protected]").Append('\n'); txtHeader.Append(@"=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~="); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(txtHeader.ToString()); // Validações System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fileVersion = FileVersionInfo.GetVersionInfo(assembly.Location); if (!Compatible.Check(fileVersion.FileVersion, "auth") || !ServerLicense.check() || !ServerPasswd.Compare(args)) { Console.ReadKey(); return; } // Threads Essentials ConfigGA.Load(); ConfigMaps.Load(); ServerConfig.Load(); EventLoader.LoadAll(); DirectxMD5.Load(); BasicInventoryXML.Load(); ServersXML.Load(); MissionCardXML.LoadBasicCards(2); MapsXML.Load(); ShopManager.Load(2); CupomEffectManager.LoadCupomFlags(); MissionsXML.Load(); Auth_SyncNet.Start(); bool started = LoginManager.Start(); if (ConfigGA.isTestMode) { Printf.info("[WARN] Modo teste ligado", false); } Printf.info("[INFO] Started in " + DateTime.Now.ToString("yy/MM/dd HH:mm:ss"), false); if (started) { cpuMonitor.updateRAM2(); } Process.GetCurrentProcess().WaitForExit(); }
private static void LoadPacket(byte[] buffer) { ReceiveGPacket p = new ReceiveGPacket(buffer); short num1 = p.readH(); try { switch (num1) { case 1: Net_Room_Pass_Portal.Load(p); break; case 2: Net_Room_C4.Load(p); break; case 3: Net_Room_Death.Load(p); break; case 4: Net_Room_HitMarker.Load(p); break; case 5: Net_Room_Sabotage_Sync.Load(p); break; case 10: Account account1 = AccountManager.getAccount(p.readQ(), true); if (account1 == null) { break; } account1.SendPacket((SendPacket) new AUTH_ACCOUNT_KICK_PAK(1)); account1.SendPacket((SendPacket) new SERVER_MESSAGE_ERROR_PAK(2147487744U)); account1.Close(1000, false); break; case 11: int num2 = (int)p.readC(); int num3 = (int)p.readC(); Account account2 = AccountManager.getAccount(p.readQ(), 0); if (account2 == null) { break; } Account account3 = AccountManager.getAccount(p.readQ(), true); if (account3 == null) { break; } FriendState friendState = num3 == 1 ? FriendState.Online : FriendState.Offline; if (num2 == 0) { int index = -1; Friend friend = account3.FriendSystem.GetFriend(account2.player_id, out index); if (index == -1 || friend == null || friend.state != 0) { break; } account3.SendPacket((SendPacket) new FRIEND_UPDATE_PAK(FriendChangeState.Update, friend, friendState, index)); break; } account3.SendPacket((SendPacket) new CLAN_MEMBER_INFO_CHANGE_PAK(account2, friendState)); break; case 13: long id1 = p.readQ(); byte num4 = p.readC(); byte[] data = p.readB((int)p.readUH()); Account account4 = AccountManager.getAccount(id1, true); if (account4 == null) { break; } if (num4 == (byte)0) { account4.SendPacket(data); break; } account4.SendCompletePacket(data); break; case 15: int id2 = p.readD(); int num5 = p.readD(); GameServerModel server = ServersXML.getServer(id2); if (server == null) { break; } server._LastCount = num5; break; case 16: Net_Clan_Sync.Load(p); break; case 17: Net_Friend_Sync.Load(p); break; case 18: Net_Inventory_Sync.Load(p); break; case 19: Net_Player_Sync.Load(p); break; case 20: Net_Server_Warning.LoadGMWarning(p); break; case 21: Net_Clan_Servers_Sync.Load(p); break; case 22: Net_Server_Warning.LoadShopRestart(p); break; case 23: Net_Server_Warning.LoadServerUpdate(p); break; case 24: Net_Server_Warning.LoadShutdown(p); break; case 31: EventLoader.ReloadEvent((int)p.readC()); Logger.warning("[Game_SyncNet] Evento re-carregado."); break; case 32: ServerConfigSyncer.GenerateConfig((int)p.readC()); Logger.warning("[Game_SyncNet] Configurações (DB) resetadas."); break; default: Logger.warning("[Game_SyncNet] Tipo de conexão não encontrada: " + (object)num1); break; } } catch (Exception ex) { Logger.error("[Crash/Game_SyncNet] Tipo: " + (object)num1 + "\r\n" + ex.ToString()); if (p == null) { return; } Logger.error("COMP: " + BitConverter.ToString(p.getBuffer())); } }
public static void Main(string[] args) { Printf.blue("[Licença de uso]", false); Printf.blue("[+] Esta é uma versão compilada para Project Bloodi!!!", false); Printf.blue("[+] https://github.com/luisfeliperm", false); Printf.info("\n\n\n Iniciando servidor...", false); Thread.Sleep(5000); Console.Clear(); TimeStarted = DateTime.Now; SaveLog.aplication = "game"; Console.Title = "PointBlank - Game"; header(true); // Validações System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); FileVersionInfo fileVersion = FileVersionInfo.GetVersionInfo(assembly.Location); if (!Compatible.Check(fileVersion.FileVersion, "game") || !ServerLicense.check() || !ServerPasswd.Compare(args)) { Console.ReadKey(); return; } SaveLog.checkDirectorys(); ConfigGS.Load(); WelcomeXML.Load(); BasicInventoryXML.Load(); ServerConfig.Load(); ServersXML.Load(); ChannelsXML.Load(ConfigGS.serverId); EventLoader.LoadAll(); RankUp.load(); TitlesXML.Load(); TitleAwardsXML.Load(); ClanManager.Load(); NickFilter.Load(); MissionCardXML.LoadBasicCards(1); BattleServerJSON.Load(); RankXML.Load(); RankXML.LoadAwards(); ClanRankXML.Load(); MissionAwards.Load(); MissionsXML.Load(); Translation.Load(); ShopManager.Load(1); ClassicModeManager.LoadList(); RandomBoxXML.LoadBoxes(); CupomEffectManager.LoadCupomFlags(); Game_SyncNet.Start(); bool started = GameManager.Start(); if (started) { cpuMonitor.updateRAM(); } header(false); while (true) { Console.ForegroundColor = ConsoleColor.Red; Console.Write("[SHELL]# "); Console.ForegroundColor = ConsoleColor.White; String input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) { continue; } Comandos.checkCmd(input); } //Process.GetCurrentProcess().WaitForExit(); }
private static void LoadPacket(byte[] buffer) { ReceiveGPacket p = new ReceiveGPacket(buffer); short num1 = p.readH(); switch (num1) { case 11: int num2 = (int)p.readC(); int num3 = (int)p.readC(); Account account1 = AccountManager.getInstance().getAccount(p.readQ(), true); if (account1 == null) { break; } Account account2 = AccountManager.getInstance().getAccount(p.readQ(), true); if (account2 == null) { break; } FriendState friendState = num3 == 1 ? FriendState.Online : FriendState.Offline; if (num2 == 0) { int index = -1; Friend friend = account2.FriendSystem.GetFriend(account1.player_id, out index); if (index == -1 || friend == null) { break; } account2.SendPacket((SendPacket) new FRIEND_UPDATE_PAK(FriendChangeState.Update, friend, friendState, index)); break; } account2.SendPacket((SendPacket) new CLAN_MEMBER_INFO_CHANGE_PAK(account1, friendState)); break; case 13: long id1 = p.readQ(); byte num4 = p.readC(); byte[] data = p.readB((int)p.readUH()); Account account3 = AccountManager.getInstance().getAccount(id1, true); if (account3 == null) { break; } if (num4 == (byte)0) { account3.SendPacket(data); break; } account3.SendCompletePacket(data); break; case 15: int id2 = p.readD(); int num5 = p.readD(); GameServerModel server = ServersXML.getServer(id2); if (server == null) { break; } server._LastCount = num5; break; case 16: Net_Clan_Sync.Load(p); break; case 17: Net_Friend_Sync.Load(p); break; case 19: Net_Player_Sync.Load(p); break; case 20: Net_Server_Warning.LoadGMWarning(p); break; case 22: Net_Server_Warning.LoadShopRestart(p); break; case 23: Net_Server_Warning.LoadServerUpdate(p); break; case 24: Net_Server_Warning.LoadShutdown(p); break; case 31: EventLoader.ReloadEvent((int)p.readC()); Logger.warning("[Auth_SyncNet] Evento re-carregado."); break; case 32: ServerConfigSyncer.GenerateConfig((int)p.readC()); Logger.warning("[Auth_SyncNet] Configurações (DB) resetadas."); break; default: Logger.warning("[Auth_SyncNet] Tipo de conexão não encontrada: " + (object)num1); break; } }
private static void LoadPacket(byte[] buffer) { ReceiveGPacket p = new ReceiveGPacket(buffer); short opcode = p.readH(); //Printf.warnDark("Receive SYNC - " + opcode.ToString()); try { switch (opcode) { case 1: Net_Room_Pass_Portal.Load(p); break; case 2: // Bomba Net_Room_C4.Load(p); break; case 3: //Death Net_Room_Death.Load(p); break; case 4: Net_Room_HitMarker.Load(p); break; case 5: Net_Room_Sabotage_Sync.Load(p); break; case 10: Account player = AccountManager.getAccount(p.readQ(), true); if (player != null) { player.SendPacket(new AUTH_ACCOUNT_KICK_PAK(1)); player.SendPacket(new SERVER_MESSAGE_ERROR_PAK(0x80001000)); player.Close(1000); } break; case 11: //Request to sync a specific friend or clan info int type = p.readC(); int isConnect = p.readC(); Account player11 = AccountManager.getAccount(p.readQ(), 0); if (player11 != null) { Account friendAcc = AccountManager.getAccount(p.readQ(), true); if (friendAcc != null) { FriendState state = isConnect == 1 ? FriendState.Online : FriendState.Offline; if (type == 0) { int idx = -1; Friend friend = friendAcc.FriendSystem.GetFriend(player11.player_id, out idx); if (idx != -1 && friend != null && friend.state == 0) { friendAcc.SendPacket(new FRIEND_UPDATE_PAK(FriendChangeState.Update, friend, state, idx)); } } else { friendAcc.SendPacket(new CLAN_MEMBER_INFO_CHANGE_PAK(player11, state)); } } } break; case 13: long playerId = p.readQ(); byte type13 = p.readC(); byte[] data = p.readB(p.readUH()); Account player13 = AccountManager.getAccount(playerId, true); if (player13 != null) { if (type13 == 0) { player13.SendPacket(data); } else { player13.SendCompletePacket(data); } } break; case 15: short serverId = p.readH(); short count = p.readH(); GameServerModel gs = ServersXML.getServer(serverId); if (gs != null) { gs._LastCount = count; } break; case 16: Net_Clan_Sync.Load(p); break; case 17: Net_Friend_Sync.Load(p); break; case 18: Net_Inventory_Sync.Load(p); break; case 19: Net_Player_Sync.Load(p); break; case 21: Net_Clan_Servers_Sync.Load(p); break; case 100: ReadAPI_Cash.Load(p); break; default: Printf.warning("[Game_SyncNet] Tipo de conexão não encontrada: " + opcode); break; } } catch (Exception ex) { SaveLog.fatal("[Game_SyncNet.LoadPacket] Tipo: " + opcode + "\r\n" + ex.ToString()); Printf.b_danger("[GameSyncNet.LoadPacket] Erro fatal!"); } }