diff --git a/src/lib/player/login.c b/src/lib/player/login.c index a3b628dc..0e866d8b 100644 --- a/src/lib/player/login.c +++ b/src/lib/player/login.c @@ -316,11 +316,24 @@ static int kill_cmd(void) { struct player *other; + struct natstr *np; if (player->cnum == 255 || !player->validated) { pr_id(player, C_CMDERR, "need country and password\n"); return RET_FAIL; } + if (match_user(banfil, player)) { + logerror("Attempted login by BANNED host %s", praddr(player)); + pr_id(player, C_EXIT, "Your login has been banned from this game\n"); + io_shutdown(player->iop, IO_READ); + return RET_FAIL; + } + np = getnatp(player->cnum); + if (np->nat_stat & STAT_GOD && !match_user(authfil, player)) { + logerror("NON-AUTHed Login attempted by %s", praddr(player)); + pr_id(player, C_EXIT, "You're not a deity!\n"); + return RET_FAIL; + } other = getplayer(player->cnum); if (!other) { pr_id(player, C_EXIT, "country not in use\n");