NuVotifier icon

NuVotifier -----

Modern Votifier, featuring vote forwarding and support for multiple platforms




This is a minor bug fix release.
  • Reduces the incidence (but does not completely eliminate) "zip file was closed" errors from shutting down NuVotifier on Bukkit-based servers. This error only affects server reloading (which we do not support on Bukkit) and shutdown (where the error is harmless).
  • Fixes exception logging for Bukkit.
  • Makes the Velocity plugin compatible with Velocity 3.0.0.
----------, Jul 6, 2021

This is a minor bug fix release.

Changes:
  • Relocate Gson to potentially fix BungeeCord chat API issues (i.e. SPIGOT-6056)
  • Fix disabling the plugin messaging fallback server functionality on Velocity.
  • Do not re-register raw data channel on Sponge
----------, Jan 26, 2021

NuVotifier 2.7.1 is now available. This is a bug-fix release.

Changes from NuVotifier 2.7.0
Fixes a proxy vote forwarding not working when Epoll is in use.
----------, Jun 25, 2020

This release adds some new features, fixes a number of bugs, and improves the security and performance of NuVotifier. All servers are encouraged to upgrade.

This release has been tested with Spigot 1.16.1.

Changes since 2.6.0:
  • Make `/(p)testvote` available on all platforms. This allows you to test your vote listener setup.
  • Make `/(p)nvreload` more consistent - `/nvreload` is used for servers and `/pnvreload` is used for proxies.
  • Warn if no vote listeners were found for Bukkit.
  • Improve compatibility with Sponge and certain Bukkit forks by removing usages of Guava.
  • Improve security of NuVotifier by hardening it against certain DoS attacks.
  • Improve scalability of NuVotifier by allowing it to use more threads and implementing Epoll support for Linux.
  • Add native reloading support for BungeeCord, Sponge, and Velocity so NuVotifier reloads when you reload the configuration on these platforms.
  • Add extra debug logging for successful plugin message vote forwarding.
  • A number of minor bug fixes, including improvements to Velocity and Sponge support.
This is the first release of NuVotifier from me ( @Tux) in some time - I hope the wait has been worth it!
----------, Jun 25, 2020

Fixes a problem when specifying an empty server list.

This will be the last release until 3.0.0.
----------, Dec 25, 2019

Fixes:

+ Fixes an issue where the plugin would not initialize in Sponge 4d52ef4
+ Fixes an issue where a CME could be thrown while sweeping votes e71ff63

Thanks @astei for the fixes in this version!
----------, Jun 3, 2019

Fixes:

+ Fixes a packaging issue with Sponge due to mixed google code versions 7d43b73
----------, Apr 27, 2019

Fixes:

+ NuVotifier is more tolerant to whitespace accidentally injected into public and private rsa key files 348dbca

+ NuVotifier offers more debugging information when rsa key loading fails 0fa42b4

+ Fixes a problem with packaging when being used on Thermos b745236

+ Fixes annotation processing within Sponge and Velocity 7522886

+ Fix a formatting issue with the standard bind error 671c6e1

+ NuVotifier now defaults to logging everything it can 99dbaa7

+ Bump Netty version 7d75bce
----------, Apr 27, 2019

New Features:

+ ServerFilter is now able to invert the behavior of excludedServers with the whitelist configuration option, turning the previously only blacklist into a whitelist. 4cd2ce5

+ New bulk vote forwarding, which should stabilize forwarding over Bungeecord plugin channels. 590b761, 7134c12, f5776dd

+ Also includes vote cache throttling, so that votes forwarded aren't sent all at the same time. 67117b3

+ The memory cache now respects the vote TTL 9255062

Fixes:

NuVotifier should now work on Windows platforms - there were issues running NuVotifier on Windows due to how NuVotifier was interacting with filepaths. Thanks @McModknower 9fe98a9, 98dfc34

Support update:

+ NuVotifier is compatible with the latest Velocity plugin builds. @aesti 92a122e, c72972c
----------, Jan 3, 2019

Fixes a default for Spigot 1.13.1

Spigot really wants the channel name to be lower case. So lowercase we will make it!
----------, Sep 3, 2018

Features:

+ Add support for the velocity proxy
+ Sponge API7 support
+ Add /nvreload to both bukkit and bungee platforms
+ Add 1.13 Bukkit compliance (we already were, but now we have the code to prove it!)

Bug Fixes:

+ Fixes an issue where an exception is probably thrown on shutdown on all platforms
+ Fixes the default channel name to include a colon.
+ Fixes a typo in a certain eviction logging message
+ Fix a rare and probably not hit race condition where votes are not added back to the cache when forwarding may fail
----------, Sep 3, 2018

Features:
  • A negative port for bukkit and sponge servers will disable the external NuVotifier port.
  • Migrate to Gradle
  • Migrate to Drone CI
Fixes:
  • Fixes an issue where we used to rely on a direct buffer in sponge, which was removed in 7.0
  • Fixes an issue introduced in 2.3.6 on bungeecord where file caching of votes straight out did not work.
----------, Apr 7, 2018

The last release had a bad verison number. The only change is correcting the version.
----------, Jan 24, 2018

git --no-pager log v2.3.5..HEAD
commit 4277dfd74d5aa8a17e105edb1315876c19a7ea11 (HEAD -> master, tag: v2.3.6, origin/master, origin/HEAD)
Author: Joseph Hirschfeld < [email protected]>
Date: Mon Jan 15 22:56:51 2018 -0500

update to 2.3.6

commit 28b4d8dcd0923716a582ff54e49cfdd92383fd42
Author: Joseph Hirschfeld < [email protected]>
Date: Mon Jan 15 22:48:34 2018 -0500

Updated for API 7 support

commit 733204b6b9588eb71471eeef74967b2678613cc2
Author: DoNotSpamPls < [email protected]>
Date: Wed Nov 8 19:38:10 2017 +0200

votifier.inaptbox.com -> craftservers.net/tools/votifier-tester (#39)

commit 52956ce2107262035dbb038e04a9f4ace0d7ba3d
Author: DoNotSpamPls < [email protected]>
Date: Fri Nov 3 00:42:56 2017 +0200

Fix Travis-CI builds failing (#38)

commit 2de64da5119b6d4237b8f1d4ae55cedc6b0a49a4
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:43:21 2017 -0400

change version to 2.3.6-pre

commit 0ea6867d916d9aa4bb9e4ea1608fe216c27966e9
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:38:06 2017 -0400

Add more verbose error handling for bad token.

Fixes #25

commit 190bfaa4a99d3b7a73a6324fc5d2248605929897
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:31:10 2017 -0400

Add player centric vote forwarding

Used when 'onlySendToJoinedServer' is true yet 'joinedServerFallback' is
empty, null, or unreachable. Will retransmit vote to the server the
player joins that is not on the ignore list.

Also add FileCache support for the new player cache layout with a new
schema system.

commit b43dda37b2e9b565c104d719c2891c0504897f20
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 11:11:19 2017 -0400

update netty version

4.0.31.Final -> 4.1.16.Final

Required test modification - somewhere they fixed a bug where releasing
a ByteBuf given to the pipeline should not be released by the sender -
principle property of handing memory off to a methodcall for ownership.
They should really document this stuff better...

commit 4dfb157166650d06a229bd2a4eb99c1f78a23f33
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:46:58 2017 -0400

Bump project version

We aren't writing on a solid version!

commit d8c2e072b14c39336419bc59739766bb209d631c
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:35:56 2017 -0400

Add a TTL for the file vote cache.

Adds a locally trusted TTL to each vote locally, not using untrusted
remote timestamp. Add day-based ttl to FileVoteCache.

Fixes #15

commit 359b616a419d88336522dfd175fc5c27f1b915e7
Author: lifehome < [email protected]>
Date: Fri Oct 27 09:04:27 2017 +0800

Replace legacy Java EE method for Java 9 - Drop support for Java 7(#35)

* [Test] Java 1.9 patch

Signed-off-by: Ivan Ip < [email protected]>

* Revert version tag
This version must compile and execute on or above Java 9 SE, as the classfile cannot be read by Java 8 or below.

Signed-off-by: Ivan Ip < [email protected]>

* Revert to Java 8 for backward compatibility
This build requires Java 1.8 or up to be compiled or executed.

Signed-off-by: Ivan Ip < [email protected]>

* Fix test cases typo

Signed-off-by: Ivan Ip < [email protected]>

* Revert to 1.8 API as per requested for backward compatibility

Signed-off-by: Ivan Ip < [email protected]>
----------, Jan 16, 2018

THIS IS NOT A PRODUCTION READY RELEASE! If you are running on a production server, PLEASE use 2.3.5. 2.3.6-pre is only for testing!


commit 2de64da5119b6d4237b8f1d4ae55cedc6b0a49a4 (HEAD -> master, origin/master, origin/HEAD)
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:43:21 2017 -0400

change version to 2.3.6-pre

commit 0ea6867d916d9aa4bb9e4ea1608fe216c27966e9
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:38:06 2017 -0400

Add more verbose error handling for bad token.

Fixes #25

commit 190bfaa4a99d3b7a73a6324fc5d2248605929897
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:31:10 2017 -0400

Add player centric vote forwarding

Used when 'onlySendToJoinedServer' is true yet 'joinedServerFallback' is
empty, null, or unreachable. Will retransmit vote to the server the
player joins that is not on the ignore list.

Also add FileCache support for the new player cache layout with a new
schema system.

commit b43dda37b2e9b565c104d719c2891c0504897f20
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 11:11:19 2017 -0400

update netty version

4.0.31.Final -> 4.1.16.Final

Required test modification - somewhere they fixed a bug where releasing
a ByteBuf given to the pipeline should not be released by the sender -
principle property of handing memory off to a methodcall for ownership.
They should really document this stuff better...

commit 4dfb157166650d06a229bd2a4eb99c1f78a23f33
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:46:58 2017 -0400

Bump project version

We aren't writing on a solid version!

commit d8c2e072b14c39336419bc59739766bb209d631c
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:35:56 2017 -0400

Add a TTL for the file vote cache.

Adds a locally trusted TTL to each vote locally, not using untrusted
remote timestamp. Add day-based ttl to FileVoteCache.

Fixes #15

commit 359b616a419d88336522dfd175fc5c27f1b915e7
Author: lifehome < [email protected]>
Date: Fri Oct 27 09:04:27 2017 +0800

Replace legacy Java EE method for Java 9 - Drop support for Java 7(#35)

* [Test] Java 1.9 patch

Signed-off-by: Ivan Ip < [email protected]>

* Revert version tag
This version must compile and execute on or above Java 9 SE, as the classfile cannot be read by Java 8 or below.

Signed-off-by: Ivan Ip < [email protected]>

* Revert to Java 8 for backward compatibility
This build requires Java 1.8 or up to be compiled or executed.

Signed-off-by: Ivan Ip < [email protected]>

* Fix test cases typo

Signed-off-by: Ivan Ip < [email protected]>

* Revert to 1.8 API as per requested for backward compatibility

Signed-off-by: Ivan Ip < [email protected]>

xps.ibj.io ~/ws/nuvotifier on  master
$ git --no-pager log v2.3.5..master
commit 2de64da5119b6d4237b8f1d4ae55cedc6b0a49a4 (HEAD -> master, origin/master, origin/HEAD)
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:43:21 2017 -0400

change version to 2.3.6-pre

commit 0ea6867d916d9aa4bb9e4ea1608fe216c27966e9
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:38:06 2017 -0400

Add more verbose error handling for bad token.

Fixes #25

commit 190bfaa4a99d3b7a73a6324fc5d2248605929897
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:31:10 2017 -0400

Add player centric vote forwarding

Used when 'onlySendToJoinedServer' is true yet 'joinedServerFallback' is
empty, null, or unreachable. Will retransmit vote to the server the
player joins that is not on the ignore list.

Also add FileCache support for the new player cache layout with a new
schema system.

commit b43dda37b2e9b565c104d719c2891c0504897f20
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 11:11:19 2017 -0400

update netty version

4.0.31.Final -> 4.1.16.Final

Required test modification - somewhere they fixed a bug where releasing
a ByteBuf given to the pipeline should not be released by the sender -
principle property of handing memory off to a methodcall for ownership.
They should really document this stuff better...

commit 4dfb157166650d06a229bd2a4eb99c1f78a23f33
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:46:58 2017 -0400

Bump project version

We aren't writing on a solid version!

commit d8c2e072b14c39336419bc59739766bb209d631c
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:35:56 2017 -0400

Add a TTL for the file vote cache.

Adds a locally trusted TTL to each vote locally, not using untrusted
remote timestamp. Add day-based ttl to FileVoteCache.

Fixes #15

commit 359b616a419d88336522dfd175fc5c27f1b915e7
Author: lifehome < [email protected]>
Date: Fri Oct 27 09:04:27 2017 +0800

Replace legacy Java EE method for Java 9 - Drop support for Java 7(#35)

* [Test] Java 1.9 patch

Signed-off-by: Ivan Ip < [email protected]>

* Revert version tag
This version must compile and execute on or above Java 9 SE, as the classfile cannot be read by Java 8 or below.

Signed-off-by: Ivan Ip < [email protected]>

* Revert to Java 8 for backward compatibility
This build requires Java 1.8 or up to be compiled or executed.

Signed-off-by: Ivan Ip < [email protected]>

* Fix test cases typo

Signed-off-by: Ivan Ip < [email protected]>

* Revert to 1.8 API as per requested for backward compatibility

Signed-off-by: Ivan Ip < [email protected]>

xps.ibj.io ~/ws/nuvotifier on  master
$ git --no-pager log HEAD..v2.3.5

xps.ibj.io ~/ws/nuvotifier on  master
$ git --no-pager log v2.3.5..master
commit 2de64da5119b6d4237b8f1d4ae55cedc6b0a49a4 (HEAD -> master, origin/master, origin/HEAD)
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:43:21 2017 -0400

change version to 2.3.6-pre

commit 0ea6867d916d9aa4bb9e4ea1608fe216c27966e9
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:38:06 2017 -0400

Add more verbose error handling for bad token.

Fixes #25

commit 190bfaa4a99d3b7a73a6324fc5d2248605929897
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 13:31:10 2017 -0400

Add player centric vote forwarding

Used when 'onlySendToJoinedServer' is true yet 'joinedServerFallback' is
empty, null, or unreachable. Will retransmit vote to the server the
player joins that is not on the ignore list.

Also add FileCache support for the new player cache layout with a new
schema system.

commit b43dda37b2e9b565c104d719c2891c0504897f20
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 11:11:19 2017 -0400

update netty version

4.0.31.Final -> 4.1.16.Final

Required test modification - somewhere they fixed a bug where releasing
a ByteBuf given to the pipeline should not be released by the sender -
principle property of handing memory off to a methodcall for ownership.
They should really document this stuff better...

commit 4dfb157166650d06a229bd2a4eb99c1f78a23f33
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:46:58 2017 -0400

Bump project version

We aren't writing on a solid version!

commit d8c2e072b14c39336419bc59739766bb209d631c
Author: Joseph Hirschfeld < [email protected]>
Date: Wed Nov 1 10:35:56 2017 -0400

Add a TTL for the file vote cache.

Adds a locally trusted TTL to each vote locally, not using untrusted
remote timestamp. Add day-based ttl to FileVoteCache.

Fixes #15

commit 359b616a419d88336522dfd175fc5c27f1b915e7
Author: lifehome < [email protected]>
Date: Fri Oct 27 09:04:27 2017 +0800

Replace legacy Java EE method for Java 9 - Drop support for Java 7(#35)

* [Test] Java 1.9 patch

Signed-off-by: Ivan Ip < [email protected]>

* Revert version tag
This version must compile and execute on or above Java 9 SE, as the classfile cannot be read by Java 8 or below.

Signed-off-by: Ivan Ip < [email protected]>

* Revert to Java 8 for backward compatibility
This build requires Java 1.8 or up to be compiled or executed.

Signed-off-by: Ivan Ip < [email protected]>

* Fix test cases typo

Signed-off-by: Ivan Ip < [email protected]>

* Revert to 1.8 API as per requested for backward compatibility

Signed-off-by: Ivan Ip < [email protected]>
----------, Nov 1, 2017

This update only removes support for the enableExternal option in config.yml. No other changes have been made.

See this forum post for justification.
----------, May 8, 2017

  • Reduce issues with large vote file caches.
  • Log successful vote attempt IPs when debug mode is enabled.
  • Other bug fixes.
----------, Feb 20, 2017

This release fixes various anomalies that have been uncovered, as well as various improvements to the codebase.
----------, Aug 16, 2016

  • Fix "username too long" errors.
  • Fix debug messages to detect the proper protocol version.
  • CONFIG CHANGE: Proxy servers need to be changed from key -> token.
----------, Mar 5, 2016

  • Fixed forwarding when forced to forward to the server that the player was on.
  • Added filtering for servers.
  • Sponge support added.
----------, Jan 25, 2016

  • Vote parsing for protocol v1 packets has been made less strict in order to appease certain broken voting websites.
  • You can now disable protocol v1 parsing in the configuration.
  • Protocol v2 key checks are now performed using a more secure way of performing equality checks that is more immune from timing attacks.
  • Votes forwarded with plugin messaging can now be sent to a fallback server if the player voting isn't online.
----------, Jan 7, 2016

  • Introduced proxy vote forwarding. NuVotifier can forward votes from your BungeeCord NuVotifier to another NuVotifier server using the NuVotifier protocol.
  • Fixed compatibility with Java 7. We strongly recommend upgrading to Java 8.
  • Fixed misleading null address bug when you can not bind to a port.
----------, Nov 26, 2015

Vote forwarding has been fixed.
----------, Nov 13, 2015

Vote forwarding support has been added to NuVotifier. NuVotifier can now forward votes from your BungeeCord to all of your Bukkit servers easily.

Currently, votes are forwarded over plugin messaging, but we've made this system reliable even when players are not on your server.

Configuring vote forwarding is simple. You must configure it on both your Bukkit and BungeeCord servers. Example configurations:
----------, Oct 25, 2015

Ported NuVotifier to BungeeCord.
----------, Oct 18, 2015

Resource Information
Author:
----------
Total Downloads: 172,562
First Release: Oct 17, 2015
Last Update: Jul 6, 2021
Category: ---------------
All-Time Rating:
191 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings