Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dayzcog

Minimal Redbot cog repo for monitoring DayZ SA Launcher server population and queue.

Included Cog

  • dayz_monitor

Install In Red

  1. Add this repo:
    • [p]repo add dayzcogs https://github.com/<you>/<repo>
  2. Install cog:
    • [p]cog install dayzcogs dayz_monitor
  3. Load cog:
    • [p]load dayz_monitor

Basic Setup

  • Add a server:
    • [p]dayz add main 91.134.31.223:27017 #alerts
    • Use the server query port. For many DayZ servers this is not the game port.
  • Check one server:
    • [p]dayz status main
  • Check all:
    • [p]dayz statusall
  • List configured servers:
    • [p]dayz list

Aftermath Statistics

For an Aftermath server, an admin first records the server's public API UUID:

  • [p]dayz aftermath main <server-id>

Anyone can then look up public statistics for that configured server:

  • Group statistics: [p]dayz group main <group name>
  • Player statistics by SteamID64: [p]dayz player main <steam-id>

You can also maintain up to six SteamID64s as a Discord-server team roster:

  • Add a player (admin): [p]dayz team add <steam-id> [name]
  • Remove a player (admin): [p]dayz team remove <steam-id>
  • View the roster: [p]dayz team list
  • Combined group and individual statistics: [p]dayz teamstats main

Aftermath's public API exposes aggregate group statistics, not a roster of group members.

Admin Commands

  • Remove server:
    • [p]dayz remove <name>
  • Set alert channel:
    • [p]dayz channel <name> <#channel>
  • Set check interval (seconds, min 30):
    • [p]dayz interval <seconds>
  • Publish one configured server's population and queue in the bot's Discord status:
    • [p]dayz presence <name>
    • Disable with [p]dayz presence off

Queue Status

The DayZ SA Launcher player endpoint only returns online and max player counts for some servers. This cog also queries the server directly with Steam A2S_INFO and reads DayZ's lqsN keyword when present, where N is the live queue size.

Local test notes

  • Unit tests are offline and do not require any live servers:
    • PYTHONPATH=. nix run nixpkgs#python313Packages.pytest -- -q tests/test_dayz_monitor.py
  • Run live integration checks against one real server by setting:
    • DAYZ_MONITOR_LIVE_SERVER=<host:query_port>
    • PYTHONPATH=. nix run nixpkgs#python313Packages.pytest -- -q tests/test_dayz_monitor.py -k live

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages