
Security News
New Website “Is It Really FOSS?” Tracks Transparency in Open Source Distribution Models
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
steam_hlds_log_parser
Advanced tools
Steam Hlds Log Parser listens to UDP log packets sent by your (local or remote) HLDS game server, processes data and returns clean and readable (translated) content that you can use for your website, irc channel, match live streaming, bots, database...
Should work with all Steam HLDS based games, and has been mostly tested on Counter-Strike 1.6.
Note : translated content is sent in english or french at this time. Need i18n contributors!
Add this line to your application's Gemfile:
gem 'steam_hlds_log_parser'
And then execute:
$ bundle
Or install it yourself as:
$ gem install steam_hlds_log_parser
And in your Ruby file:
require "steam_hlds_log_parser"
By default, Steam HLDS Log Parser runs on 0.0.0.0:27115
(+100 than default HLDS port which is 27015)
1 - On your game server, send logs to your Ruby server (in this example, same machine).
logaddress 0.0.0.0 27115
or
logaddress_add 0.0.0.0 27115
2 - Create a file named, for example, hlds_parser.rb
with this content:
require "rubygems"
require "steam_hlds_log_parser"
# Your displayer Class is what you will do with your data
class Formatter
def initialize(data)
# will 'puts' the translated content, using built-in Displayer
SteamHldsLogParser::Displayer.new(data).display_translation
end
end
# Setup the Client to use the 'Formatter' Class as displayer callback
# Options will be use default values (see example-2.rb)
SteamHldsLogParser::Client.new(Formatter).start
3 - Now, run the Ruby script to see parsed content inyour console:
ruby hlds_parser.rb
Your game server activity should look something like that:
[T] Jim_Carrey spawned with the bomb
[CT] Tomav says "Com'on guys!"
[CT] V0id killed [T] killaruna with deagle
[T] Funky Byte killed [CT] Neuromancer with m4a1
[CT] Tomav killed [T] Funky Byte with deagle
[T] Juliet_Lewis killed [CT] Make my Day with ak47
[CT] Alloc killed [T] Juliet_Lewis with famas
[T] Jim_Carrey planted the bomb
[CT] Tomav killed [T] Jim_Carrey with sg552
[CT] Tomav begin bomb defuse with kit
[CT] Jim_Carrey says "aaaaaargh!!!" to others [T]
[CT] Tomav defused the bomb
[CT] 1 - 6 [T]
Map ends: CT => 1
Map ends: T => 6
Loading de_dust2
Now customize your Formatter class to make it fit your needs.
Steam HLDS Log Parser should be 100% documented. However, if you find something to improve, feel free to contribute. Full documentation can be found on Steam HLDS Parser Log page on Rubydoc.
Steam HLDS Log Parser uses RSpec as test / specification framework and should be 100% tested too. Here again, feel free to improve it.
Common issues are:
logaddress
UDP
packets, not TCP
)git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)FAQs
Unknown package
We found that steam_hlds_log_parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A new site reviews software projects to reveal if they’re truly FOSS, making complex licensing and distribution models easy to understand.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.