AntiAdvertising
Don't you hate these people joining your server, spamming their server's ip?
This plugin will bring an end to this.
It searches the chat messages (and specified commands) for server addresses like 111.111.111.111:12345 or server.domain.com. The plugin will then check if this message really points to a minecraft server (by pinging it) and in this case can:
CI-Server
If you want to support the development of this plugin, you can donate by clicking the button on the top right corner.
Thanks to Absolutionmc for donating.
This plugin will bring an end to this.
It searches the chat messages (and specified commands) for server addresses like 111.111.111.111:12345 or server.domain.com. The plugin will then check if this message really points to a minecraft server (by pinging it) and in this case can:
- drop the message
- censor the message (replace the advertisement by ***)
- kick the player
- broadcast a message
- notify moderators of the advertising
- execute a custom command
Frequently asked questions
Commands
- /antiadreload
-
Reloads the plugin configuration.
Permission: antiad.reload
- /serverping
-
Pings a server manually.
Permission: antiad.ping
Permissions
- antiad.notify
-
Permission to receive notifications about server advertisement.
- antiad.reload
-
Permissions to reload the configuration of the plugin.
- antiad.ignore
-
Permission to send chat messages without being checked.
- antiad.ping
-
Permissions to ping potential servers manually.
config.yml
Click the heading ;-)
Development builds
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.CI-Server
If you want to support the development of this plugin, you can donate by clicking the button on the top right corner.
Thanks to Absolutionmc for donating.
@upsj
Allright then. :)
@fungreenfox
About spaces and dots: As I already explained in Comment #146, I won't expand the search for servers to a more generic pattern, as this would increase the number of unnecessary "false positives" for which a DNS request has to be made etc. without significantly increasing the number of found server advertisement.
Players are being kicked by the native Player.kick method which is not being logged.
(I could add that if necessary) - If you want the events to be logged by serubans, you should consider kicking players by using the 'command' action with /kick rather than using the native 'kick' action
Bans are issued by simply executing the /ban command like it was executed by the server console, so the serubans plugin should log these, as one of their own commands is executed...
Another thing is, my server is using Serubans, and antiad is not. The kick or ban incident is not being logged by serubans. Could lead to a clue, that you are not using normal ban and kick option?
well it works at 1.5.1 but if i type the domain with a space instead of a dot, then it is not recoqnized.
will this work for bukkit 1.5.1?
@Zilacon
I'm guessing \n should insert a line break, but I'm not entirely sure about the YAML format. But if you use \n, you must enclose the text in single quotation marks '
@upsj
Works now :) Thanks!
Also How would i add a line break to the format?
@Zilacon
I misplaced two braces, didn't see it until I was directly looking for it - sorry about that. The new version can either be obtained now from the CI server or (if you want to wait for approval by the BukkitDev team) in a few hours.
@Zilacon
Sorry for the inconveniences, I'll test it myself.
@upsj
It is in format, telling you it does not work:
http://prntscr.com/10ksmt
@Zilacon
Did you put it in 'message' or in 'format'?
The first one is used for the message like "upsj advertised a server, message: 127.0.0.1"
The second one is used to list the different servers found in the chat message (there could be more than one...)
The %ADDRESS% part belongs in the 'format' config string, together with %MOTD%, %PLAYERS% and %MAX% as these values belong to a server, not a chat message.
The %NAME% and %MSG% parts belong in the 'message' config, as they belong to the chat message sent by the player.
@upsj
The %ADDRESS% in uppercase was what i used, just didnt type it in all caps here. It does not work.
@Zilacon
It's %ADDRESS% in upper case ;-)
I thought about the problems you described in your proposition before, but I have come to the conclusion that somewhere, I have to draw a line between checking each part of each message due to a small possibility that this could be advertisement and sticking to the 'normal address format' of host address:port.
I myself have never encountered anybody advertising a server in the format you mentioned, but many people using a format like 123.123.123.123:12345 or server.address.com:12345, you could still manually ping the server using /serverping and ban the person afterwards.
My plugin can't provide complete protection against advertisement, but it can block a great percentage of it ;-)
@upsj
like 50.43.22.252.8443 or ,8443 or -8443 etc could you add a if char = then replace with : and ping result if pingback true then action?
Also %Address% does not work still, just tried adding it to the notify msg.
@Zilacon
What exactly do you mean by 'other decibels'?
@upsj
Sorry had to mess with it a bit and got it working, however people can easily bypass this by using other decibels any way to fix that?
@Zilacon
Did you read the configuration manual? By default, no actions are enabled, so you could use the prepared config.yml and adapt it to your needs.
@upsj
Added this plugin to my server and had a player test it and it does not work at all:
05:10:49 [INFO] [AntiAdvertising] Taking actions because of '46.253.195.86:25965' by XmeowingtonsX 05:10:49 [INFO] <AncientDOVAHKIIN [Supporter]XmeowingtonsX> 46.253.195.86:25965
@Absolutionmc
Fortunately, on the server I used to administer, we had a cronjob running that forced a mapsave every 10 minutes, so the losses were minimal...
Could be an option for you, too ;-)
Great.
Hmm tried that.. didn't work as expected haha. I suppose their anger goes to another level after losing 24 hours of work.