CHEF

What is stored?

This service collects information about what IP (using what name) was seen on which server. It stores IP, port, and description of every server on the master list (which is refreshed before every scan). It stores all IPs it sees (first three octets), and all names it sees. It then stores an entry equivalent to “A player named XYZ was seen on server ABC at this date and time using the IP x.x.x.x”.

Exceptions

Some server mods like spaghettimod can be configured to send (hard to detect) fake IPs. As a result, all IPs obtained from spaghettimod servers are discarded and replaced with 0.0.0.0. Servers (even vanilla) may also be configured to send 0.0.0.0 instead of players' real IPs. Sightings with an IP of 0.0.0.0 will be stored, but will only be shown in direct lookups, not 2-step name lookups.

Querying IPs

IPs (also in ranges) can be given partially, e.g. 177.159 will be parsed as 177.159.0.0/16, which in turn will return results in the subnet 177.159.0.0 - 177.159.255.255.

An explicit prefix size overrides an assumed prefix size, e.g. 177.159/8 will return results in the subnet 177.0.0.0 - 177.255.255.255, that is the second octet will be ignored.

Note that since extinfo only sends the 3 highest IP bytes (24 bits), prefix sizes greater than 24 or greater than the default mask of the IP you specified will be ignored:

API? JSON?

You can get JSON output by using the /api URL path. Example: http://chef.sauerworld.org/api/lookup?q=Obstriegel

Source Code

The source code for CHEF is on Github: https://github.com/sauerbraten/chef