Nucleus Heisenberg - GeoIP for player location determination

This is a discussion topic for the Ore project, Nucleus Heisenberg. View the full project on Ore for downloads and more information.

Nucleus Heisenberg

Licence: MIT (except for the Nucleus logo, which is all rights reserved)

The GeoIP module from Nucleus now on its own.

Why Heisenberg? The Heisenberg Uncertainty Principle states that you
cannot know both someone’s position and momentum at the same time. We’ll know their position, but not how fast they are playing!


Make sure that you accept the licence in the config file before using the plugin. This is to signify your agreement to
the use of the Maxmind database.

Please note that this plugin is capable of making an external connection to MaxMind ( servers to download the latest version of the GeoLite 2 databases. This will only be done once the licence is accepted and upon request thereafter. No information about your server or your players, including IP and location data, is transmitted by this plugin.


  • /geoip <player> - Get GeoIP information for a player. Requires the permission heisenberg.lookup
  • /geoip reload - Reload the config.
  • /geoip update - Update the local GeoIP database. Requires the permission heisenberg.update

There is also the heisenberg.login permission if alert-on-login is turned on for displaying a player’s location on login.

Getting and Building Heisenberg

To get a copy of the Heisenberg source, ensure you have Git installed, and run the following commands from a command prompt
or terminal:

  1. git clone [email protected]:NucleusPowered/Heisenberg.git
  2. cd Heisenberg
  3. cp scripts/pre-commit .git/hooks

To build Heisenberg, navigate to the source directory and run either:

  • ./gradlew build on UNIX and UNIX like systems (including macOS and Linux)
  • gradlew build on Windows systems

You will find the compiled JAR which will be named like Heisenberg-[version].jar in output/.

Third Party Libraries

The compiled Heisenberg plugin includes the following libraries (with their licences in parentheses):

  • MaxMind GeoIP2 API (Apache 2)
  • MaxMind DB (Apache 2)
  • Jackson (Apache 2)

See [THIRDPARTY] for more details.


0/10, does not throw exception when you try to learn the player’s momentum