Docs Step-by-step guides

Track staff shifts and quotas

Staff clock in and out from a live roster, time in your ER:LC server counts by itself, and you can see who is behind on their hours.

10 minutesAdmins (Administrator)

At the end your staff can start and end shifts from a button, time spent in your ER:LC server is counted without anyone pressing anything, and you have a live roster, a weekly quota and a report of who is behind.

Before you start

  • Setting this up needs the Administrator permission or server ownership. Staff only need to be allowed to start shifts (step 1).
  • For in-game time to count, your ER:LC server must be connected. See Connect ER:LC.
  • If you use rank roles, set them first so the roster groups people by rank. See Promote, demote and give infractions.

Steps

1. Choose who can start shifts

Type /duty role role:@Staff.

You see: "Only @Staff can start shifts now." If you skip this, anyone in the server can start a shift.

2. Pick a shift log channel

Type /duty settings log_channel:#shift-logs.

You see: a "Shift settings" card. Every shift start and end is posted in that channel from now on.

3. Post the live roster

Go to the channel where staff should clock in, for example #on-duty, and type /duty channel.

You see: "Live roster panel posted in #on-duty." The panel is called On-Duty Roster (or Staff Roster if you have rank roles) and has a Manage my shift button. It updates itself as people start and end shifts.

4. Staff start and end shifts

A staff member presses Manage my shift on the roster, or types /duty manage.

You see: a private "Your shift" panel with Start shift, Take break and End shift, plus their time this quota period.

Shortcuts: /duty on, /duty break, /duty off.

5. Staff link their Roblox account

Each staff member types /duty link roblox:TheirRobloxName.

You see: "Linked @user to TheirRobloxName. Their time in the game now counts automatically."

From then on, a shift starts on its own when they join your ER:LC server and ends about a minute after they leave. The roster marks these shifts "in-game". This is on by default.

6. Set a quota

Type /duty quota hours:5.

You see: "The default quota is now 5h per quota period (resets every Monday at 00:00 UTC)."

To give one role a different number, add role:. For example /duty quota hours:3 role:@Trainee. Use hours:0 with a role to make that role exempt.

Staff who are behind get a DM reminder before the period ends.

7. See who is behind

Type /duty report.

You see: a "Quota report" card with how many are behind and how many have met it, a list of who is behind with their hours, who is on leave, and anyone marked inactive.

Leave of absence (LOA)

  • Set where requests go: /staff settings leave_channel:#loa-requests leave_role:@On Leave
  • A staff member asks for leave: /staff loa member:@themselves duration:1w reason:Exams. They see "Leave request sent for 7 days. You'll get a DM when a manager answers it." The member box is required, so they pick themselves.
  • A manager presses Approve or Deny on the request in the leave channel.
  • See who is away: /staff loalist. End leave early: /staff loaend.

Managers (the manager role or Administrator) can put someone on leave directly with the same /staff loa command, and it starts at once.

Change it later

  • Change the quota period: /duty settings period: (every week, every other week, every month, every few days), with period_day: and period_hour: (UTC)
  • Require staff to be in-game to start a shift: /duty settings ingame_only:True
  • Give a role while someone is on shift: /duty settings shift_role:@On Duty
  • Add shift types like Patrol or Dispatch: /duty types action:Add or update name:Patrol
  • Turn in-game tracking off: /duty auto enabled:False
  • Fix someone's time: /duty log member:@user minutes:60, /duty adjust member:@user minutes:-30, /duty end member:@user
Tip
The dashboard shows who is on shift right now and has every setting here, including role quotas, exempt roles and shift report questions. Open https://cc.pcdev.dev/dashboard/, pick your server, then Staff & shifts.

If something goes wrong

  • "You need the duty role to start a shift." The person does not have the role from step 1. Give it to them, or run /duty role with no role to let everyone start shifts.
  • In-game time is not counting. Check /duty status. If it says "no Roblox account linked", they need to do step 5. Also check your ER:LC server is connected and that /duty auto is not turned off.
  • "Roblox has no account called ..." The username is spelled wrong. They should type their exact Roblox username, not their display name.
  • "No quota is set. Use duty quota <hours> first." Do step 6 before running the report.
  • "Only staff managers can see the quota report." Give the person the manager role with /staff settings manager_role:.
  • "You're on leave. End your leave with /staff loaend first." Shifts are blocked during leave on this server. They can end their leave, or an admin can turn that rule off with /duty settings no_shifts_on_leave:False.
  • The roster stopped updating. Someone deleted the message. Run /duty channel again.

Something unclear or out of date? Tell us in the support server.