FOnline servers monitor, working as extension for
ServerBoy by
Cpt.Rookie and
Vaultman, adding few own features (more informations about
ServerBoy can be found
here). Main differences include:
- Less focusing on single servers, and more on comparing statistics of few of them
- Provide more details (links to website, IRC channel, etc.) about each game, helping players which want to try something new/different
- Use day as a basic unit, instead of minute
- Preprocess collected data, so it can be used by third-party applications
- Include singleplayer games on games list
Current list of servers has been build basing on threads in FOnline-related forums (
fodev.net and
fonline.ru), list of servers tracked by
ServerBoy and
fonline-status.ru (site has closed (?) during development stage of the project),
ModDB page of FOnline engine, and found FOnline-related channels on
ForestNet statistics.
Librarian
First name of ServerBoy project, back in times, when it was working as IRC bot on #2238 channel. It's also how ServerBoy is referenced on page and its source. As a gratitude of a long service for whole FOnline community, Librarian got his own statistics page, which can be found here .
At this stage, most of data available is taken directly from
Librarian, and merged every night with own pings result. Once merging is done, highest amount of players in given day is saved and used during rebuilding of data files. Additionally, rebuilding is done every 10 minutes basing own results plus data merged last night.
Mirrors of
ServerBoy database dumps can be found
here or
here.
Data files
All exposed data is saved in
JSON format, what should make further processing easier, despite of used language and platform.
Collected data can be accessed in three different ways:
- Requesting specific part(s) of data by using JSON module, which serves as minimalistic API (recommended)
- Accessing files in data folder directly
- Downloading data dump and analyzing files
First option is probably best if you're planning to create third-party application and base on data provided by FOdev. You don't have to worry about parsing config file (which contains only part of URL), as you get result as single JSON object. Not counting
config.json and
status.json, it's not guaranteed that paths and filenames will stay as they are now - they may change without notice during updates.
Your code is bad, and you should feel bad
https://github.com/rotators/fodev-status/Just like
previous project of Rotators, this one is also available for everyone to check and play with. Suggestions, bug reports, and commits are welcome.
At current stage, documentation is close to none, if we don't count source itself. It probably show up at some point, depending if there would be anyone interested in improving/extending page functionality. Code is prepared to work with new sub-pages without need to rework whole thing, thanks to using modules. Each module is "responsible" for serving different part of the page, but they can also request functions from other modules.
As for client-side configuration file parser (which may be required for other options), there is few versions already present, written in
Perl,
PHP, and
JavaScript.
Obviously, last one is most feature-rich, and most frequently updated. All basic functions are written in "clean" JavaScript, so there shouldn't be problems using it together with your favourite framework. If you check end of the script closely, you'll see that functions loading JSON files are separated, pretty simple, and does not require deep knowledge about all other parts of the code. Currently such "extensions" covers
jQuery, and partially
PrototypeJS. Feel free to
pull request adding other frameworks!