From f3d97b6ca1a2864fcf654358741e33299a5e519b Mon Sep 17 00:00:00 2001 From: Pedro Ivo Hudson Date: Wed, 21 Jul 2021 19:35:48 -0300 Subject: [PATCH] Parse additional dayz tags: first person, dlc enabled and time --- protocols/valve.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/protocols/valve.js b/protocols/valve.js index f82803c..bffc8e3 100644 --- a/protocols/valve.js +++ b/protocols/valve.js @@ -261,10 +261,11 @@ class Valve extends Core { } } + // DayZ embeds some of the server information inside the tags attribute if (appId === AppId.DayZ) { - state.raw.dayzMods = this.readDayzMods(Buffer.from(dayZPayload)); - if (state.raw.tags) { + state.raw.dlcEnabled = false + state.raw.firstPerson = false for (const tag of state.raw.tags) { if (tag.startsWith('lqs')) { const value = parseInt(tag.replace('lqs', '')); @@ -272,6 +273,15 @@ class Valve extends Core { state.raw.queue = value; } } + if (tag.includes('no3rd')) { + state.raw.firstPerson = true; + } + if (tag.includes('isDLC')) { + state.raw.dlcEnabled = true; + } + if (tag.includes(':')) { + state.raw.time = tag; + } if (tag.startsWith('etm')) { const value = parseInt(tag.replace('etm', '')); if (!isNaN(value)) { @@ -286,6 +296,8 @@ class Valve extends Core { } } } + + state.raw.dayzMods = this.readDayzMods(Buffer.from(dayZPayload)); } }