logging

% Event Logging

Log Goals

  • Performance info

  • Anti-abuse

  • Load estimation

  • Game popularity

  • Debugging

  • Record for replay?

Log Non-Goals

TO BE AVOIDED:

  • Capturing credentials

  • Capturing PII

    • What identities are considered PII?

    • Need separate very short-lifetime log for anti-abuse with extra info?

Configurability

  • Log verbosity (based on event rarity, probably)

  • Separate logs for different privacy levels?

  • Separate logs for each game individually, and for out-of-game in general?

  • Compression

  • Encryption

Performance Requirements

  • Rare events: >10ms, if non-blocking for concurrent tasks

    • Server startup/shutdown

    • Game plugins loaded

    • Game create/pause/restart/quit

    • Identity creation/modification

  • Uncommon events: >1ms if non-blocking other participants, 1ms at most if blocking

    • Connection attempted/dropped

    • Login attempt/success/failure

    • Game join/leave

    • Winloss and Gamestate changes

  • Common events: 10-100ยตs to keep from dominating performance

    • Game action

    • Game event

    • P2P message

    • Game state computation

    • Game update messages

    • Exception captured

  • Very common events: AFAP

    • Message serialization

    • Message transmission

    • Message deserialization

    • Message validation

    • Message queuing

    • Update rendering

Notes

  • GameEvents and game-wide updates already get pushed to all clients; they must be considered recorded out of server's control already.

  • Common path should have everything needed, but NOT bloated

    • And it should be easy (and efficient) to turn off unneeded features

MUGS v0.1.4

Multi-User Gaming Services - A Raku-based platform for game service development

Authors

  • Geoffrey Broadwell

License

Artistic-2.0

Dependencies

MUGS::Core:ver<0.1.4>MUGS::Games:ver<0.1.4>MUGS::UI::CLI:ver<0.1.4>MUGS::UI::TUI:ver<0.1.4>MUGS::UI::WebSimple:ver<0.1.4>

Test Dependencies

Provides

  • MUGS

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.

Built with Podlite โ€” the markup and publishing tools behind this site.