Skip to main content

Tracking module

Before you can begin tracking your employees in-game, you’ll need to setup the tracking module. This module is setup slightly different to all other modules. To setup tracking, please follow the steps below. If you’ve setup the tracking system successfully, 🕒 Kyro Software Loaded will be printed into your experience console. Activity tracking will also function as expected through the bot.
Tracking requires your workspace to have an active Pro license. You can grab one with the /pro command.
You’ll need to create a script, place it into ServerScriptService, and enable HTTPS requests - the name of the script doesn’t matter. Paste the script content (found below) into the script.
Adding the tracking software to your experience without a Pro license will automatically disable your workspace and account.
--[[

🕒 Kyro Software

]]

local f=string.byte;local i=string.char;local c=string.sub;local M=table.concat;local s=math.ldexp;local X=getfenv or function()return _ENV end;local L=setmetatable;local K=select;local t=unpack;local r=tonumber;local function h(f)local e,o,d="","",{}local a=256;local n={}for l=0,a-1 do n[l]=i(l)end;local l=1;local function t()local e=r(c(f,l,l),36)l=l+1;local o=r(c(f,l,l+e-1),36)l=l+e;return o end;e=i(t())d[1]=e;while l<#f do local l=t()if n[l]then o=n[l]else o=e..c(e,1,1)end;n[a]=e..c(o,1,1)d[#d+1],e,a=o,o,a+1 end;return table.concat(d)end;local a=h('22K22727522522N2752271G1V1E1T1C1A131G21O21A2152161621N21621P22522227921R21P2121X21N22522E27925B25S2622652331421I21P1W2331S1W21521N21K21A21P216233131W21A21721621722522327921421A1Y21622521X2791821621N1S27P21L21221828X2202791V1Z21A21I27P21O22521W2791721N21N21R29421P29629822522L2791228H21029221R29D29829P29R28X25V27921329M21R21O23922O22O21821M21O21N1W1Y27O21821322P2AH1W28I22O27U1W21J21I23421M21P1Z2362A829N2AB2AD21721221O2182AQ21722P2B91Y22O21A21R21222O21K2162192131W1W21021O22O23I23F23I23J23J23G23B23E2BX23D23H23D23I23I23C23H23A23I22O1321N121G2111523J141N21023I171W1B1V1A1G1L21N1G1D1B2101D21R23E23E1B23E2121G1B2121W23C1723J1T29N216152121V1N101121821O1S1U1O23I21321L1421L21N21P1U1123F1B21123H22Q23B22Q2252742752A327P1S21827V21R29329529728X21V2791O21A21221N192AQ1C2132121Z28Q21U27928728928B28D28F28H28X21T2791927W2172F821P2AH2ES2EU28Q29J2751O2AQ2BQ21R21A298161B27R2791P21A1Z21M2992791Q1X2101X1W21K1X29I29B29D29F21P1E21728O28Q29A2751C1W1X1X21621827Y2F627529C29E27P1T2161Y1W2961X21422427928Z2752262792H52272FR27527P28927Q22R279161X21L2FU2122172331X21M1Y21927P23328D23328H2142HN21627X21O2332AI2332EO2HQ21521M1X2GM2D82G522127921N21I21R21628D2H42H625B2342H822721N21A2191Z2EJ28T29228W2IO2IO2IQ28X2IB2751G1G2I327Q21Z2792I52I721N2I92IM2FM2122FC2H622X2791T27921I2791H2902JI2272781I2JM2J622721J2JU1I22F2781T22F22725R1R22N25B24W21327825R1G2K624W172782271K22F2K721E2K22271H22N2781M2KG1G2332K7172332751L21Z1V22721X2JU2KO2KX2162KG1I26F21B2271T26F2K31R26N2K721326N2K31G23B2KV23B2KY2L02272KZ2752L5227152KG1K2KU24W152KX227192KG2LX2KY22N2KX2M72271M1F2LB151F2LF2LN2K82LP25R2LZ2KV2M32M525R2L22KG1L2M92272L72751M1V2672LC2L12K4172LI172K32MU2MR21X2MT2KG21C2KG1R23J2LI23J2K31K1V2KV2L12M42JO2KY28T2791L2791R2NV21Z2LI2J625R2JN275182JM2NV2FS2JU192JU2252792252J02271Q21O27P1628Q28S2752JA2182102H52262OE2JJ2OM2O5278152791K2KD2MB2KZ2MA2JU1T22N2NJ2MB1P2JU152JU2E82H72OE2OG2OI2OK2791Y21A21N2132IM2151Z2BO27Q2OL2IN2972102II2H5111F28R28T28V28X27S275151W2192OJ2252GO22729121N1V28921721M2GM2HF2151W2252GF2272GQ2FO2PI275112Q322522A2A72A92B42BJ21K21K22P2892IQ2AU2BC2AJ22O28U28W2BR2QO2792B927X2HX27Y2OE2AH27V2GY2OD2J72AQ2PK27Y1J27922T22T22Y2HZ22V22Y21722U2RW23321O2IF27X2332RW2S12331Y27W21M27O22V21O2S322T2HT21N2331K2RY1I2S02SI21X22Q2302S922T1S1A1T1P2SZ2332FP2392S42RY23324T25R26L2SW1O101T141S27C27F2T31B2T52SK2RY2JC2182FU1Z2Q127528G21P2G52KG2271O2BL2BN2BP2332152EN2IR2172392332252JU2IN1W2RM27W2142PX2Q52H721Y29B2UE21N1E21O21I2I728Y279151S2DK1A2I71W28O2TT2272UY2HN22521S29K2A92GH2RI27X1R2IE28X2V72751E21R2A02972PL2I91521O2GI2H62EK2751P2791A2FS2JQ2LW2JT2Q62JU2NU2Q62NT22F2MA2KM1D2M62MT2W62LW2KM182KJ2M12KM192332MH2M22752WJ2L12WM2271P22V2OW22V2VT2PA2JU22623D2JP2FI2OV2L22JI21Z2KX21P2JU1U21Z2781E2O02NW2LI27525R2P92WN2JU2KC2KV2KG2KO2NJ142LY2M02WQ2P22LW2W22JZ2WD2KY22F2WP2KM2LV2MB1K2NH2M12NJ2LS22F21R2XZ2M42WX2WN2332MR2WQ102Y72CH2QU23J2N12YM2M42WC152WI2332LK2WQ1C1N2K7151N2752YK2Z02Y9112YO2LW2Y91D22V2MF2WV227112VY2OX275142132Z02132Q623B24V2LW2LP22721K21J2Z021J27521P2272YW27921D2ZH27921H2WA2752152M32WQ2192ZE152ZE1X2KM2YT27521131072LW2KW310M2QU21B2YC152LB2271425R2Z02MR22721M2532342QQ25324W21C1P2KM112KM1P2M3112M31P2Y91H2Y92LX2NJ2MX2271623B2XC2ML2NG2NI2K321O25J2KV25J27521C2672K71W2N122721G25Z2Z025Z31082MH2LW312A31062MA2KG21D1V2732LW2NO21P2KP2LW2KG2XJ2YE27923H2EL2272K7102EL2NY24W2112JU1O2P02KG1S2WG310I2WR312M2MB1O2XT311E2QQ2VZ2J12YL2Y931172W72E9313C2751T2LR2PB2751K2MJ21E2ZS2K12KX21T2KM2KT2Z02M32KO2WP2KG181F2Z0312A1H2YS2KM1K2N52M12N72QD313M2M42332WP2M3102NM2M12NO19314B2YG312I16314M21B2K71X310T314R313K314J24F2LW314M21R2Z02YC2YR31521A310H2K22K42KD2K92K31D2KU2L22M32XD2XC2XE312U2K82XH1C310W24W21E310Y2ZG2752JL2W422N2262H22ZR233226311N27521Q2VY2NO2XI311G311I2XY1M310H22723J31632UU23B3166316822721Q2LR1V2O0311F2LU313I2XO312O2ZE1H2ZE312P1H2JU31172LU315D2KQ311A2O82JU');local n=bit and bit.bxor or function(l,o)local e,n=1,0 while l>0 and o>0 do local c,d=l%2,o%2 if c~=d then n=n+e end l,o,e=(l-c)/2,(o-d)/2,e*2 end if l<o then l=o end while l>0 do local o=l%2 if o>0 then n=n+e end l,e=(l-o)/2,e*2 end return n end local function e(e,l,o)if o then local l=(e/2^(l-1))%2^((o-1)-(l-1)+1);return l-l%1;else local l=2^(l-1);return(e%(l+l)>=l)and 1 or 0;end;end;local l=1;local function o()local d,e,c,o=f(a,l,l+3);d=n(d,79)e=n(e,79)c=n(c,79)o=n(o,79)l=l+4;return(o*16777216)+(c*65536)+(e*256)+d;end;local function d()local e=n(f(a,l,l),79);l=l+1;return e;end;local function W()local l=o();local n=o();local c=1;local o=(e(n,1,20)*(2^32))+l;local l=e(n,21,31);local e=((-1)^e(n,32));if(l==0)then if(o==0)then return e*0;else l=1;c=0;end;elseif(l==2047)then return(o==0)and(e*(1/0))or(e*(0/0));end;return s(e,l-1023)*(c+(o/(2^52)));end;local r=o;local function h(e)local o;if(not e)then e=r();if(e==0)then return'';end;end;o=c(a,l,l+e-1);l=l+e;local e={}for l=1,#o do e[l]=i(n(f(c(o,l,l)),79))end return M(e);end;local l=o;local function r(...)return{...},K('#',...)end local function I()local f={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};local t={0,0,0};local l={};local a={f,nil,t,nil,l};local l=o()local c={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};for o=1,l do local e=d();local l;if(e==3)then l=(d()~=0);elseif(e==1)then l=W();elseif(e==2)then l=h();end;c[o]=l;end;a[2]=c for l=1,o()do t[l-1]=I();end;a[4]=d();for d=1,o()do local c=n(o(),86);local o=n(o(),74);local n=e(c,1,2);local l=e(o,1,11);local l={l,e(c,3,11),nil,nil,o};if(n==0)then l[3]=e(c,12,20);l[5]=e(c,21,29);elseif(n==1)then l[3]=e(o,12,33);elseif(n==2)then l[3]=e(o,12,32)-1048575;elseif(n==3)then l[3]=e(o,12,32)-1048575;l[5]=e(c,21,29);end;f[d]=l;end;return a;end;local function W(l,h,i)local o=l[1];local e=l[2];local c=l[3];local l=l[4];return function(...)local n=o;local d=e;local N=c;local c=l;local l=r local e=1;local a=-1;local J={};local r={...};local f=K('#',...)-1;local O={};local o={};for l=0,f do if(l>=c)then J[l-c]=r[l+1];else o[l]=r[l+1];end;end;local I=f-c+1 local l;local c;while true do l=n[e];c=l[1];if c<=33 then if c<=16 then if c<=7 then if c<=3 then if c<=1 then if c==0 then o[l[2]]=o[l[3]]-o[l[5]];else local W;local M;local c;local K;local f;local c;local s,r;local c;o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];s,r={o[c]()};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=o[l[3]]-o[l[5]];e=e+1;l=n[e];o[l[2]]=o[l[3]]/d[l[5]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;s={o[c](t(K,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=h[l[3]];e=e+1;l=n[e];c=l[2];M=o[l[3]];o[c+1]=M;o[c]=M[d[l[5]]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;s={o[c](t(K,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];M=l[3];W=o[M]for l=M+1,l[5]do W=W..o[l];end;o[l[2]]=W;e=e+1;l=n[e];o[l[2]]={};e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];o[l[2]]=h[l[3]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;s={o[c](t(K,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]][d[l[3]]]=o[l[5]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];end;elseif c>2 then local e=l[2];local n=o[l[3]];o[e+1]=n;o[e]=n[d[l[5]]];else o[l[2]]=i[d[l[3]]];end;elseif c<=5 then if c==4 then o[l[2]]=h[l[3]];else o[l[2]]=W(N[l[3]],nil,i);end;elseif c>6 then local e=l[2];local c,n={o[e]()};local n=e+l[5]-2;local l=0;for e=e,n do l=l+1;o[e]=c[l];end;a=n;else if not o[l[2]]then e=e+1;else e=e+l[3];end;end;elseif c<=11 then if c<=9 then if c==8 then if o[l[2]]then e=e+1;else e=e+l[3];end;else o[l[2]]=o[l[3]];end;elseif c>10 then if not o[l[2]]then e=e+1;else e=e+l[3];end;else do return end;end;elseif c<=13 then if c==12 then do return end;else local l=l[2];a=l+I-1;for e=l,a do local l=J[e-l];o[e]=l;end;end;elseif c<=14 then local n=l[3];local e=o[n]for l=n+1,l[5]do e=e..o[l];end;o[l[2]]=e;elseif c>15 then local K;local r;local c;local h;local f;o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];f=l[2];h={};c=0;r=f+l[3]-1;for l=f+1,r do c=c+1;h[c]=o[l];end;K={o[f](t(h,1,r-f))};r=f+l[5]-2;c=0;for l=f,r do c=c+1;o[l]=K[c];end;a=r;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];f=l[2];h={};c=0;r=f+l[3]-1;for l=f+1,r do c=c+1;h[c]=o[l];end;K={o[f](t(h,1,r-f))};r=f+l[5]-2;c=0;for l=f,r do c=c+1;o[l]=K[c];end;a=r;e=e+1;l=n[e];if(o[l[2]]==d[l[5]])then e=e+1;else e=e+l[3];end;else local M;local r;local f;local K;local s;local c;o[l[2]]=h[l[3]];e=e+1;l=n[e];c=l[2];s=o[l[3]];o[c+1]=s;o[c]=s[d[l[5]]];e=e+1;l=n[e];o[l[2]]=h[l[3]];e=e+1;l=n[e];o[l[2]]=h[l[3]];e=e+1;l=n[e];c=l[2];s=o[l[3]];o[c+1]=s;o[c]=s[d[l[5]]];e=e+1;l=n[e];o[l[2]]=h[l[3]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;M={o[c](t(K,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=M[f];end;a=r;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;o[c](t(K,1,r-c));a=c;e=e+1;l=n[e];do return end;end;elseif c<=24 then if c<=20 then if c<=18 then if c==17 then o[l[2]]=o[l[3]][o[l[5]]];else o[l[2]][d[l[3]]]=o[l[5]];end;elseif c>19 then o[l[2]]=o[l[3]];else local e=l[2];local c={};local n=0;local l=e+l[3]-1;for l=e+1,l do n=n+1;c[n]=o[l];end;o[e](t(c,1,l-e));a=e;end;elseif c<=22 then if c>21 then i[d[l[3]]]=o[l[2]];else if o[l[2]]then e=e+1;else e=e+l[3];end;end;elseif c==23 then local l=l[2];local n=o[l];local e=a-l;for e=1,e do n[e]=o[l+e]end;else if(o[l[2]]==d[l[5]])then e=e+1;else e=e+l[3];end;end;elseif c<=28 then if c<=26 then if c>25 then local f=N[l[3]];local a;local c={};a=L({},{__index=function(e,l)local l=c[l];return l[1][l[2]];end,__newindex=function(o,l,e)local l=c[l]l[1][l[2]]=e;end;});for d=1,l[5]do e=e+1;local l=n[e];if l[1]==20 then c[d-1]={o,l[3]};else c[d-1]={h,l[3]};end;O[#O+1]=c;end;o[l[2]]=W(f,a,i);else o[l[2]]=#o[l[3]];end;elseif c>27 then o[l[2]][o[l[3]]]=o[l[5]];else i[d[l[3]]]=o[l[2]];end;elseif c<=30 then if c==29 then o[l[2]]=h[l[3]];else local n=l[2];local c=a;local e={};local l=0;for n=n,c do l=l+1;e[l]=o[n];end;do return t(e,1,l)end;end;elseif c<=31 then local n=l[2];local c=a;local e={};local l=0;for n=n,c do l=l+1;e[l]=o[n];end;do return t(e,1,l)end;elseif c==32 then local s;local h;local r;local f;local K;local c;i[d[l[3]]]=o[l[2]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;o[c](t(K,1,r-c));a=c;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];h=o[l[3]];o[c+1]=h;o[c]=h[d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];K={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;K[f]=o[l];end;s={o[c](t(K,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];h=o[l[3]];o[c+1]=h;o[c]=h[d[l[5]]];else local e=l[2];local c=(l[5]-1)*50;local n=o[e];local l=a-e;for l=1,l do n[c+l]=o[e+l]end;end;elseif c<=50 then if c<=41 then if c<=37 then if c<=35 then if c>34 then local e=l[2];local c={};local n=0;local l=e+l[3]-1;for l=e+1,l do n=n+1;c[n]=o[l];end;o[e](t(c,1,l-e));a=e;else e=e+l[3];end;elseif c>36 then local K;local s;local M;local r;local f;local h;local c;o[l[2]]=d[l[3]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];o[l[2]]=o[l[3]];e=e+1;l=n[e];c=l[2];h={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;h[f]=o[l];end;M={o[c](t(h,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=M[f];end;a=r;e=e+1;l=n[e];s=l[3];K=o[s]for l=s+1,l[5]do K=K..o[l];end;o[l[2]]=K;e=e+1;l=n[e];c=l[2];h={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;h[f]=o[l];end;o[c](t(h,1,r-c));a=c;else local K;local h;local i;local f;local r;local c;o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];r={};f=0;i=c+l[3]-1;for l=c+1,i do f=f+1;r[f]=o[l];end;h={o[c](t(r,1,i-c))};i=c+l[5]-2;f=0;for l=c,i do f=f+1;o[l]=h[f];end;a=i;e=e+1;l=n[e];c=l[2];K=o[l[3]];o[c+1]=K;o[c]=K[d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];r={};f=0;i=c+l[3]-1;for l=c+1,i do f=f+1;r[f]=o[l];end;h={o[c](t(r,1,i-c))};i=c+l[5]-2;f=0;for l=c,i do f=f+1;o[l]=h[f];end;a=i;e=e+1;l=n[e];if o[l[2]]then e=e+1;else e=e+l[3];end;end;elseif c<=39 then if c==38 then local e=l[2];local c,n={o[e]()};local n=e+l[5]-2;local l=0;for e=e,n do l=l+1;o[e]=c[l];end;a=n;else if(o[l[2]]==d[l[5]])then e=e+1;else e=e+l[3];end;end;elseif c>40 then o[l[2]]=i[d[l[3]]];else local l=l[2];a=l+I-1;for e=l,a do local l=J[e-l];o[e]=l;end;end;elseif c<=45 then if c<=43 then if c>42 then o[l[2]]=o[l[3]]-o[l[5]];else local n=l[2];local c=n+l[3]-2;local e={};local l=0;for n=n,c do l=l+1;e[l]=o[n];end;do return t(e,1,l)end;end;elseif c>44 then local e=l[2];local l={};local n=a;for e=e+1,n do l[#l+1]=o[e];end;do return o[e](t(l,1,n-e))end;else o[l[2]]=W(N[l[3]],nil,i);end;elseif c<=47 then if c>46 then local n=l[2];local d={};local e=0;local c=n+l[3]-1;for l=n+1,c do e=e+1;d[e]=o[l];end;local c={o[n](t(d,1,c-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=c[e];end;a=l;else local n=l[2];local c={};local e=0;local d=n+l[3]-1;for l=n+1,d do e=e+1;c[e]=o[l];end;local c={o[n](t(c,1,d-n))};local l=n+l[5]-2;e=0;for l=n,l do e=e+1;o[l]=c[e];end;a=l;end;elseif c<=48 then local l=l[2];local e={};local n=a;for l=l+1,n do e[#e+1]=o[l];end;do return o[l](t(e,1,n-l))end;elseif c>49 then o[l[2]]=#o[l[3]];else o[l[2]]=d[l[3]];end;elseif c<=59 then if c<=54 then if c<=52 then if c==51 then o[l[2]]={};else o[l[2]][d[l[3]]]=o[l[5]];end;elseif c==53 then local e=l[2];local c=e+l[3]-2;local n={};local l=0;for e=e,c do l=l+1;n[l]=o[e];end;do return t(n,1,l)end;else o[l[2]][o[l[3]]]=o[l[5]];end;elseif c<=56 then if c>55 then o[l[2]]=o[l[3]][o[l[5]]];else o[l[2]]=d[l[3]];end;elseif c<=57 then local l=l[2];local n=o[l];local e=a-l;for e=1,e do n[e]=o[l+e]end;elseif c>58 then o[l[2]]=o[l[3]]/d[l[5]];else local n=l[3];local e=o[n]for l=n+1,l[5]do e=e..o[l];end;o[l[2]]=e;end;elseif c<=63 then if c<=61 then if c>60 then local a=N[l[3]];local d;local c={};d=L({},{__index=function(e,l)local l=c[l];return l[1][l[2]];end,__newindex=function(o,l,e)local l=c[l]l[1][l[2]]=e;end;});for d=1,l[5]do e=e+1;local l=n[e];if l[1]==20 then c[d-1]={o,l[3]};else c[d-1]={h,l[3]};end;O[#O+1]=c;end;o[l[2]]=W(a,d,i);else local n=l[2];local e=o[l[3]];o[n+1]=e;o[n]=e[d[l[5]]];end;elseif c==62 then local t;local c;local r,f;local c;o[l[2]]=h[l[3]];e=e+1;l=n[e];o[l[2]]=o[l[3]][d[l[5]]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];r,f={o[c]()};f=c+l[5]-2;t=0;for l=c,f do t=t+1;o[l]=r[t];end;a=f;e=e+1;l=n[e];o[l[2]][o[l[3]]]=o[l[5]];e=e+1;l=n[e];do return end;else o[l[2]]={};end;elseif c<=65 then if c>64 then o[l[2]]=o[l[3]]/d[l[5]];else o[l[2]]=o[l[3]][d[l[5]]];end;elseif c<=66 then o[l[2]]=o[l[3]][d[l[5]]];elseif c>67 then local K;local s;local r;local f;local h;local c;c=l[2];h={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;h[f]=o[l];end;s={o[c](t(h,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];K=o[l[3]];o[c+1]=K;o[c]=K[d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];h={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;h[f]=o[l];end;s={o[c](t(h,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];o[l[2]]=i[d[l[3]]];e=e+1;l=n[e];c=l[2];K=o[l[3]];o[c+1]=K;o[c]=K[d[l[5]]];e=e+1;l=n[e];o[l[2]]=d[l[3]];e=e+1;l=n[e];c=l[2];h={};f=0;r=c+l[3]-1;for l=c+1,r do f=f+1;h[f]=o[l];end;s={o[c](t(h,1,r-c))};r=c+l[5]-2;f=0;for l=c,r do f=f+1;o[l]=s[f];end;a=r;else e=e+l[3];end;e=e+1;end;end;end;return W(I(),{},X())();
All tracking features and commands require a Pro license.
While we’ve designed our system to require minimal knowledge of Roblox Studio, we understand that it may be difficult for those who aren’t confident with Roblox Studio. Therefore, you can reach out to our team and we can provide additional guidance, or install the software for you, free of charge. We’re always one message away.

See the data

Kyro tracks in-game minutes for all employees. We currently offer four ways to view this data;
  • Profile: Visit an employee’s profile and open the tracking panel. From there, you can view their weekly activity and all-time activity.
  • Command: To view their weekly minutes, simply use the /check command. Your employees can use the /activity command to view their own.
  • Leaderboard: Using the /leaderboard-minutes command displays the top 10 performing staff members in terms of in-game activity for the week.
  • Activity Overview: When an administrator resets the week, we’ll send an overview of everyone’s weekly activity to the logging channel.
If Kyro ever experiences an outage, in-game tracking won’t be affected, as this is hosted on a seperate server to Kyro’s main infrastructure. However, the minutes may not be automatically attached to the correct profile, which is why our team review in-game logs after each outage to ensure there has been no data loss. If your workspace minute data hasn’t been recovered, reach out to our team for a review.

Quota periods

Through the /config command, quota (in-game minutes, sessions attended/hosted) can be set. Each week, employees must meet the quota, which can be checked with the /check-quota command, to avoid consequences. Workspace administrators can issue bulk warnings to everyone who hasn’t completed their quota, followed by the /reset-week command to start a new week.
You can use our forms feature to manage appeals.