84 lines
1.6 KiB
Markdown
84 lines
1.6 KiB
Markdown
minetest mod goberning
|
|
======================
|
|
|
|
ADMIN mod, light version of various mods and extra tool for manage server
|
|
|
|
Information
|
|
-----------
|
|
|
|
This mod attempts to be an improvement administration combo, but minimized
|
|
as a light version of some other tools like geoip, names-per-ip, antigrif, antihack,
|
|
etc etc etc
|
|
|
|
## LICENSE
|
|
|
|
(c) 2023 Lenz McKAY Gerhard mckaygerhard
|
|
|
|
CC-BY-SA-NC 4.0
|
|
|
|
|
|
it provides geoip mod for minetest
|
|
|
|
Lets you resolve geoip requests on a player
|
|
|
|
powered by [IP Location Finder by KeyCDN](https://tools.keycdn.com/geo)
|
|
|
|
### minetest.conf
|
|
```
|
|
# enable curl/http on that mod
|
|
secure.http_mods = geoip,governing
|
|
```
|
|
|
|
### Commands
|
|
```
|
|
/geoip <playername>
|
|
```
|
|
|
|
### privs
|
|
|
|
* `geoip` can make a geoip query
|
|
|
|
# Api
|
|
|
|
```lua
|
|
-- lookup command
|
|
governing.lookup("213.152.186.35", function(result)
|
|
-- see "Geoip result data"
|
|
end)
|
|
|
|
-- overrideable callback on player join
|
|
governing.joinplayer_callback = function(playername, result)
|
|
-- see "Geoip result data"
|
|
end
|
|
```
|
|
|
|
## Geoip result data
|
|
```json
|
|
{
|
|
"status": "success",
|
|
"description": "Data successfully received.",
|
|
"data": {
|
|
"geo": {
|
|
"host": "213.152.186.35",
|
|
"ip": "213.152.186.35",
|
|
"rdns": "213.152.186.35",
|
|
"asn": 49453,
|
|
"isp": "Global Layer B.V.",
|
|
"country_name": "Netherlands",
|
|
"country_code": "NL",
|
|
"region_name": null,
|
|
"region_code": null,
|
|
"city": null,
|
|
"postal_code": null,
|
|
"continent_name": "Europe",
|
|
"continent_code": "EU",
|
|
"latitude": 52.3824,
|
|
"longitude": 4.8995,
|
|
"metro_code": null,
|
|
"timezone": "Europe/Amsterdam",
|
|
"datetime": "2021-05-20 08:45:56"
|
|
}
|
|
}
|
|
}
|
|
```
|