you can disable /b this way, clif.c -> clif_parse_Broadcast
void clif_parse_Broadcast(int fd, struct map_session_data* sd)
{
char* msg = (char*)RFIFOP(fd,4);
unsigned int len = RFIFOW(fd,2)-4;
int lv;
if( battle_config.atc_gmonly && !pc_isGM(sd) )
return;
if( pc_isGM(sd) < (lv=get_atcommand_level(atcommand_broadcast)) )
return;
// as the length varies depending on the command used, just block unreasonably long strings
len = mes_len_check(msg, len, CHAT_SIZE_MAX);
intif_broadcast(msg, len, 0);
if(log_config.gm && lv >= log_config.gm) {
char logmsg[CHAT_SIZE_MAX+4];
sprintf(logmsg, "/b %s", msg);
log_atcommand(sd, logmsg);
}
}
change to
void clif_parse_Broadcast(int fd, struct map_session_data* sd) {
return;
}