The EssentialsXGeoIP plugin expects wrong geo database names
rautamiekka opened this issue ยท 4 comments
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
- Install the currently newest EssentialsX and EssentialsXGeoIP version 2.17.1.53.
- Place the GeoLite2-Country.mmdb (or its symlink) in the EssentialsGeoIP folder.
- Boot the Server, and join.
- 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.
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.
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.
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.
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. ๐