@@ -2049,13 +2049,22 @@ uint NetworkServerKickOrBanIP(ClientID c
* @param ip The IP address/range to ban/kick.
* @param ban Whether to ban or just kick.
*/
uint NetworkServerKickOrBanIP(const char *ip, bool ban)
{
/* Add address to ban-list */
if (ban) *_network_ban_list.Append() = strdup(ip);
if (ban) {
bool contains = false;
for (char **iter = _network_ban_list.Begin(); iter != _network_ban_list.End(); iter++) {
if (strcmp(*iter, ip) == 0) {
contains = true;
break;
}
if (!contains) *_network_ban_list.Append() = strdup(ip);
uint n = 0;
/* There can be multiple clients with the same IP, kick them all */
NetworkClientSocket *cs;
FOR_ALL_CLIENT_SOCKETS(cs) {