EssentialsX

EssentialsX

2M Downloads

The EssentialsXGeoIP plugin expects wrong geo database names

rautamiekka opened this issue ยท 4 comments

commented

Information

Full output of /ess version:

[00:26:54 INFO]: Server version: 1.15.2-R0.1-SNAPSHOT git-Paper-87 (MC: 1.15.2)
[00:26:54 INFO]: EssentialsX version: 2.17.1.53
[00:26:54 INFO]: LuckPerms version: 5.0.58
[00:26:54 INFO]: Vault version: 1.7.2-b107
[00:26:54 INFO]: EssentialsXChat version: 2.17.1.53
[00:26:54 INFO]: EssentialsXGeoIP version: 2.17.1.53
[00:26:54 INFO]: EssentialsXSpawn version: 2.17.1.53

Server log: https://gist.github.com/rautamiekka/ccd28f0ffb7926c3c745cfbb7e831a9a

EssentialsX config: https://gist.github.com/rautamiekka/49f9717f09b009fa560b5b4813269f05

Details

Description
There're inconsistencies in the EssentialsXGeoIP code regarding the expected geo db names: the config (and part of EssentialsXGeoIP code) expects GeoLite2-C{ity,ountry}.mmdb along with the .tar.gz compression, while the code expects GeoIP2-C{ity,ountry}.mmdb.

Steps to reproduce

  1. Install the currently newest EssentialsX and EssentialsXGeoIP version 2.17.1.53.
  2. Place the GeoLite2-Country.mmdb (or its symlink) in the EssentialsGeoIP folder.
  3. Boot the Server, and join.
  4. Watch the Server Console as EssentialsX fails to read the file upon join with a stacktrace. The stacktrace itself is kinda useless, only hinting towards a missing file.

Expected behavior
Show the country, or the city, depending on your config, upon Player joining.

Screenshots
No screenshots necessary.

commented

GeoIP has undergone some changes recently, which require updating your configuration to continue using the plugin. For simplicity, I would recommend deleting the EssentialsGeoIP folder and restart your server. You should then see an error that says "No license key found". Follow the instructions displayed in that error which should allow you to fix your installation.

commented

GeoIP has undergone some changes recently, which require updating your configuration to continue using the plugin. For simplicity, I would recommend deleting the EssentialsGeoIP folder and restart your server. You should then see an error that says "No license key found". Follow the instructions displayed in that error which should allow you to fix your installation.

Ya, it does tell to visit the EssentialsX website, but shouldn't the problem be
java.io.FileNotFoundException: plugins/EssentialsGeoIP/GeoIP2-Country.mmdb (No such file or directory) ? GeoIP2 databases are paid while GeoLite2 is free behind a license.

commented

You didn't set up the module properly. As instructed above by pop4959, you need to delete the plugins/EssentialsGeoIP/ directory and follow the instructions at https://essentialsx.cf/geoip.

The EssentialsX GeoIP module downloads and updates GeoLite2 databases by itself, and we do not provide support for manually installing the database.

commented

Ya, it does tell to visit the EssentialsX website, but shouldn't the problem be
java.io.FileNotFoundException: plugins/EssentialsGeoIP/GeoIP2-Country.mmdb (No such file or directory) ? GeoIP2 databases are paid while GeoLite2 is free behind a license.

As far as I recall, Essentials renames the file when it downloads it. You don't need GeoIP2 as EssentialsX only uses GeoLite2. If you really want to argue, EssentialsXGeoIP should actually be named EssentialsXGeoLite. ๐Ÿ˜†