/HLState

Web Monitor for Half-Life Servers

Primary LanguagePHPMIT LicenseMIT

HLState

Web monitor for Half-Life game servers based on Xash3D FWGS masters crawler.

Project initially written to explore Yggdrasil servers, but compatible with any other network

Features

  • Live scrape of each server for online status, active map, players total
  • Game session info: names, frags, time in game, etc
  • Subscription for online updates and players join to server with RSS
  • History keeping in SQLite DB for any charts building
  • New instances crawler based on multiple master nodes
  • Flexible environment settings

Examples

  • http://94.140.114.89/hl/ - Clearnet
  • http://[201:5eb5:f061:678e:7565:6338:c02c:5251]/hl/ - Yggdrasil
  • http://hl.ygg - Alfis DNS

Install

  • apt install git composer curl memcached php php-xml php-intl php-mbstring php-curl php-sqlite3 php-memcached
  • git clone https://github.com/YGGverse/HLState.git
  • cd HLState
  • composer install
  • php bin/console doctrine:migrations:migrate

Setup

  • chown -R www-data:www-data var
  • cp .env .env.local
  • crontab -e > * * * * * /usr/bin/curl --silent http://localhost/crontab/index &> /dev/null

Update

  • git pull
  • git merge
  • composer update
  • php bin/console doctrine:migrations:migrate
  • APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear

Contribution

Please create new branch from main before make PR

  • git checkout main
  • git checkout -b 'new-commit-branch'

License

Versioning

Semantic Versioning 2.0.0

Components

Support

Blog

See also