Votifier

716k Downloads

Votifier

GitHub page: https://github.com/vexsoftware/votifier
Download link: http://dev.bukkit.org/server-mods/votifier/files/9-votifier-1-9/

What is Votifier?

Votifier is a Bukkit plugin whose purpose is to get notified (aka votified) when a vote is made on a Minecraft server list for the server. Votifier creates a lightweight server that waits for connections by a Minecraft server list and uses a simple protocol to get information about that vote. Votifier is and always will be open-source.

Is it secure?

Votifier employs 2048-bit RSA encryption to ensure that nobody can spoof a vote packet. When Votifier is run for the first time, it generates a unique key pair only for your server to use. When you register Votifier with a supporting server list, that server list will ask for your public RSA key so it can encrypt vote packets before sending them to you. Votifier is so secure, not even its own developers can hack it.

What does Votifier do when it receives a vote notification?

Votifier has a vote listener system where listeners are notified when Votifier receives a vote notification. Sort of like the Bukkit plugin system itself. Each of these listeners can carry out their own task (i.e. rewarding the player via iConomy, etc.) in response to the vote.

To install a vote listener, simply put it in Votifier's listeners folder.
Note that you must run Votifier first before this folder is made.

For having a log of votes, the FlatfileVoteListener can be used. This listener logs votes to a text file located at plugins/Votifier/votes.log

Where can I find vote listeners?

Vote listeners can be found at the vote listeners forum.

How do I write a vote listener?

Information about how to write a vote listener can be found on the vote listeners page on our wiki.

How can I test my Votifier installation?

Minestatus is a Minecraft server list that also provides a free tool: Minecraft Servers

How can my server list support Votifier?

Information about Votifier's protocol can be found on protocol documentation page on our wiki.

Troubleshooting

If you are having problems, please see the troubleshooting page on our wiki.

Changelog

  • 1.0 - First release, includes basic protocol support.
  • 1.1 - Encryption support added, 2048-bit RSA.
  • 1.2 - Bug fixes, protocol changes, and other things.
  • 1.3 - Added a more dynamic vote listener system.
  • 1.4 - Important bug fixes.
  • 1.5 - Errors are displayed when problems occur with receiving and processing vote notifications. A broken listener should no longer prevent notifications from being sent to the other listeners.
  • 1.6 - The deprecated Configuration class is no longer used along with some minor changes.
  • 1.7 - Fix loading of vote listeners to only attempt to load .class files.
  • 1.8 - Contributions by frelling
    • More descriptive error messages.
    • host value is set to the value of server-ip in server.properties by default if a value is specified, otherwise host is set to 0.0.0.0.
    • A message will appear informing the user to verify that Votifier's default port, 8192, is available for use upon initial configuration.
    • More graceful exit when Votifier fails to initialize properly.
    • Vote notifications generate a Bukkit VotifierEvent, which can be used in other plugins.
    • A binding error instructs the user to verify their address/port configuration.
    • A message asks the user to verify if their public keys are correct when a BadPaddingException occurs.
    • RSA keys are regenerated when the rsa folder is missing.
  • 1.9
    • Descriptive message is displayed when a non-existent listener directory is defined in config.yml - contributed by frelling
    • Prevent default listener path generated by Votifier from using the backslash (\) in config.yml on Windows - contributed by SmilingDevil