This is the full tutorial on how to correctly install and setup Chronos in your game. Before contacting supoort about setting up Chronos, please read through this document.
Please open the ChronosConfiguration script inside ReplicatedStorage.
Open up each folder under this to learn how to correctly setup each feature.
Board
1
Configuration.Board.Name
Here you can set the name of your board, you can set it to anything you like by editing
"Chronos"
Set that to anything you wish, please do keep it under 12 characters to avoid overlapping text on the displays.
2
Configuration.Board.RefreshIntervalSeconds
In this part, you can edit the refresh rate (how often the board should refresh) we recommend keeping it at 5 seconds, any slower or longer may cause bugs in your game.
3
Configuration.Board.MaxEventsPerBoard
The amount of allowed events per board, you can set this to whatever you wish, you can do this by editing 6 to a different number.
4
Configuration.Board.SortAscending
If true, events are ordered from soonest → latest. We recommend keeping it at true.
5
Configuration.Board.GlobalBoardsEnabled
Enables boards for everyone (not just nearby players). We also recommend keeping this on true.
6
Configuration.Board.BoardDetectionRadius
If global boards are off, players must be within this many studs to see the board. We also recommend keeping this like it was by default.
Zoom & Topbar
1
Configuration.Zoom.ButtonText
The text displayed on the topbar button to zoom into the closest board. You can edit this to whatever you like but we recommend keeping it under 15 characters.
2
Configuration.Zoom.IconImage
Image asset ID for the Zoom button icon (empty = no icon) To edit this ensure that the Image is a decal and has a decal ID.
3
Configuration.Zoom.TweenInTime
How long the zoom-in transition takes (seconds). You can edit the current number to whatever you like, if the number is smaller it will take less time for the characters camera to reach the board, if the number is larger it will take longer for the characters camera to reach the board.
4
Configuration.Zoom.TweenOutTime
How long the zoom-out transition takes (seconds). You can edit the current number to whatever you like, if the number is smaller it will take less time for the characters camera to return from the board, if the number is larger it will take longer for the characters camera to return from the board.
5
Configuration.Zoom.CameraOffset
We only recommend experienced customers to edit this feature.
Camera offset applied when zooming (CFrame). No support will be offered if something breaks from editing this.
6
Configuration.Zoom.LockCameraDuringZoom
If true, player camera is locked while zoomed in.
7
Configuration.Zoom.AllowRepeatedUse
If true, players can trigger zoom repeatedly. We recommend keeping it on true so users can view the board repeatedly.
8
Configuration.Zoom.EnableBoardCornerZoom
If true, players can click on a part at the bottom of a board and zoom in that way, when clicked again or moved / clicked any other button, the camera will go back to them. If false, the click zoom will not work.
Event Display
1
Configuration.EventDisplay.ShowLocation
Shows the event location text. Set to true to show, false to hide. We recommend keeping it on true if you have a location.
2
Configuration.EventDisplay.ShowDuration
Shows the event time range (start → end). Set to true to show, false to hide. We recommend keeping it on true to show how long the training, shift or event will take.
3
Configuration.EventDisplay.ShowStatus
Shows the status/countdown line (e.g. “Starting in 15m”). Set to true to show, false to hide. We recommend keeping this on true to show others when the event will be starting precisely.
4
Configuration.EventDisplay.ShowHostUser
Shows “Hosted by: username”. Set to true to show, false to hide.
5
Configuration.EventDisplay.ShowHostImage
Shows the host’s avatar headshot. Set to true to show, false to hide.
6
Configuration.EventDisplay.TruncateTitleLength
Cuts off long titles to this length and adds … . Set a number like 60. Use 0 to disable truncation.
7
Configuration.EventDisplay.TemplateMode
Chooses which card template to use.
“EventTemplate” to force the standard template, no host, no host image.
“ShiftTrainingTemplate” to force the alternate template, host image and host
“Auto” to use ShiftTrainingTemplate if present, otherwise EventTemplate, we recommend keeping this as your option for our system to automatically set the correct type.
8
Configuration.EventDisplay.ClaimedSessionsOnly
If True, it will only display claimed sessions, if set to false it will display unclaimed and claimed sessions.
Sources
1
Configuration.Sources.UseTrello
Enables Trello as an event source. When true, Chronos will call the Trello API and pull cards from your configured list.
Set to true if you want Trello events on your boards.
Set to false if you don’t use Trello or want to temporarily disable it.
Make sure your Trello API key, token, and list ID are set correctly or you’ll see errors in output.
2
Configuration.Sources.UseHyra
Enables Hyra as an event source. Chronos will pull upcoming sessions from your Hyra workspace.
Set to true to use Hyra events.
Set to false if you don’t use Hyra.
Requires a valid Hyra token and workspace ID to work.
3
Configuration.Sources.UseSeries
Enables Series as an event source. Chronos will pull upcoming sessions from the Series API.
Set to true to use Series events.
Set to false if you don’t use Series.
Requires a valid Series API key and workspace ID.
4
Configuration.Sources.UseFirefli
Enables Firefli as an event source. Chronos will pull upcoming sessions from the Firefli API.
Set to true to use Firefli events.
Set to false if you don’t use Firefli.
Requires a valid Firefli API key and workspace ID.
5
Configuration.Sources.UsePlanetary
Enables Planetary as an event source. Chronos will pull upcoming sessions from the Planetary API.
Set to true to use Planetary events.
Set to false if you don’t use Planetary.
Requires a valid Planetary API key and workspace ID.
6
Configuration.Sources.HttpTimeoutSeconds
How long Chronos will wait (in seconds) for each API request before timing out.
If your APIs are slow or you see timeouts, increase it (e.g., 15 or 20).
If you want faster failover, keep it lower (e.g., 5 or 10).
Default 10 is a good balance.
7
Information
We are simultaneously working on adding new sources to Chronos, please expect more to Chronos soon.
Trello — Source Configuration
1
Configuration.Trello.ApiKey
Your Trello API key. Chronos uses this to authenticate every Trello request.
Go to https://trello.com/power-ups/admin/ and press ‘New’ on ‘Your Apps’
Fill out all of the information including the App Name, Chose your prefered workspace you will be hosting the sessions and fill out the rest. Then press ‘Create’
Press on ‘Generate a new API Key’
Copy the API key only
Paste it into Configuration.Trello.ApiKey.
After doing so, it should look like something like this: Configuration.Trello.ApiKey = "4a0da0ddf81977ebb84125396e130b09"
2
Configuration.Trello.Token
Your Trello API token. This is the secret that grants access to your boards and lists.
This token must belong to an account that can see the board you’re using.
First, paste this into your browser search engine:
Replace YOUR_API_KEY with your API Key and press enter.
After that, Click Allow.
Then, copy the Token that is found in red, it should be 76 characters long.
Paste it into Configuration.Trello.Token = Due to the Token being a secret that should not be shared, we are not allowed to display it to the public even if it is a false one that we do not use.
3
Configuration.Trello.ListId
The exact Trello list ID where your event cards live.Use the Trello API to list your board’s lists. Copy the id of the list you want (not the board ID, not the list name).
You will have more then one if you have more tabs created in your trello workspace, only choose one where you want the events coming out from.
Copy the id numbers (e.g 88a88a8d0888d8888d8e88e)
Paste it inside Configuration.Trello.ListId
It should look like this: Configuration.Trello.ListId = "88a88a8d0888d8888d8e88e"
4
Configuration.Trello.CardLimit
The maximum number of Trello cards to fetch.
Increase if you expect lots of cards (e.g., 50).
Keep lower if you want less API load.
5
Mapping
For the description for Trello, please use this format for the Co-Host and Host to be displayed.
Host: robloxusernameCo-Host: robloxusername
Hyra — Source Configuration
1
Configuration.Hyra.Token
Your Hyra API token. Chronos uses this to authenticate requests to the Hyra API.
First, make sure that you have a Hyra workspace created before beginning.
On your Hyra Workspace, go to the setting icon and scroll down until you see ‘Developer API’
Press ‘Create API Key’ Give it a name and copy the API Key.
You can only see the API Key once, please save it as fast as you can.
Paste the API Key into Configuration.Hyra.Token
2
Configuration.Hyra.WorkspaceId
The Hyra workspace ID to pull sessions from.
To get the WorkspaceID, you only have to copy the number from the URL of your hyra workspace, it should look like this: https://app.hyra.io/999e999e99999d9dd9d99999/settings/developer
or https://app.hyra.io/999e999e99999d9dd9d99999/
Copy the WorkspaceID
Paste it into Configuration.Hyra.WorkspaceId
It should look like this: Configuration.Hyra.WorkspaceId = "999e999e99999d9dd9d99999"
Series — Source Configuration
1
Configuration.Series.ApiKey
Your Series API key. Chronos uses this to authenticate requests to the Series API.
First, make sure that you have a series workspace.
Inside your workspace, find ‘Development’
Make sure that you are on the API Keys tab, press ‘Create API Key’ and fill out the information.
Copy the API Key
Paste it into Configuration.Series.ApiKey
2
Configuration.Series.WorkspaceId
The Series workspace ID to pull sessions from.
The easiest way is to scroll down until you see ‘Workspace Settings’
Then on ‘Workspace Information’ Scroll down until you see the field ‘Workspace ID’
Copy the WorkspaceID and paste it into Configuration.Series.WorkspaceId
Planetary — Source Configuration
1
Configuration.Planetary.ApiKey
Your Planetart API token. Chronos uses this to authenticate requests to the Planetary API.
Go to settings and then Public API
Click on ‘Create API Key`
Fill out the name and then copy the API key
You cannot retrieve the API Key
Paste the API Key into Configuration.Planetary.ApiKey = ""
2
Configuration.Planetary.WorkspaceId
This identifies which workspace’s sessions are requested.
From your URL, get the 9 digit ID, it is the number at the end:
Copy the 9 Digit ID and place it into Configuration.Planetary.WorkspaceId = ""
3
Configuration.Planetary.BaseUrl
The Host / Domain for requests.
Find the exact public domain where your Planetary instance is hosted.
Ensure the domain includes protocol, usually https://
Set Configuration.Planetary.BaseUrl to that domain only.
Firefli — Source Configuration
1
Configuration.Firefli.ApiKey
Your Firefli API token. Chronos uses this to authenticate requests to the Firefli API.
Go to settings and then Public API
Click on Create API Key
Fill out the name and then copy the API Key
You cannot retrieve the API Key
Place the API Key into Configuration.Firefli.ApiKey = ""
2
Configuration.Firefli.WorkspaceId
This identifies which workspace’s sessions are requested.
From your URL, get the 9 digit ID, it is the number at the end:
https://app.firefli.net/workspace/631688917
Copy the 9 Digit ID and place it into Configuration.Firefli.WorkspaceId = ""
3
Configuration.Firefli.BaseUrl
The Host / Domain for requests.
If you are not self hosting, use https://app.firefli.net
If you are self hosting, deploy your firefli instance and confirm the public domain it uses.
Copy the public domain and include https:// at the start.
Put that full domain into Configuration.Firefli.BaseUrl = "". It should look like this: Configuration.Firefli.BaseUrl = "https://fireflii.aricorp.co.uk" Just with your own domain.
4
Configuration.Firefli.EndpointPath
API route template Chronos calls. We request you leave the current one unless the firefli docs request you to use a different one.
Sorting
1
Configuration.Sorting.SortByStartTime
Sorts events by their start time so the soonest event appears first.
true = sort all events by start time (recommended)
false = keep the order events are returned from the source(s)
2
Configuration.Sorting.RemovePastEvents
Removes events that already started before os.time().
true = hide past events (recommended)
false = show past events too
3
Configuration.Sorting.AllowEqualStartTimes
Controls how events with the exact same start time are handled.
true = allow events with identical start times to display together
false = enforce a strict ordering (may push one event below another)
At this moment in time, our Chronos Discord bot has not yet been fully finished, we are Finalising final features and finishing testing, please expect this to be a feature very soon.
First, go to one of the TV’s and open up the model to expand it, expand the screen part and expand monitorGui and click on the Themes frame, expand that and then you will see your themes, click on the current theme your TV is using and scroll down until you see ‘Visible’, uncheck the box and find any theme that you wish to use, scroll down until you see ‘Visible’ and check the box.