Troubleshooting VaultListener

Topmost Configuration Problem

Unless your logs contain a VaultListener specific error such as those explained in When Troubles Are Brewing below, there is a 99% chance that the problem is because you mis-configured Votifier. Please refer to Votifier's Troubleshooting page first. This is not passing the buck, but a statistical reality. 99% of purported VaultListener problems reported since December 2011 were Votifier issues due to mis-configurations. Once you've performed your due diligence with Votifier, or its developers tell you directly that it a problem with VaultListener, then we will gladly handle the other 1%. However, rather than leaving you hanging without any help, listed below is a set of common configuration issues encountered.

#1 Issue

Minestatus's Test Votifier reports a successful notification, but actual players do not get paid.

Problem Source #1

Make sure that your economy plugin is enabled. If Vault cannot find a compatible economy plugin, then VaultListener will not issue payments.

Problem Source #2

Port conflict:

  • Make sure Votifier's port is open and not blocked by the server's firewall.
  • Make sure that another plugin is not competing for the same port. This could be one of your own plugins; or, if you are on a hosting service, it may be another plugin (or even Votifier) running on another Minecraft server on the same machine. Seriously, check with your hosting provider's FAQs or support about configuring plugins that require other network connections.
Problem Source #3

This one is the least likely, but if you happen to be tweaking Votifier for multiple servers, make sure that the host: configuration item in Votifier's config.yml is set to your server's IP address or hostname. If you enter a hostname, make sure that it resolves to the server's IP address.

A Simple Test

After you have checked all your configurations and believe them to be correct, you can perform a simple test to determine if this is a Votifier or VaultListener issue. Download Votifier's FlatfileListener, which is a simple listener for logging votes to a file. Place it in the listener folder and restart your server. Issue a test vote. If neither VaultListener or FlatFileListener record the vote, you have a Votifier configuration problem. If by chance, FlatFileListener records a vote and VaultListener doesn't, then please submit a Ticket.

When Troubles Are Brewing

VaultListener is a fairly simple Java class and equally performs fairly simple tasks. However, that doesn't mean that things can't go awry. It depends on Vault, which in turn looks for a suitable economy plugin. Furthermore, there are the other dozen or so plugins that all try to play nicely together, but that don't necessarily do so. Suffice it to say that not all weekend coders - despite their best intentions - make good programmers or software engineers.

Vault has been around since June 2011. In terms of plugins that come and go, that's old. The code is well-written and makes sure to never assume that everything will work or everything that it needs is found. When things don't go right, it traps exceptions and degrades its functionality civilly or in the worst case exits gracefully. Likewise, many of the well-known economy plugins have been around longer and exhibit similar stability.

Compared to these plugins, VaultListener is extremely simple. Even so, it takes care to check everything that can be checked and makes no assumptions that things will always work. Since there is no GUI, they only way it can do this, as with most plugins, is to report the state of its affairs via the server log.

What VaultListener Normally Anticipates

If things go according to plan, VaultListener gets loaded by Votifier during the initialization phase. You should see the following log entries in the server logs.

[Votifier][VaultListener 1.1] Using Economy plugin: XXXX
[Votifier][VaultListener 1.1] No VaultListener properties file found, creating default file.
Loaded vote listener; VaultListener

The first line is generated by VaultListener in which it reports what economy plugin has been detected by Vault. The second line is only shown if VaultListener cannot find its properties file and notifies that it will create a default version. Lastly, the third entry is generated by Votifier stating that it loaded VaultListener.

When a vote is received you will see something similar to:

[Votifier][VaultListener 1.1] PLAYER
The server was voted on by PLAYER!

Again, the first line is generated by VaultListener, reporting the player that voted. The second line will only appear if you have broadcast=true set in the the VaultListener.properties configuration file. Broadcasting is enabled by default, if no configuration file is found.

When Things Aren't There

The following are some more severe log entries that can happen during initialization:

Cannot find reference to Votifier plugin!

This should never appear. If it does, then VaultListener was loaded by something other than Votifier, which is a big bad.

Error loading VaultListener properties. Using default messages and reward of NN

This message will appear if VaultListener find its properties file, but for some reason it has difficultly reading it. This may be indicative of a disk I/O problem or corrupted properties file. Fortunately, VaultListener will degrade and continue using its programmed defaults. These values are the same as shown in the Sample Properties File

Error creating VaultListener properties

This message indicates that VaultListener had problems writing a newly created properties file (because none was found). This may indicate disk problems such as exceeding disk quotas or worse.

Could not find Vault API. Please make sure Vault is installed and enabled!

Obviously, the Vault plugin is missing or failed to initialize properly. VaultListener will still receive votes, thank the player and broadcast it to the server (if enabled), but no payments will be made.

Vault cannot detect a valid economy plugin. No payments will be made!

As stated, Vault did not find a compatible economy plugin. You should look at the log entries to make sure that your economy plugin loaded. Furthermore, you should check the Vault log entries and see what, if any, economy plugin it detected.

Cannot deposit negative funds

This is a Vault-specific error that will happen if you configured a negative amount as a reward. Malicious admin, perhaps?

Illegal reward_amount!

The value given for reward_amount cannot be parsed into a number. Check for illegal characters.

Illegal reward_rate!

The value given for reward_rate cannot be parsed into a number. Check for illegal characters.

If All Else Fails

If nothing still makes sense, we'd certainly like to hear about it. Certainly, there is no claim that VaultListener is bullet-proof; all it can do is to try to be as robust as it can. But it is always possible that something wasn't as obvious as it was first deemed to be. Then again, as long as there are human beings involved somewhere in the chain of things that must happen for a CraftBukkit server to work, problems will happen.

When they do, please feel free to submit a ticket under VaultListener's Issue Tracker. Please include the following:

  • A stack trace of any uncaught exception related to VaultListener.
  • If possible, try to run VaultListener in a minimum environment. For example, disable all plugins except: Votifier, Vault, and whatever economy plugin you are using. If the problem persists, we certainly should hear about it.

Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes