Guide · Quiet hours
Find the hours with players but no police
Most owners know their peak. Few know exactly when their city has people online and nobody from PD on duty. Those hours are where criminals get bored, new players leave, and recruitment should aim.
What to measure
You need two numbers for every hour of the week:
- Players online, at the peak of that hour.
- Officer-minutes on duty: one officer for the full hour is 60, two for half an hour is also 60.
An hour with players online and zero officer-minutes is a gap. An hour with police on duty but under about 45 officer-minutes is thin: one officer popping in briefly. Everything else is covered.
Doing it by hand
For a week, have a staff member note the player count and who's on duty every hour, or log on-duty changes from your framework's duty events (QBCore's QBCore:ToggleDuty, or job changes on ESX) to a file or Discord webhook. It's tedious, but one week is enough to see the pattern.
Lay it out as a grid, days down the side and hours across the top. Gaps almost always cluster: weekday mornings in your time zone, or the hours just after your peak when your regulars go to bed.
What to do with it
- Recruit for the gaps. Post recruitment that names the hours ("we need officers 6am to 11am Eastern"). Players in other time zones often want a server where they matter.
- Move events. If you run staff events, run them at the start of a gap, not at peak.
- Give thin hours a reason to stay. One officer alone is the one most likely to log off. That's where quiet-hours calls help most.
- Check again a week later. Recruitment works slowly; the grid tells you whether it worked.
The automatic way
Overshift's resource already counts players and on-duty minutes every hour. Every server sees the headline, the number of gap hours last week, on its claim page and in the Monday morning report. On Patrol and up, the weekly PD report shows the full grid, the longest gaps, the trend against the week before, and EMS, fire and tow hours, posted to your staff Discord every Monday.