Description
This plugin broadcasts a message when a player joins the server, saying the country where he connects from; as well when the player disconnects. Also has permission nodes to display an alternate message or a player's IP. This is also saved in a CSV log file, or not if you want. Also is capable of blocking proxies, the ones that are in the GeoIP file. A single command is enough to reload the config. No more Bungee downtimes.
Features
Display a Join message, and where the player is from.
Display a Disconnect message.
Display an alternate join/leave message for Staff members, permission based.
Block access from known proxies, also with a broadcast message and configuration parameters.
Display a user's IP address, permission based.
Configurable: Save a CSV log file with relevant information
Commands:
bcountryreload: Reads again the configuration file and sets the new parameters.
Permissions:
bcountrygreeting.staff : Shows the alternate Staff join/leave message
bcountrygreeting.showip : Appends the user's IP when displaying the join message, only shown to users with this permission.
bcountrygreeting.reload: Allows the use of bcountryreload command for players. Not necessary for Console-tan.
Installation:
Drop the jar file in your BungeeCord plugins folder.
Start the server
A default GeoIP.dat file is copied as well the config.yml
Ready to go!
Have a look at the config file section to configure the plugin, and execute bcountryreload if you make any changes.
Also, it is strongly recommended that you disable/hide all the other BungeeCord and/or Spigot plugins that broadcast other player join/leave messages.
Config file:
logging:
----csv: true
This directive enables logging to a CSV file; look at the CSVLogging section for more info
geoip:
----keepinmemory: false
Keep the GeoIP database in memory. Enabling this uses less CPU and more RAM. Choose the best option for your server, but the default one must be suitable for most servers.
join:
----player: "%player% has joined from %country%!"
----staff: "A staff member has joined!"
----ip: "( IP: %ip% )"
Those are the messages displayed when a player joins, a staff member joins or the IP address message. Set to empty string to avoid broadcasting a message.
leave:
----player: "%player% has disconnected."
----staff: "A staff member has disconnected."
Those are the other messages displayed when the player disconnects. Also, set to empty string to avoid broadcasting a message.
proxylogin:
----allow: false
----alertmsg: "&4Warning: %player% tried to connect via proxy!"
----disconnectmsg: "No proxy logins allowed."
This setting allows players joining using proxy servers. The alertmsg directive is a broadcasted message to the currently connected players and the disconnectmsg is the message sent to the player that tried to connect via Proxy.
The CSVLogging feature:
Every time a user connects or disconnects, this plugin will append a new line in a CSV file, with the following fields:
Letter C or D: C=Connect D=Disconnect
Timestamp: A Unix Timestamp when the event happened
User: The Minecraft username that made the action
IP: The user's IP address
Minecraft int version: This is an integer to get clients version: number 4 are 1.7.2, 1.7.4 and 1.7.5; number 5 are for 1.7.9 and 1.7.10 versions; and number 47 are for 1.8, 1.8.1, 1.8.2 versions.
Minecraft String version: The same as above, but represented in String: 1.7.2-4-5; 1.7.9-10; 1.8.0-1-2
To avoid generating a huge CSV file; it will be split into small files with the file format: yyyy-mm-dd_hh.csv generating one different file par hour. If nobody connects, no file is generated.
Updating GeoIP data file
This plugin includes GeoLite data created by MaxMind. Download here new GeoIP data files: http://dev.maxmind.com/geoip/legacy/geolite/
Choose the GeoLite Country -> Binary/gzip
Upload and overwrite IF you have disabled the keepinmemory feature. By default is disabled, so you can overwrite the current file or you will have to stop BungeeCord, overwrite the file and start it again.
Screenshots:
An example, translated to Spanish, for my server:
![]()
An example CSV file:
![]()
Proxy-blocking!
![]()
Feature requests or found a bug?
Feel free to drop a comment here and I will reply ASAP. Don't forget to append your BungeeCord version at least; so I can test it. Thanks! ^^
Source Code and License:
You can browse the stable versions on GitHub: https://github.com/KatsuroKurosaki/BCountryGreeting
Or stay tuned with beta and development on my GitLab server: https://katsunet.com:4433/Katsuro/bcountrygreeting
This plugin is licensed under a MIT License; for more information, check: http://choosealicense.com/licenses/mit/
Donations:
A programmer is an organism that converts coffee and pizza into code. Will you feed me?If you want, I have a Paypal donation gateway: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=S6D5YW4KNTTDN
Thanks!!

BCountryGreeting 1.7.1
Broadcasts a message, when a player joins, where he/she is from. Now with proxy blocking!
Recent Updates
- CSV logging improvement Feb 1, 2015
- Is still your server 1.7-1.8? Let's find out which version your players join! Jan 25, 2015
- Country greeting, now with Proxy blocker! Dec 22, 2014