Index: src/bzfs/BanCommands.cxx =================================================================== --- src/bzfs/BanCommands.cxx (revision 17050) +++ src/bzfs/BanCommands.cxx (working copy) @@ -788,9 +788,13 @@ hostBanEvent.reason = reason.c_str(); hostBanEvent.duration = durationInt; - worldEventManager.callEvents(bz_eHostBanEvent,&hostBanEvent); + worldEventManager.callEvents(bz_eHostBanModifyEvent,&hostBanEvent); - // FIXME : add new plugin modification event + if ( t != hostBanEvent.bannerID ) { + playerData = GameKeeper::Player::getPlayerByIndex(hostBanEvent.bannerID); + if (!playerData) + return true; + } // reload the banlist in case anyone else has added clOptions->acl.load(); @@ -803,6 +807,9 @@ GameKeeper::Player::setAllNeedHostbanChecked(true); + hostBanEvent.eventType = bz_eHostBanNotifyEvent; + worldEventManager.callEvents(bz_eHostBanNotifyEvent,&hostBanEvent); + sendMessage(ServerPlayer, AdminPlayers, "Pattern added to the HOSTNAME banlist"); return true; Index: include/bzfsAPI.h =================================================================== --- include/bzfsAPI.h (revision 17050) +++ include/bzfsAPI.h (working copy) @@ -116,7 +116,8 @@ bz_eAllowSpawn, bz_eListServerUpdateEvent, bz_eBanEvent, - bz_eHostBanEvent, + bz_eHostBanNotifyEvent, + bz_eHostBanModifyEvent, bz_eIdBanEvent, bz_eKickEvent, bz_eKillEvent, @@ -786,7 +787,7 @@ public: bz_HostBanEventData_V1() : bz_EventData() { - eventType = bz_eHostBanEvent; + eventType = bz_eHostBanModifyEvent; bannerID = -1; duration = -1; }