What is Votifier?
Votifier is a Forge mod 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 will fire a VotifierEvent on the MinecraftForge event bus.
Anyone listening for this event can carry out their own task (i.e. rewarding the player via iConomy, etc.) in response to the vote.
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
- 2.0