diff --git a/exec/load/ircd/server.js b/exec/load/ircd/server.js index a2eabb6d9eada9685f4da196ea43d255f800fd4d..c5c68a8c0661f8f1dd9a8e3fd1843f6e06d4e43a 100644 --- a/exec/load/ircd/server.js +++ b/exec/load/ircd/server.js @@ -807,6 +807,30 @@ function Server_Work(cmdline) { p[0] = origin.nick; origin.quit(p[0]); break; + case "RAKILL": + if (!p[1]) + break; + + if (!origin.uline) { + umode_notice(USERMODE_OPER,"Notice",format( + "Non-U:Lined server %s trying to utilize RAKILL.", + origin.nick + )); + break; + } + + this.bcast_to_servers_raw(format( + ":%s RAKILL %s %s", + origin.nick, + p[0], + p[1] + )); + + k = p[1] + "@" + p[0]; + if (!isklined(k)) + break; + remove_kline(k); + break; case "SERVER": if (!p[2]) break;