Hey, hätte eine frage.
Habe ein Bann Panel eingebaut und eingestellt das der User wenn er ein Bann bekommt einen kick bekommt.
Wenn ich einen "ip bann" mache wo er alle Accounts der selben IP sperrt, wird nur der gekickt wo der name eingegeben wird, keine anderen.
Code
- case ACTION_BAN_IP:
- {
- std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT name, ip FROM player.player WHERE name = '%s'", szEscapedUserName));
- MYSQL_ROW row = mysql_fetch_row(pMsg->Get()->pSQLResult);
- if (pMsg->uiSQLErrno != 0 || !pMsg->Get()->uiNumRows)
- return;
- std::auto_ptr<SQLMsg> pMsg2(DBManager::Instance().DirectQuery("UPDATE account.account INNER JOIN player.player ON player.account_id = account.id SET status = 'BLOCK', ban_reason = '%s' WHERE player.ip = '%s'", p->reason, row[1]));
- tch->GetDesc()->DelayedDisconnect(5);
- InsertLogsBan(ch->GetName(), "ACTION_BAN_IP", szEscapedUserName, p->reason);
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("admin_manager_succes_ban_ip"), szEscapedUserName, pMsg2->Get()->uiAffectedRows);
- }
- InsertLogsBan(ch->GetName(), "ACTION_BAN_IP", szEscapedUserName, p->reason);
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("admin_manager_succes_ban_ip"), szEscapedUserName, pMsg2->Get()->uiAffectedRows);
- }
Meine frage ist deshalb wie kicke ich alle die Online sind mit der gleichen IP?
Wäre nett wenn jemand helfen könnte.
Mit freundlichen Grüßen