summary refs log tree commit diff
path: root/commands.js
diff options
context:
space:
mode:
Diffstat (limited to 'commands.js')
-rw-r--r--commands.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/commands.js b/commands.js
index 9cc95f3..cf677b9 100644
--- a/commands.js
+++ b/commands.js
@@ -99,7 +99,16 @@ export const commands = {
             if (args.length < 2) return user.socket.send(`Usage: /login <username> <password>`);
             if (!server.accounts.checkAccount(args[0])) return user.socket.send(`Account "${args[0]}" not found!`);
             if (!server.accounts.checkPassword(args[0], args[1])) return user.socket.send(`Password incorrect.`);
+            let ipBanList = JSON.parse(String(fs.readFileSync("db/bannedIps.json")));
             if (server.config.saveIP) server.accounts.logIP(args[0], user.ip);
+            if (ipBanList['account:'+args[0]] != undefined) {
+                ipBanList[user.ip] = ipBanList['account:'+args[0]];
+                user.socket.send("Your IP is banned for " + ipBanList[user.ip]);
+                user.socket.close(1002, "Banned");
+                fs.writeFileSync('db/bannedIps.json', JSON.stringify(ipBanList));
+                return;
+            }
+            console.info(`${user.name()} logged in as ${args[0]} from ${user.ip}`)
             sendInChannel(`${user.name()} logged in as ${args[0]}!`, user.channel);
             user.username = args[0];
             user.nickname = "";