The plugin itself is nothing but a simple PHP code wrapper around the MaxMind GeoIP library. This code has not changed in quite a few years. If there is an update to that
plugin you should see an update in Joomla's Extensions, Manage, Update page.
However, the plugin by itself does nothing. It needs the MaxMind GeoIP library. MaxMind says you should update it every 2-4 weeks. If you visit Admin Tools' control panel page and it detects that the age of the actual third party (MaxMInd), binary, GeoIP library is more than 15 days it will give you a link to update it. As
documented, this simply pulls a file from MaxMind's servers and extracts it in a known, predictable place on your site. You've read the documentation, right?
Why not do that automatically? Because not all servers allow you to download files from a third party server, extract them and write them reliably. We've seen plenty of servers where the mere action of downloading a file from a third party server causes the site to throw an HTTP error (usually 500 or 504) because of a firewall. We've seen cases where the extraction or the copy in place would fail. And we know for a fact that if the actual binary file gets corrupt in any way, e.g. because Joomla is set up to use the FTP layer and the default behaviour of the FTP server is ASCII transfer which screws up the binary database, you don't just lose that feature, you get an error. Even if that's not the case, downloading and updating a rather large file might cause a timeout error on many shared hosts. This means that automatic updates of the library would kill about 10% of sites. That's why it's a user initiated action and the manual update method is documented.
Further to that, the assumption that everyone wants the country-level, free version of the GeoIP database is wrong. For example, when I want to record where you last logged in from I'd rather use the city-level version of the GeoIP database. So instead of updating the database from the default country-level source I use the free version of the city-level database. Other people may want more accuracy than the free version which means that they have paid for the commercial version of the database with an entirely different download location. In short, making assumptions about the update data location doesn't quite work very well.
If you absolutely need to automate the GeoIP database location you can write a simple CRON job to run a command like this:
wget "http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz" -O /path/to/site/tmp/GeoLite2-Country.mmdb.gz && gunzip /path/to/site/tmp/GeoLite2-Country.mmdb.gz && mv /path/to/site/tmp/GeoLite2-Country.mmdb.gz /path/to/site/plugins/system/akgeoip/db/GeoLite2-Country.mmdb.gz
These are three commands separated by && which means "only carry out the next step if the previous one reports no error". What they do is 1. download the compressed update 2. extract the compressed update (this also removes the compressed file) and 3. move the uncompressed file where it should live. If you use CRON to run it every 15 to 30 days you're set. Caveat: if that for any reason breaks and you end up with incompatible binary data in that db folder your site will break and you'll have to delete the entire plugins/system/akgeoip folder to restore access to it, then reinstall the plugin and re-update the database.
I believe that answers the questions of why this does not happen automatically on a schedule or whenever you update Admin Tools. We don't want to break your sites by installing our software, especially when said breakage would be the result of data and server configuration settings we CAN NOT EVER be in control of since we're neither MaxMind nor your host. The best we can do is provide you with a semi-automated update method for third party data which lets most of our users perform the update with a single click. For those who can't use the automated method we provide manual instructions.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!