[{"data":1,"prerenderedAt":335},["ShallowReactive",2],{"navigation":3,"page-\u002Fde\u002Fdesign\u002Fplayer-tracker-rework":233,"\u002Fde\u002Fdesign\u002Fplayer-tracker-rework-surround":334},[4,118,182,203],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","\u002Fgetting-started","1.getting-started",[9,11,15,19,23,27,31,57,70,86,108],{"title":5,"path":6,"stem":10},"1.getting-started\u002F1.index",{"title":12,"path":13,"stem":14},"Features","\u002Fgetting-started\u002Ffeatures","1.getting-started\u002F1.features",{"title":16,"path":17,"stem":18},"Demo","\u002Fgetting-started\u002Fdemo","1.getting-started\u002F2.demo",{"title":20,"path":21,"stem":22},"Requirements","\u002Fgetting-started\u002Frequirements","1.getting-started\u002F2.requirements",{"title":24,"path":25,"stem":26},"Components","\u002Fgetting-started\u002Fcomponents","1.getting-started\u002F3.components",{"title":28,"path":29,"stem":30},"Versioning","\u002Fgetting-started\u002Fversioning","1.getting-started\u002F3.versioning",{"title":32,"path":33,"stem":34,"children":35,"page":56},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F4.installation",[36,40,44,48,52],{"title":37,"path":38,"stem":39},"Installation Methods","\u002Fgetting-started\u002Finstallation\u002Fmethods","1.getting-started\u002F4.installation\u002F1.methods",{"title":41,"path":42,"stem":43},"Cloud","\u002Fgetting-started\u002Finstallation\u002Fcloud","1.getting-started\u002F4.installation\u002F2.cloud",{"title":45,"path":46,"stem":47},"Using Docker","\u002Fgetting-started\u002Finstallation\u002Fcontainer-docker","1.getting-started\u002F4.installation\u002F3.container-docker",{"title":49,"path":50,"stem":51},"Kubernetes: Using Helm","\u002Fgetting-started\u002Finstallation\u002Fkubernetes-helm","1.getting-started\u002F4.installation\u002F4.kubernetes-helm",{"title":53,"path":54,"stem":55},"Complete Initial Setup","\u002Fgetting-started\u002Finstallation\u002Fpost-install-steps","1.getting-started\u002F4.installation\u002F6.post-install-steps",false,{"title":58,"path":59,"stem":60,"children":61,"page":56},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F5.configuration",[62,66],{"title":63,"path":64,"stem":65},"Configure FiveNet","\u002Fgetting-started\u002Fconfiguration\u002Fconfigure","1.getting-started\u002F5.configuration\u002F2.configure",{"title":67,"path":68,"stem":69},"DBSync: Install and Configure","\u002Fgetting-started\u002Fconfiguration\u002Fdbsync","1.getting-started\u002F5.configuration\u002F3.dbsync",{"title":71,"path":72,"stem":73,"children":74,"page":56},"Gameserver","\u002Fgetting-started\u002Fgameserver","1.getting-started\u002F6.gameserver",[75],{"title":76,"path":77,"stem":78,"children":79,"page":56},"FiveM Plugin","\u002Fgetting-started\u002Fgameserver\u002Ffivem-plugin","1.getting-started\u002F6.gameserver\u002F1.fivem-plugin",[80,83],{"title":32,"path":81,"stem":82},"\u002Fgetting-started\u002Fgameserver\u002Ffivem-plugin\u002Finstallation","1.getting-started\u002F6.gameserver\u002F1.fivem-plugin\u002F1.installation",{"title":58,"path":84,"stem":85},"\u002Fgetting-started\u002Fgameserver\u002Ffivem-plugin\u002Fconfiguration","1.getting-started\u002F6.gameserver\u002F1.fivem-plugin\u002F2.configuration",{"title":87,"path":88,"stem":89,"children":90},"Reference","\u002Fgetting-started\u002Freference","1.getting-started\u002F7.reference\u002Findex",[91,92,96,100,104],{"title":87,"path":88,"stem":89},{"title":93,"path":94,"stem":95},"Advanced Configuration","\u002Fgetting-started\u002Freference\u002Fadvanced","1.getting-started\u002F7.reference\u002Fadvanced",{"title":97,"path":98,"stem":99},"Config File Reference","\u002Fgetting-started\u002Freference\u002Fconfig-reference","1.getting-started\u002F7.reference\u002Fconfig-reference",{"title":101,"path":102,"stem":103},"Database Setup","\u002Fgetting-started\u002Freference\u002Fdatabase-setup","1.getting-started\u002F7.reference\u002Fdatabase-setup",{"title":105,"path":106,"stem":107},"Command Flags","\u002Fgetting-started\u002Freference\u002Fflags","1.getting-started\u002F7.reference\u002Fflags",{"title":109,"path":110,"stem":111,"children":112},"Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting","1.getting-started\u002F8.troubleshooting\u002Findex",[113,114],{"title":109,"path":110,"stem":111},{"title":115,"path":116,"stem":117},"Database and Installation Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting\u002Finstallation-issues","1.getting-started\u002F8.troubleshooting\u002Finstallation-issues",{"title":119,"path":120,"stem":121,"children":122},"User Guides","\u002Fuser-guides","3.user-guides\u002F0.index",[123,124,128,132,136,146,150,154,158,162,166,170,174,178],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"System Requirements","\u002Fuser-guides\u002Fsystem-requirements","3.user-guides\u002F0.system-requirements",{"title":129,"path":130,"stem":131},"Citizens","\u002Fuser-guides\u002Fcitizens","3.user-guides\u002F1.citizens",{"title":133,"path":134,"stem":135},"Vehicles","\u002Fuser-guides\u002Fvehicles","3.user-guides\u002F2.vehicles",{"title":137,"path":138,"stem":139,"children":140},"Documents","\u002Fuser-guides\u002Fdocuments","3.user-guides\u002F3.documents\u002Findex",[141,142],{"title":137,"path":138,"stem":139},{"title":143,"path":144,"stem":145},"Templates","\u002Fuser-guides\u002Fdocuments\u002Ftemplates","3.user-guides\u002F3.documents\u002Ftemplates",{"title":147,"path":148,"stem":149},"Jobs","\u002Fuser-guides\u002Fjobs","3.user-guides\u002F3.jobs",{"title":151,"path":152,"stem":153},"Calendar","\u002Fuser-guides\u002Fcalendar","3.user-guides\u002F4.calendar",{"title":155,"path":156,"stem":157},"Livemap","\u002Fuser-guides\u002Flivemap","3.user-guides\u002F5.livemap",{"title":159,"path":160,"stem":161},"Dispatch Center","\u002Fuser-guides\u002Fcentrum","3.user-guides\u002F6.centrum",{"title":163,"path":164,"stem":165},"Mailer","\u002Fuser-guides\u002Fmailer","3.user-guides\u002F6.mailer",{"title":167,"path":168,"stem":169},"Settings","\u002Fuser-guides\u002Fsettings","3.user-guides\u002F7.settings",{"title":171,"path":172,"stem":173},"Languages (i18n)","\u002Fuser-guides\u002Fi18n","3.user-guides\u002F8.i18n",{"title":175,"path":176,"stem":177},"iOS App","\u002Fuser-guides\u002Fios-app","3.user-guides\u002F9.ios-app",{"title":179,"path":180,"stem":181},"StreamDeck Plugin","\u002Fuser-guides\u002Fplugin-streamdeck","3.user-guides\u002F9.plugin-streamdeck",{"title":183,"path":184,"stem":185,"children":186},"Development","\u002Fdevelopment","8.development\u002F1.index",[187,188,192,196,200],{"title":183,"path":184,"stem":185},{"title":189,"path":190,"stem":191},"GRPC Protobuf Documentation","\u002Fdevelopment\u002Fgrpc-api","8.development\u002F3.grpc-api",{"title":193,"path":194,"stem":195},"Release Process","\u002Fdevelopment\u002Frelease","8.development\u002F4.release",{"title":197,"path":198,"stem":199},"User Activity","\u002Fdevelopment\u002Fuser-activity","8.development\u002F5.user-activity",{"title":171,"path":201,"stem":202},"\u002Fdevelopment\u002Fi18n","8.development\u002Fi18n",{"title":204,"path":205,"stem":206,"children":207},"Design Docs","\u002Fdesign","9.design\u002F1.index",[208,210,214,218,221,225,229],{"title":209,"path":205,"stem":206},"Designs",{"title":211,"path":212,"stem":213},"Improving Data Separation and Management for Users and Citizens","\u002Fdesign\u002Fdata-separation-management","9.design\u002Fdata-separation-management",{"title":215,"path":216,"stem":217},"DB Sync","\u002Fdesign\u002Fdb-sync","9.design\u002Fdb-sync",{"title":159,"path":219,"stem":220},"\u002Fdesign\u002Fdispatch-center","9.design\u002Fdispatch-center",{"title":222,"path":223,"stem":224},"Employee Management","\u002Fdesign\u002Femployee-management","9.design\u002Femployee-management",{"title":226,"path":227,"stem":228},"Player Tracker Rework","\u002Fdesign\u002Fplayer-tracker-rework","9.design\u002Fplayer-tracker-rework",{"title":230,"path":231,"stem":232},"Qualifications","\u002Fdesign\u002Fqualifications","9.design\u002Fqualifications",{"id":234,"title":226,"body":235,"description":327,"extension":328,"links":329,"meta":330,"navigation":331,"path":227,"redirect":329,"seo":332,"stem":228,"__hash__":333},"content_en\u002F9.design\u002Fplayer-tracker-rework.md",{"type":236,"value":237,"toc":323},"minimark",[238,246,251,272,276,281,319],[239,240,241,245],"p",{},[242,243,244],"strong",{},"Status",": Implemented",[247,248,250],"h2",{"id":249},"current-functionality","Current Functionality",[252,253,254,258,261,264],"ul",{},[255,256,257],"li",{},"Storing Livemap Marker (for \"live\" positions)",[255,259,260],{},"Ability to get a single players position.",[255,262,263],{},"Knowing if player is on\u002Foff duty.",[255,265,266,267],{},"Subscribing to new on duty players and off duty\u002Fleft server players\n",[252,268,269],{},[255,270,271],{},"Jobs Timeclock: Could be moved to FiveM-server-side.",[247,273,275],{"id":274},"goals","Goals",[252,277,278],{},[255,279,280],{},"Use Nats key value store for sharing the state.",[282,283,284],"mermaid",{},[285,286,290],"pre",{"className":287,"code":288,"language":282,"meta":289,"style":289},"language-mermaid shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sequenceDiagram\nWorker->>+Database: Retrieve current User Locations\nWorker->>NATS KV: Update locations in KV\nServer->>NATS KV: Access location info\n","",[291,292,293,301,307,313],"code",{"__ignoreMap":289},[294,295,298],"span",{"class":296,"line":297},"line",1,[294,299,300],{},"sequenceDiagram\n",[294,302,304],{"class":296,"line":303},2,[294,305,306],{},"Worker->>+Database: Retrieve current User Locations\n",[294,308,310],{"class":296,"line":309},3,[294,311,312],{},"Worker->>NATS KV: Update locations in KV\n",[294,314,316],{"class":296,"line":315},4,[294,317,318],{},"Server->>NATS KV: Access location info\n",[320,321,322],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":289,"searchDepth":303,"depth":303,"links":324},[325,326],{"id":249,"depth":303,"text":250},{"id":274,"depth":303,"text":275},"Status: Implemented","md",null,{},true,{"title":226,"description":327},"-dDuBHEi9nChSAeTMx2DCemLJ6BvKnwFZmdflxSKFhM",[329,329],1792179867990]