MinetestForFun / server-minetestforfun-skyblock

Repository of the subgame and mods of "MinetestForFun Skyblock" server
https://www.xorhub.com
6 stars 3 forks source link

Flood attack! Anti-flood mod needed. #170

Closed aerozoic closed 8 years ago

aerozoic commented 8 years ago

I have just banned 8 playernames and counting (i assume the same person) in the last 10 minutes for massive flooding. They just keep making a new name and rejoining.

Anyway they are flooding with messages so long that MFFSB-Bot is getting kicked from IRC. If we had a mod that would do the same thing in game that would be great. :large_orange_diamond:

mzhaodev commented 8 years ago

How would you do this? Have a chat character limit, or auto-ban people who flood?

BetterToAutomateTheWorld commented 8 years ago

1) Limit the "Message / minute / player" should be ok, a number between 4 and 8 should be good.

2) Reduce the amount of characters, 300 max per sentence for example, if above, don't send and inform the player in chat his message is too long.

Some Minetest mods already did this, i seen that on the forum.

aerozoic commented 8 years ago

I figured there would be a suitable mod already available. I have yet to check. Whatever the max character limit is, make sure it is less than the IRC limit so MFFSB-Bot doesn't get kicked. :large_orange_diamond:

BetterToAutomateTheWorld commented 8 years ago

the MFF bot can't be kicked for flood, he has +vV rights

aerozoic commented 8 years ago

He can actually and it's partly the reason for me creating this issue...


Aug 28 12:55:43 <MFFSB-Bot> <lisa> NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER
Aug 28 12:55:43 *   MFFSB-Bot has quit (Excess Flood)
...
Aug 28 13:08:25 <MFFSB-Bot> <pprk> ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦Â
Aug 28 13:08:25 *   MFFSB-Bot has quit (Excess Flood)
...
Aug 28 13:38:23 <MFFSB-Bot> <pprks> ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
Aug 28 13:38:23 *   MFFSB-Bot has quit (Excess Flood)

sorry for the language. :large_orange_diamond:

mzhaodev commented 8 years ago

This is (probably) the server (daconcepts.com) kicking MFFSB-Bot for flooding the server. Channel privs won't help him here.

Lymkwi commented 8 years ago

@thepiercingarrow is actually right. That is not a "part", it's a "quit", which means the server actually disconnects the bot for sending too much data at once. I'll be working on a mod to limitate that chat flood.

Lymkwi commented 8 years ago

Boom. https://github.com/MinetestForFun/server-minetestforfun-skyblock/commit/040f69039f27a1232065d5c8547c041d7560afb3

BetterToAutomateTheWorld commented 8 years ago

I will merge the server soon partly for this really useful mod :)

aerozoic commented 8 years ago

@LeMagnesium, testing locally, chatdam doesn't seem to do anything other than split long messages into smaller ones which is actually flooding itself. And actual flooding doesn't seem to be stopped at all.

Also the code that is supposed to send a msg to the player doesn't work either. :large_orange_diamond:

BetterToAutomateTheWorld commented 8 years ago

Ping @LeMagnesium

mzhaodev commented 8 years ago

The kick is based on rate of messages. Limiting posts to 2 per second should easily fix this...

Lymkwi commented 8 years ago

Well, using a kick approach to it would be better yes, but I can't enqueue messages @thepiercingarrow , at best I can only discard them. @cessna151 You have no idea how fragile the chat system is. The simple fact that ignore or any mod that taps into the chat callback could be loaded before chatdam breaks it entirely I'm gonna see what I can do but I'd rather write a piece of code that kicks players who sent messages too long or too often. It's be harsher to players but easier to me.

Lymkwi commented 8 years ago

Why should you be considerate when you can be lazy? https://github.com/MinetestForFun/server-minetestforfun-skyblock/commit/350909620328c66c768f746f73b99a139db0213a

BetterToAutomateTheWorld commented 8 years ago

This new features are perfect in my point of view, good work @LeMagnesium !

aerozoic commented 8 years ago

I've already gotten complaints and i agree with them, 255 is too short. Maybe we could try 300? That is still well under the IRC limit. :large_orange_diamond:

Lymkwi commented 8 years ago

https://github.com/MinetestForFun/server-minetestforfun-skyblock/commit/58c17cd58e66fdf93c86d5aa900638b27c52c39d Let's try with that. We can still change it afterwards if it's still too low.

BetterToAutomateTheWorld commented 8 years ago

Ok thank you @LeMagnesium I will merge tommorow for this improvment

Some ideas like caps lock ban can maybe be took from this mod to improve the chat restriction ? https://github.com/Tmanyo/server_helper (thanks to Vaultboy for this link)

Lymkwi commented 8 years ago

Well, maybe later. And I wouldn't copy the entire mod, it feels too much like putting a robotic nanny to take care of the players. Or at least if we put one, let me make it sassy and ironical.

aerozoic commented 8 years ago

I agree with @LeMagnesium :) :large_orange_diamond: