Skip to content

Latest commit

 

History

History
85 lines (72 loc) · 3.05 KB

File metadata and controls

85 lines (72 loc) · 3.05 KB

HLstats v2 — event‑driven rewrite built on Mojolicious

  • Unified non-blocking listener for SRCDS UDP + CS2 HTTP logs on the same port with Mojo::IOLoop (minimalistic event loop based on Mojo::Reactor)
  • Mojo::IOLoop->next_tick() scheduling, lightweight, precise callbacks that run on the next loop iteration without blocking anything else
  • Mojo::IOLoop->recurring() timers for low‑priority tasks (cleanup, stats, load...) leaving logs parsing with a higher priority
  • Automatic socket healthcheck with diagnosis and reconnection
  • Log parsing prioritized above all auxiliary operations
  • Full query set optimized for modern high‑performance InnoDB engine (DB ≥ 84) and fastest collation (DB ≥ 84)
  • DB driver: Choice of MariaDB or MySQL
  • High‑throughput queued RCON and log pipeline (can queued thousands of logs/s if needed across multi servers)
  • Source plugins supported (hlstatsx.smx, amxmodx)
  • Source 2 (CS2) via HLstatsZ plugin with Sourcemod‑style events (Server mod set as SOURCEMOD for seamless integration hlx_sm_*)
  • Optional built‑in daily cronjob
  • Comprehensive debug mode (Async) that never blocks the main loop

🤔❓ FAQ

  • Where do I install HLstats?
    HLstats is required to operate on your SQL database server; it should not be run on your Game Server!

  • Why don’t my daily rewards run?
    Now with fully optional built‑in daily cronjob (Awards & Bans); solving one of the most common complaints

  • How to ignore Warmup or End Of Round?
    Edit server details and set BonusRoundIgnore 1


📦 Installation & Setup

Windows Perl(must be compiled with mysql):

Additional modules:

  • Mojolicious
  • GeoIP2
  • GeoIP2::Database::Reader
  • DBD::MariaDB (optional)

Example installation

GoldSrc

  • server.cfg
rcon_password "PaSsWoRd"
log on
logaddress_delall
logaddress_add 64.74.97.164 27500

Source

  • server.cfg
rcon_password "PaSsWoRd"
log on
logaddress_delall
logaddress_add "64.74.97.164:27500"

Source 2 (CS2)

  • gamemode-server.cfg
rcon_password "PaSsWoRd"
log on
logaddress_delall_http
logaddress_add_http "http://64.74.97.164:27500"
sv_visiblemaxplayers 32 // rcon status is broken for max players

Optionally, an additional log address can be used for testing on a different Daemon/Database

logaddress_add_http_delayed 0.0 "http://64.74.97.164:27501"

Add to your launch commands -usercon

📈 Web Frontend / Webside Options


🤝 Credits

Based on HLstatsX:CE 1.6.19
Maintained and modernized by SnipeZilla
Help and validation by ghost-