Skip to content

HLstats v2 with asynchronous RCON operations, hybrid log ingestion (UDP & HTTP).

Notifications You must be signed in to change notification settings

SnipeZilla/HLstatsX-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • 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-

About

HLstats v2 with asynchronous RCON operations, hybrid log ingestion (UDP & HTTP).

Resources

Stars

Watchers

Forks

Packages

No packages published