Skip to content

Latest commit

 

History

History
109 lines (78 loc) · 4.76 KB

faq.md

File metadata and controls

109 lines (78 loc) · 4.76 KB

FAQ

Also know as, the page you go to when NuVotifier isn't doing what it is supposed to.

From maintaining NuVotifier for some time, I receive a lot of the same questions. I try to answer them the best I can in this document.

I voted (or submitted a test vote) and nothing happened. Why isn't it working?

Votifier v1 isn't smart enough to recover from errors. Most server list votifier implementations are even stupid enough to ignore connection errors and report the vote as a success. Thus when using Votifier v1, there is no way to be sure that a vote is ever received by the receiving server.

Usually when NuVotifier doesn't report anything in the logs, the voting website is unable to connect to NuVotifier in the first place. The following things are usually to blame:

  • NuVotifier errored out during startup - check your startup logs
  • NuVotifier couldn't bind to the ip/port combination - again, check your start up logs. I have another section on NuVotifier failing to bind errors.
  • NuVotifier is not bound to the correct IP - Check the bind ip parameter in the NuVotifier configuration. If that doesn't work, try 0.0.0.0 - this will tell NuVotifier to bind to ALL IPs it can.
  • You entered the port in incorrectly - double check the NuVotifier port in the configuration.
  • You have a firewall in the way - If you are running on Windows, try to temporarily disable the firewall. Linux has a couple of different of culprits, including iptables and ufw.

I voted (or submitted a test vote) and I got an IOException in the console. What gives?

How to treat an IOException depends on which specific IOException you receive:

Connection reset by peer

This means that the voting website 'closed' the TCP connection to NuVotifier before it could read the entire Vote message. NuVotifier can't fix this, because this is an implementation issue with voting lists. If you are receiving this exception, report this to voting lists, not NuVotifier.

If you are coming from a server list from a report of this error, consider implementing the Votifier v2 protocol - it is more secure, easier to implement, easier to diagnose, and is more resilient to network issues like this. Some implementations for popular languages already exist including PHP, Node.js, Golang, and Java.

Connection reset by host

This means that your computer's operating system closed the TCP connection to NuVotifier before it could read the entire Vote message. Usually this is due to a firewall - disable firewalls on your system and try again.

Other IOExceptions

Other errors don't show up commonly enough - report an issue with your configurations and server logs.

Which forwarding mode should I use?

NuVotifier comes with two baked in forwarding modes: proxy and pluginMessaging. Proxy mode should only ever be used when your network includes multiple BungeeCords. Otherwise, you should always use pluginMessaging - it is easier to set up and includes more forwarding mechanics.

Bungeecord gets my vote, however my backend servers don't.

First, make sure you are using the correct forwarding mode for your setup - you could save yourself a lot of headaches by using pluginMessaging instead of proxy mode. If you are still having issues, see the following sections.

PluginMessaging

PluginMessaging is a lot more straight forward than other forwarding methods. If it does not work, check the following things:

  • Is the plugin messaging channel the same everywhere? Make sure it is lower case and includes a colon! (Previous NuVotifier versions defaulted to an invalid channel before 1.13 was released.)
  • Is the server you are having issues with either on the blacklist or not on the whitelist?

Proxy

A lot more can go wrong when using proxy. A lot of people do not set it up correctly. If you are using proxy mode, make absolutely sure you actually need proxy mode. With that being said, here are some things you can check:

  • For each backend server, diagnose connection issues according to simply not getting votes - usually the server is unable to bind to a port, or there is another issue related to firewalls, ports, and that sort of thing.
  • Ensure you are using the v2 Votifier token generated by each server. This is NOT the key found in the rsa/ folder.
  • Check ALL of your logs. One of them says something. It doesn't? You are lying. ONE OF THEM DOES. Check them again.

Does NuVotifier support X?

The answer is yes if the original Votifier supported it or if the plugin says they support NuVotifier.

I used /reload or /plugman on NuVotifier and now it doesn't work!

Reloads are not supported by NuVotifier. Restart your server, and use /nvreload in the console to reload the NuVotifier configuration.

NuVotifier is lagging my server!

No its not. One of your vote listeners is.