Most data that you will gain from just server logs by default is just regarding connectivity,
But most of the stuff you want to do require a bit of scripting and do not come as ready packages:
If you want to do data analytics, you need to create a new assignment client and monitor the entity tree for example to gather information on when an entity is created and what session ID created that entity (which you can connect to the machine finger print)…
You can also use the assignment client to monitor individual avatars , The basis relies on using
AvatarList.getAvatarIdentifiers() to get all avatars in the domain currently, then going through them via
AvatarList.getAvatar(id); to get an Avatar Object and all the properties associated with it, but none of the methods. You could then forexample check if the avatar is above an object by X amount to see if they are jumping or flying or if they are currently talking to microphone (via
audioLoudness). Basically any information available on the Object is information you can log at will, but you will have to have a script that does the logging and a place where it will put the logging in. This also includes current skeleton data, which can get quite large, just to note.
You can test this without even running a domain, on any other domain locally! You can refer to my Avatar Follower UI, that allows you to locate invisible or tiny avatars or even refer to high fidelity’s own PAL script.
Collision states however require the client to say that a collision has occurred (because collision is client side). This could be achieved by adding a script to a client when they connect to your domain which then sends a Message on a channel, which an Assignment client is listening.
However you could check if someone is inside a zone, or an area without doing so.