If you have 2 servers (or more) managed by one Airio instance, then by core design principle it is NOT possible to export stats from just one server, simply because all connected servers have the same stats. This is a major feature of Airio, allowing you to connect more servers (4 in FREE version) at once and use common stats among them, no synchronization necessary.
If you need to export stats from just one server, you must use two separate instances of Airio. Each one will then export its own stats into its own directory. But of course you'll have two different Airio stats, separate for each server. Synchronizing such stats is not currently supported, meaning you cannot later merge them. But I plan to implement a command for this, it should be relatively easy.
It's a command to get the prerequisite packages to run it under mono. Might help some people to add that to the manual or something. Btw, checked out Airio the other day - very nice work! Must be the friendliest tracker implementation I've seen to date.
Thanks for testing it under Linux and also thanks for nice words. I mention in the docs that Airio can run under Linux with Mono (tested now quite extensively), but I do not dare to offer any specific instructions how to install Mono. I guess it will be a bit different on each system and people using Linux will probably know pretty well how to do it. But thanks for the tip and explanation, naturally!
I've added Airio to the [noobs] servers and we were just now checking it out. It's fantastic. And you have made it extremely straightforward and well-documented to set it up, I've been amazed at the quality.
I posted the tip about Debian/Ubuntu because it's a very common server distro. I didn't know anything about C# or Mono and found that I needed the aforementioned libraries / packages by trial and error (because the mono-runtime package does not have Core and System as dependencies). You could add this to the manual as a hint, with a wording like this:
"Airio can be installed in a Linux or other Un*x system, with the requirement of the Mono 2.0 runtime. For instance, in a Debian-based distribution (such as Ubuntu), you need to install at minimum the packages: mono-runtime, libmono-corlib2.0-cil, libmono-system2.0-cil."
Ahahaha... Eh... I mean... Forward my apologies to Speedway.
Now: Naturally, it is a (simple) question of configuration. You may either set CheckCursing to false or delete the noob word from the curse list and reload config by typing !rld.
But you are right, your teammates may have troubles connecting to other servers managed by Airio under current default settings. Still, some people say that the above mentioned word should be in fact the only one in the curse list, because the other two default items (sh** and fu**) are not so serious, rather slang. Other people say it is ridiculous to include no** in the curse list. Eh.
The obvious solution for me is to turn off the language filter in default config. If some admin decides to turn on these checks (in chat, in nicknames, and also on car numberplates), he will probably search for the curse list and update it as necessary.
Well, in fact that situation may happen only on your team server, if n**b is still in curse list but you can connect with that name because you have limad or admin rights. But it is a good point, someone talking to your nick in such a situation would really be seen as using bad language... And sorry for default config which caused you some troubles...
I did the mistake of leaving the curse list empty, resulting in that everyone who was not an admin got kicked. Took a little while before figuring out where the problem was. Maybe put in a check in the program so that it doesn't react to blanks?
Oh! Right, this may really be called a bug. Airio 2.0.5 ignores empty entries in the name/curse file so it should be OK now.
Currently on my TODO list: 1) Have at least three definable timed messages. 2) Try to implement !calc command. 3) Allow to see stats for different tracks in some commands (PB, SB, DEL). 4) Allow admins to set what limads can actually do (now hard-coded). 5) Allow custom commands to be defined (in FULL version).
Oh, yes. When I say 9 months of intense development, I mean 8 to 12 hours (almost) every day during that period. And big thanks for your donation, every help is appreciated.
OMG, isn't that just more work? Eh. But once again, thanks for nice words. Keep suggesting to server admins they should try out this tool, because it gives many options (note they are really options, no data are forced on anyone) to players and allows admins to set up many checks (or have them all turned off)...
Thanks. Nice idea! I'll have to think a bit about the ouput format, so that it is easily understandable. Naturally the current world record splitting times would be used to get desired time distribution (just like it is used in good/great split/sector times). The result could be compared to your server PB or LFSW PB (or both)... Adding this into my TODO list...
Airio 2.0.6 features a new config file (Airio.cfg.lc.txt) allowing you to choose what limad commands are available to each limad/admin category. This gives you new options in tuning the rights of privileged people. You may also define what non-standard actions they may perform without being spectated or kicked (such as wrong way driving, text flooding, inactivity, race joining).
There are many new Airio commands available mimicking those of LFS server itself, and you may assign those to limad categories as well to allow non-admins change tracks/cars, set lap counts, start qualification, etc. New is also the possibility to define up to three (multiline) timed messages sent at different intervals.
This is truly a well built piece of software. I am very impressed.
I have it connected from a 800mhz /512 RAM pc on a 300kbs upsteam connection in Texas USA to our 500 dedicated server in U.K. There is hardly any lag when sending/receiving requests from a client. I also have a small 10 player server on the same box as AIRIO. Runs well so far.
I am going to see about some php scripting for a website next.
Good. "noobje" is a default bad language exception, so members of your team should not be kicked for bad name anymore.
Right, despite the fact Airio is constanty watching all cars, calculating their positions and such, it really isn't CPU-hungry. By far the most CPU-demanding command is !pb, especially once the stats grow larger, because it is going through many records and sorts them by different parameters. But that would be just a short peak, the standard processing has low demands.
I have already some time ago contacted Franky, the 500servers owner. He promised to put Airio through the standard testing there and offer it directly on his site through the control panel as an alternative to Lapper and VCom. No confirmation from him so far, I may nudge him a bit soon.
Cool. If you need to know what the numbers in STA files mean and what is the whole structure there, let me know. When/if you develop some PHP scripts, it would be nice to make them available.
Anyway, Airio 2.0.7 contains the !target (or !tg) command as suggested in one of the previous posts. It also changes drifting score calculations - see the changelog file or updated documentation for details. Don't forget you may get overview of all running 2.0.4+ servers on this page.
Right, I start to see going that way would be eventually necessary. Storing stats into text files (as it is now) is relatively easy, but for further processing (displaying on a Web page) many people prefer some kind of DB as the data source.
The problem is I don't have any DB creating/programming experience and that means I would have to do extesive research first and then change the code in a substantial way. I put this into longer outlook todo list (meaning timespan of several months).
For now I would suggest creating a script that would in regular intervals import (some of) STA files data into the database. You may define this script to be run automatically by Airio every 10 minutes (or more), which is the STA files update interval. I believe jbirdaspec may soon start working on such a script.