From 3eb53c2ada1c1d31975f25f0f93a0f01ec68be4a Mon Sep 17 00:00:00 2001 From: Thomas Smyth Date: Fri, 15 May 2020 18:42:39 +0100 Subject: [PATCH] SquadJS v1 --- .eslintignore | 4 + .eslintrc | 9 + .gitignore | 12 + .huskyrc | 5 + .lintstagedrc | 7 + .prettierrc | 3 + LICENSE | 25 + README.md | 142 + assets/package.json | 4 + assets/squadjs logo black.xcf | Bin 0 -> 151095 bytes assets/squadjs logo white.xcf | Bin 0 -> 170342 bytes assets/squadjs-logo-square-white.png | Bin 0 -> 138113 bytes assets/squadjs-logo-white.png | Bin 0 -> 133399 bytes assets/squadjs-logo.png | Bin 0 -> 126572 bytes connectors/package.json | 12 + connectors/scbl.js | 7 + connectors/squad-layers/index.js | 117 + connectors/squad-layers/layers.json | 5142 +++++++++++++++++ core/config.js | 4 + core/package.json | 10 + core/utils/print-logo.js | 18 + core/utils/sleep.js | 5 + index.js | 67 + package.json | 39 + plugins/discord-admin-cam-logs/README.md | 30 + plugins/discord-admin-cam-logs/index.js | 97 + plugins/discord-chat/README.md | 31 + plugins/discord-chat/index.js | 67 + plugins/discord-debug/README.md | 34 + plugins/discord-debug/index.js | 25 + plugins/discord-server-status/README.md | 30 + plugins/discord-server-status/index.js | 80 + plugins/discord-teamkill/README.md | 30 + plugins/discord-teamkill/index.js | 74 + plugins/index.js | 25 + plugins/influxdb-log/README.md | 30 + plugins/influxdb-log/index.js | 125 + plugins/influxdb-log/schema.js | 84 + plugins/mapvote/README.md | 36 + plugins/mapvote/index.js | 145 + plugins/mysql-log/README.md | 32 + plugins/mysql-log/index.js | 107 + plugins/mysql-log/mysql-schema.sql | 361 ++ plugins/package.json | 14 + plugins/seeding-message/README.md | 27 + plugins/seeding-message/index.js | 62 + plugins/team-randomizer/README.md | 20 + plugins/team-randomizer/index.js | 51 + squad-server/events/log-parser.js | 123 + squad-server/events/rcon.js | 19 + squad-server/events/server.js | 47 + squad-server/index.js | 181 + squad-server/log-parser/index.js | 57 + squad-server/log-parser/log-readers/ftp.js | 121 + squad-server/log-parser/log-readers/tail.js | 29 + squad-server/log-parser/rules/index.js | 21 + squad-server/log-parser/rules/new-game.js | 24 + .../log-parser/rules/player-connected.js | 18 + .../log-parser/rules/player-damaged.js | 22 + squad-server/log-parser/rules/player-died.js | 24 + .../log-parser/rules/player-possess.js | 22 + .../log-parser/rules/player-revived.js | 18 + .../log-parser/rules/player-wounded.js | 25 + .../log-parser/rules/server-tick-rate.js | 15 + .../log-parser/rules/steamid-connected.js | 6 + squad-server/log-parser/test-coverage.js | 76 + squad-server/package.json | 23 + squad-server/rcon/index.js | 308 + squad-server/rcon/protocol.js | 12 + 69 files changed, 8440 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 .huskyrc create mode 100644 .lintstagedrc create mode 100644 .prettierrc create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/package.json create mode 100644 assets/squadjs logo black.xcf create mode 100644 assets/squadjs logo white.xcf create mode 100644 assets/squadjs-logo-square-white.png create mode 100644 assets/squadjs-logo-white.png create mode 100644 assets/squadjs-logo.png create mode 100644 connectors/package.json create mode 100644 connectors/scbl.js create mode 100644 connectors/squad-layers/index.js create mode 100644 connectors/squad-layers/layers.json create mode 100644 core/config.js create mode 100644 core/package.json create mode 100644 core/utils/print-logo.js create mode 100644 core/utils/sleep.js create mode 100644 index.js create mode 100644 package.json create mode 100644 plugins/discord-admin-cam-logs/README.md create mode 100644 plugins/discord-admin-cam-logs/index.js create mode 100644 plugins/discord-chat/README.md create mode 100644 plugins/discord-chat/index.js create mode 100644 plugins/discord-debug/README.md create mode 100644 plugins/discord-debug/index.js create mode 100644 plugins/discord-server-status/README.md create mode 100644 plugins/discord-server-status/index.js create mode 100644 plugins/discord-teamkill/README.md create mode 100644 plugins/discord-teamkill/index.js create mode 100644 plugins/index.js create mode 100644 plugins/influxdb-log/README.md create mode 100644 plugins/influxdb-log/index.js create mode 100644 plugins/influxdb-log/schema.js create mode 100644 plugins/mapvote/README.md create mode 100644 plugins/mapvote/index.js create mode 100644 plugins/mysql-log/README.md create mode 100644 plugins/mysql-log/index.js create mode 100644 plugins/mysql-log/mysql-schema.sql create mode 100644 plugins/package.json create mode 100644 plugins/seeding-message/README.md create mode 100644 plugins/seeding-message/index.js create mode 100644 plugins/team-randomizer/README.md create mode 100644 plugins/team-randomizer/index.js create mode 100644 squad-server/events/log-parser.js create mode 100644 squad-server/events/rcon.js create mode 100644 squad-server/events/server.js create mode 100644 squad-server/index.js create mode 100644 squad-server/log-parser/index.js create mode 100644 squad-server/log-parser/log-readers/ftp.js create mode 100644 squad-server/log-parser/log-readers/tail.js create mode 100644 squad-server/log-parser/rules/index.js create mode 100644 squad-server/log-parser/rules/new-game.js create mode 100644 squad-server/log-parser/rules/player-connected.js create mode 100644 squad-server/log-parser/rules/player-damaged.js create mode 100644 squad-server/log-parser/rules/player-died.js create mode 100644 squad-server/log-parser/rules/player-possess.js create mode 100644 squad-server/log-parser/rules/player-revived.js create mode 100644 squad-server/log-parser/rules/player-wounded.js create mode 100644 squad-server/log-parser/rules/server-tick-rate.js create mode 100644 squad-server/log-parser/rules/steamid-connected.js create mode 100644 squad-server/log-parser/test-coverage.js create mode 100644 squad-server/package.json create mode 100644 squad-server/rcon/index.js create mode 100644 squad-server/rcon/protocol.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..0f29d76 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +# General +**/node_modules/* + +index-test.js diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..ec1f57a --- /dev/null +++ b/.eslintrc @@ -0,0 +1,9 @@ +{ + "parserOptions": { + "ecmaVersion": 2018 + }, + "extends": [ + "standard", + "prettier" + ] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0dbd9df --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Project Files +squad-server/log-parser/test-data/ + +index-test.js + +# Dependencies +node_modules/ +package-lock.json +yarn.lock + +# IDEs +.idea/ \ No newline at end of file diff --git a/.huskyrc b/.huskyrc new file mode 100644 index 0000000..9e5096f --- /dev/null +++ b/.huskyrc @@ -0,0 +1,5 @@ +{ + "hooks": { + "pre-commit": "lint-staged" + } + } diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..7d0cb01 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,7 @@ +{ + "*.js": [ + "eslint --fix .", + "prettier --write \"./**/*.js\"", + "git add" + ] + } diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..92cde39 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..292fa82 --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Copyright (c) 2020 Thomas Smyth + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..5211862 --- /dev/null +++ b/README.md @@ -0,0 +1,142 @@ +
+ +Logo + +#### SquadJS + +[![GitHub release](https://img.shields.io/github/release/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/releases) +[![GitHub contributors](https://img.shields.io/github/contributors/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/graphs/contributors) +[![GitHub release](https://img.shields.io/github/license/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/blob/master/LICENSE) + +
+ +[![GitHub issues](https://img.shields.io/github/issues/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/issues) +[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/pulls) +[![GitHub issues](https://img.shields.io/github/stars/Thomas-Smyth/SquadJS.svg?style=flat-square)](https://github.com/Thomas-Smyth/SquadJS/stargazers) +[![Discord](https://img.shields.io/discord/266210223406972928.svg?style=flat-square&logo=discord)](https://discord.gg/P7uUp5Y) + +

+
+ +## About +SquadJS is a scripting framework, designed for Squad servers, that aims to handle all communication and data collection to and from the servers. Using SquadJS as the base to any of your scripting projects allows you to easily write complex plugins without having to worry about the hassle of RCON or log parsing. However, for your convenience SquadJS comes shipped with multiple plugins already built for you allowing you to experience the power of SquadJS right away. + +## Using SquadJS +SquadJS relies on being able to access the Squad server log directory in order to parse logs live to collect information. Thus, SquadJS must be hosted on the same server box as your Squad server. + +### Prerequisites + * [Node.js](https://nodejs.org/en/) (Current) - [Download](https://nodejs.org/en/) + * [Yarn](https://yarnpkg.com/) (Version 1.22.0+) - [Download](https://classic.yarnpkg.com/en/docs/install) + * Some plugins may have additional requirements. + +### Installation +1. Clone the repository: `git clone https://github.com/Thomas-Smyth/SquadJS` +2. Install the dependencies: `yarn install` +3. Configure the `index.js` file with your server information and the required plugins. Documentation for each plugin can be found in the [`plugins`](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins) folder. +4. Start SquadJS: `node index.js`. + +## Plugins + * [Discord Admin Cam Logs](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/discord-admin-cam-logs) - Log admin cam usage to Discord. + * [Discord Chat](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/discord-chat) - Log in game chat to Discord. + * [Discord Teamkill](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/discord-teamkill) - Log teamkills to Discord. + * [Map Vote](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/mapvote) - In-game chat map voting system. + * [InfluxDB Log](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/influxdb-log) - Log server and player stats to InfluxDB. + * [MySQL Log](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/mysql-log) - Log more in-depth server and player stats to MySQL. + * [Seeding Message](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/seeding-message) - Display seeding messages for seeding mode. + * [Team Randomizer](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins/team-randomizer) - Randomize teams to help with team balance. + +## Creating Your Own Plugins +To create your own plugin you need a basic knowledge of JavaScript. + +Typical plugins are functions that take the server as an argument in order to allow the plugin to access information about the server or manipulate it in some way: +```js +function aPluginToLogServerID(server){ + console.log(server.id); +} +``` + +Stored in the server object are a range of different properties that store information about the server. + * `id` - ID of the server. + * `serverName` - Name of the server. + * `maxPlayers` - Maximum number of players on the server. + * `publicSlots` - Maximum number of public slots. + * `reserveSlots` - Maximum number of reserved slots. + * `publicQueue` - Length of the public queue. + * `reserveQueue` - Length of the reserved queue. + * `matchTimeout` - Time until match ends? + * `gameVersion` - Game version. + * `layerHistory` - Array history of layers used with most recent at the start. Each entry is an object with layer info in. + * `currentLayer` - The current layer. + * `nextLayer` - The next layer. + * `players` - Array of players. Each entry is a PlayerObject with various bits of info in. + +One approach to making a plugin would be to run an action periodically, in the style of the original SquadJS: +```js +function aPluginToLogPlayerCountEvery60Seconds(server){ + setInterval(() => { + console.log(server.players.length); + }, 60 * 1000); +} +``` + +A more common approach in this version of SquadJS is to react to an event happening: +```js +function aPluginToLogTeamkills(server){ + server.on(LOG_PARSER_TEAMKILL, info => { + console.log(info); + }); +} +``` + +A complete list of events that you can listen for and the information included within each is found [here](https://github.com/Thomas-Smyth/SquadJS/blob/master/squad-server/events/log-parser.js), [here](https://github.com/Thomas-Smyth/SquadJS/blob/master/squad-server/events/rcon.js) and [here](https://github.com/Thomas-Smyth/SquadJS/blob/master/squad-server/events/server.js). + +Various actions can be completed in a plugin. Most of these will involve outside system, e.g. Discord.js to run a Discord bot, so they are not documented here. However, you may run RCON commands using `server.rcon.execute("Command");`. + +If you're struggling to create a plugin, the existing [`plugins`](https://github.com/Thomas-Smyth/SquadJS/tree/master/plugins) are a good place to go for examples or feel free to ask for help in the Squad RCON Discord. + +## Statement on Accuracy +Some of the information SquadJS collects from Squad servers was never intended or designed to be collected. As a result, it is impossible for any framework to collect the same information with 100% accuracy. SquadJS aims to get as close as possible to that figure, however, it acknowledges that this is not possible in some specific scenarios. + +Below is a list of scenarios we know may cause some information to be inaccurate: + * Use of Realtime Server and Player Information - We update server and player information periodically every 30 seconds (by default) or when we know that it requires an update. As a result, some information about the server or players may be up to 30 seconds out of date. + * SquadJS Restarts - If SquadJS is started during an active Squad game some information will not be lost or not collected correctly: + - The current state of players will be lost. For example, if a player was wounded prior to the bot starting and then is revived/gives up after the bot is started information regarding who originally wounded them will not be known. + - The accurate collection of some server log events will not occur. SquadJS collects players' "suffix" name, i.e. their Steam name without the clan tag added via the game settings, when they join the server and uses this to identify them in certain logs that do not include their full name. As a result, for players connecting prior to SquadJS starting some log events associated with their actions will show the player as `null`. We aim to implement a solution to attempt to recover players' suffix names when this occurs, but the accuracy of correctly identifying players will be decreased. + * Duplicated Player Names - If two or more players have the same name or suffix name (see above) then SquadJS will be unable to identify them in the logs. When this occurs event logs will show the player as `null`. Be on the watch for groups of players who try to abuse this in order to TK or complete other malicious actions without being detected by SquadJS plugins. + +## Credits +SquadJS would not be possible without the support of so many individuals and organisations. My thanks goes out to: + * subtlerod for proposing the initial log parsing idea, helping to design the log parsing process and for providing multiple servers to test with. + * Fourleaf, Mex and various other members of ToG / ToG-L for helping to stage logs and participate in small scale tests. + * The Coalition community, including those that participate in Wednesday Fight Night, for participating in larger scale tests and for providing feedback on plugins. + * iDronee for providing Linux Squad server logs to ensure log parsing regexes support the OS. + * Everyone in the Squad RCON Discord and others who have submitted bug reports, suggestions and feedback. + +## License +``` +Boost Software License - Version 1.0 - August 17th, 2003 + +Copyright (c) 2020 Thomas Smyth + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +``` diff --git a/assets/package.json b/assets/package.json new file mode 100644 index 0000000..a7d5658 --- /dev/null +++ b/assets/package.json @@ -0,0 +1,4 @@ +{ + "name": "assets", + "version": "1.0.0" +} diff --git a/assets/squadjs logo black.xcf b/assets/squadjs logo black.xcf new file mode 100644 index 0000000000000000000000000000000000000000..dda4e23c9d8efb014fec346a1d4d4b10947bd9f9 GIT binary patch literal 151095 zcmd?RcU)A-wlBU#of*M7GiTzNjA6tCl5@^E=iD^i(1dPix}lrcWXTy36i_jX0wO39 z1ezQqOAdlc&N=mOZJe1i@AtX)-TU63_cgAnT6#J_Y*jk2IR^Tey4{;x8SbYHorn z#sSCeKqlD3B?P_y=&T2Y?t&k|6jO27;Y+&K;a}1v5q(ov;+x{_rOs&5Ay#l{W1B! zW=8w`&ELl1ilbocF%%4X9maB4R#JxM>cZ)XBYO}?L@6#l9$qd^91%;hhb~ER85t^b zi*m_GvrGP2P@0{SQ<8#l;3Q&PaZ)FhXaqcu8Y&_lc>={l7e_Y0xVpLEPD+b%!k^?N z$oiibIVh-!BRWtVPf82(^Zj?Sn-J{L+WI28ogo`j{k z;)oPA#go!#OZEhNaS>&H0Ra&~K_z8HK0ZDrK~V)|5itchF#%;EK?PAo-v84!2t*GG zhKR-e*#_a?Z3z5dw(+0$TKNC2Mz#OEk3#=NjgpuC{W75M(cgYY?jA6Q_yzxV@sH%8 zdU)lI0fVj~M|ji?(Cchy0KZRw(6xvKbOKGwFd&5W3JAT9mO;y+Y4mpz=+E@ee@nCf zEzSA2G{@i4$N!f8{BP+mAPwyuE`{cJA&st!Xd7t#zyFbj2sw?WS@47S)Zfy7uBS)g z+K=dUAas1No*qhs_~Uv?!O^Q3!=lR$rwfG)7ytje1FZeLJR-uP!u%pa{DJ}^ zLSlSELIQA&S5SaYK!jgNm>2$u@CxvYq8o%0)q_I7(>by5*5c6mTyPXfaR0G6aB_>H z4U=fxt|WULr#&4OW&-w)O9varUjuL?zzATcIp{tr{lEP_)%!Q|*G&CmhJ6ZKD*O)d zfB8p@&Ipu8cga6~f0Y6Lv+j=m)gfzq~~KS|L|k1gw8zp zDSiJ(%=IzWzW;e825L4j3>{1j5pD@5yt;1I;$c6Ugu-XRrfJI7xgi|@Q*)Y{*N&? z^JC0Y`A7V*zlZqHw+)r&AN@v<0Fd$JqU*tod(gv3N4WW8-~YkhNjdv|{yWmtRLn;VT4zqUlcQ&^6{z|W{YHUd+#vM}DsEG^2<1Ez4Gu#YH7WdHJQlRDS3!&wcdx{_TgrRIM$% zew=gn-pw1pyjWH^c9zM$ifp?p;mE zxLsKCC=D2U3c=AMFg`il4;Tw~BFQ@p8csCDEA75ae=XqJ!IFfvV1Au90zHDu3<=`ER zW@~5;HZ?H8xKTZTsjc+V*E6wka3BCvTHvaos%MGC;(;m7_t210v&7@@TiR9l0d=lP6I>F$bM3J+w9jL zxq+c%Ju0n?kvnlt6d1?UoZ{k8RX$-EV6YLXPhQ?2DNCS?bHtV6)~Z+|IYnUnvvaE( z9(n0$=ms2mg`8&nh@4}6i*U34iCkiRf$+1ABLXZAM2K|^5oUdch_F6IL|LC8VyvTx zIO_-^!8&|Ek}NhvigoCKq(Qs-lLC&(ve0^eVs6whnKkfNS@a`vhPhY6tojx?&)lo7 zY5pg|&D^hMeu3~p1nu!NS+yL905HwR5FsY38k%K(3dE}Z1QBJjYM^Q65g=9-G|ohc zRl|lzGWVJhG=v>din-51gBnDd37uiGUI5jg6z~~?dC(#DO^)O29PI4JKKltd&9TFN z99ZZP$Nq8luMlpCj(ve#;yA?qIl|AuItKlLOaDBE2y*PRb3lhUphFxic8~`TVGaM+fjzfnyP}&2P^B8T?ZV13%% z**VC1l(n$8zOuQ`+FPDl-h;;A2HWl-Sk0#2j&+3deu1p*@9k}G?ZT3@xBn??bboVo zb9aAt@%=okYg=0z8{4~Ze{pBX(} zh2<@%4VJaFnX!Sc*4OQ=4VmXTki}gVba@9lu!q*SwReQYw!gl&v$?UgHuZjGk8OW} zwYxs|wy&q-_3PG_=Eep($1!AKo3#f`!I(iTds`dZ`-f3^?Y)KNc;&;;hfNqctg@?9 zeXm>Ed)~A*Hn%h}Z=C!LEx5b33KD`bz-YF%_t;p2Fi;TS#`HjE-~28}60Wb!ys2Z> zzizLuZER^~mgdWRifpfMZme(avazNPguQzpM<~hKUw_}z)HJfrwm%Kx-CUXMsVgrj ze^pV{_`0o`Szavn39>OgIk&pGy|uk_cz=!sBL%r1lpODQ^QLcl2Py?oZ7sa*d;RKZ zQF(34>+Zfc?e!H;#Ev4%{XP97W21wE6N?+Lx3KN^K<8oT+wU5fZ>AR3(T4|fU}I)% zw6C$EvZZgRw{Li`=XFhC%CAR|rJ9PDr6q-r?ibb%&2R0&6j|8Ygm}5Tq_A!Ro<9_3 z+nipV{qSz2r@5(PXt=kh?@dQ@b$$vNX7|vOhj((aQlmp7(h55#SD{(f?&kL1*88TH z&q}+OpzXaaw)N@d`I)H?!!6Y{uY0;WyE~feO7AE78XiWfb06M?(hN^G&!~GfV{5S6 zfylRKdzFa{EcMHAQFtfR}zP`OR)892PHa0O2GxA{ct25(+y}j+#rB$6H19dN+<>e#R0uB6N6Rv zQ{$t3NlrMNvk-zbcD7dJWnXqSF?9`1f7U)ey}Y$D`EIm#barljV-I~0Fo72*$ND;3 zn;IH>KTHm`ym)x;W?UfM#oodB5K`9G)l{CB5$J@Y#@>6?^L}}IV{&47d8B{*-PGE~ z(kd#0-Svg{gIz84^_^2|vm@Q@9i6oWH&cV%$)N(sqf%x~b$LN{VocKQvd(uaJ3EVS zKWuK#eppyuT=+0C4|At_e|vdqsJ)iiG`P62_^!LYuC2SN_(67J@@*gF{-ei5RdrP_ zi;G{@biZ5O+gqQVUS3<6UfO||cVKL3_wYW0&1z?TZltxUu5W5_bz`picIw^Q_KHUj z9u>EC9V;m*DyeU4ZR;5r7#v^PSegGYv9LDQ)U~j?I^I7zw}rmAySrOU6P?v{LzB}h zyUTS6^x*8G$Jejldo{kH*WA|9*flgfKEE>E+uqyPJ=otd@}Vie=EKTl|M0^09{M)y z?QP9Z4AfP;9-Cd?U29IJdPZDJkBv%sIZpF+ zFfuVb_-Z~Q%IauqeQj;q@c7us*icV*|HS;p?%u{&Q)APshWFc>eRqRA-2Id9-n|kL^RRPn zr8v@^lKr~%acXQ_{FMidlMAy`{Y}js{qGlN-VXJ4b#(WSPA)7@w!SEExrFRGdnpkIy5-Y z-^G0Tw5n@jWp5(G(ulxF$a?ak@Ih{6@B5j@sY&U#AKyt$x>wWP-~H-#a#C8>v!Rvc z)vcA8<(+MKl<$XHYZ}`dN?r}F?rn8kwsZ_k&VE!>Qu3mrxqoyxIx6*c?xUQmX}R@X z^|^6@Az=aDDedda3!7W;0&K4?&dmK6+kS^0I>2((|Sx zC@SgNjm#?vN!K1e%?_q9A|kvUX$8X*)0^m0iE5@xlW!Vc4-K|7zu(=PxM^?en~;@P zT3Yn7wxO}PsWvX2Esk+WCn`K5CL$&!%E$lm|J|1>q~RvU2PpL zjos7R`*VeKx3IKZPhPwzs%&ekV^&rqMui6Y`}l^(h6jd4golL$`1{fQBa^cV+sEHe zukCIx&(1Eq?{00WscN6z*`2OP2#m{q@T|0?q_Uy5thB5=BFNi=M4|-8g!%b}Tn_T0 zgk8ItnSM39ps}lSaA9+4Vr&X#e@lB^Y4gn1yRwYSA#pdJRaZTK^624%+=A!j!2wh! zM;B^fsK1w|PXNu?Dg43nr}u6@DrHefG5%e185YohZofePtPbQ%zgOe0AjkByC|I^*yz9^SrmPY+jTiZ7KE@#J~l zlf1`;%*KkB^+VG$A3nSvA8sso{H!=PEj}~qR951!HlrvoTslEUcYXttE+|eIwmeIA~yTUqnrmN1ZO7~cXwwz-pPgNP9fni zcsItCJ9(vzop1Wb#@h?C6Js;)-@S7`uY}p$*4|Xx)bc7fJ%%lUaY#4rZgov@Q5BZp z>Q1G)+S}S#V;qS@N4&F#Uns*XAg!>zwR33r^~=1X+NO%af@d$Q>l+)ZUzWWp%ub37 z3Gs-crt~{Cog*Wy z<*!-?hC8dvUe&etwpCX=&%1Xmis9$u333F-6OJ&?t`9Sa+(c z6D1(-Rz7oZq_Lu|qr1DS?R9%+Pgg@_#q->oS0V!ayuE#ck{`aTY zX=Q_TbaBC1Vcos`Bd*@e$%u%)_oAe%v8%ghaH#K1S8H8GSy|De?4!OtbfpDcPQQ0QJKDw2n3Pyh-_GoAFz^o zdU*$g#i!rAb-!V1Zs>JmWBse*C-)we)HKzX6&4ia-pRRr`&zUgmFgFh{kXWY^Mj0u zGl}To<45=OqFlTXM{y3TuF{eF6!=WE_;Z67goI}EG#a0 zQTRCb$%E`GDJcojVZKxk&ydWL&Z%`JO(P2{th1|&E7{Y_6NDcb5giv7oBX)7zq9gA zbWF~(=PzHqDt-ClS^k52_ity!M@2_R1kouJui)zyV;g%i65=u{##n-j8`X>M?GqXs z6&MsAbECB9?O;nmG&LaYVPVnp((>}>k8-lEXQW0kK*WAtZtmWJQMZ`ycUY=QGGY>{ z`X*L5ClZz7?&<5}<>^7Y)-*BJRh~vA_}{8*DZO$1VR2zjN-Xr-4R4Eaa(5$A0wPj# zo2Pg7Ow5hdk&Q_qP>~E zj-efqMDp;B%q;Gj+u96Zt3X&RN%$<2fR8RQ-5`78mk8>kRS(>ooG?0i8mA zVx2^OKA;oGFDy>v*8}M=v=T&zFoJLD|u-^9f_7+HlRvd3aFC6HbCYG;ZetmY$37$8#^*{`Vi1k9SO zn$MVm2&?)SlOMgr&g4T_RmYjU2&?vU<|Rn~g9!s>azmCcnJ{GL1t{_r^E`xKGta@* zZK~XO1m;Odq2W((6$HWLL|6@I_$%`_sOeYc zuTbJQ2sxR*Agl^BJi+`KVb!DIN#;+`?}M=BB=bkec?u0{(C{?#2gr30)}Z0C^8x&LFIBzDL93--B5Kq{RLM$0@k~BL~Roiyy(D05LlnpMX3+ zbAYry{}~JuATJJ(*KsubjRR!H{u>9#>swAVWas1niG6hf4cXD~BnQatI2xYf0C}+= zgvU>DfRz3skks+tIUr<5!!sNpsZS5WulpJifnN@hK3T1Y=x1HPYhgb+&%4#t-(h111;2E&(uWMz+4bn6QI)_ z^t3f)WmMGok(I;J))t0xLXr{!qS9h~$ntTlqk)DT@9)2#J|`+K$%`!g6n!<6jMWk5 z;{5HLtiItTWbr3bcuaJJ4@Qaa?Ac2)x>h{M+CRDF%^gVY1aoCUwu^h0Bz3uw`7i$Q zEw_@kwz{H}Aosa*XD+JPTtw!+{OTV+T#{Fm65%_?b@n_DpDZrq0y6vcFF*Wr;*zAK zkN__?uYj<$nu+`6^T^DZB2&Cq&A3mU`srUkpFVTuEWezJA}mk(HV$0KeQKYmn0NKxVU(wRJF7X zPazXL)s5Xr%!R6J^kCs)2Ggyy}&0X6L|u8t2!{b zFgfv|HBeN>2`9((>zRvZe*5{ClU(Py`NgDTIgzn1t6sPF4Gz8Qj+VS+NWx2Vp1N@E z)Nh=p&tBve5Rp!S98qocb+5a+Mu#7|=<1Uqz0}U1gUg0xOj<|Pf%DW=oe&| zqjPw0ps%;Tqw2}ct4Yb%@8s8vPFInI&+%O16A%y*5%z;j?jJ@5dV4yXUOs@2r-<-) z_@aCMq9R3;hfh#kURg;_(&uMn=y==cFqpPlDhqPbQXd@H`eDT-cIzDCSaAs1-LI>!RV8?{4qsg3lQzQJ8EI>%sTKZ!^nX7$J2gGO@ZsIk#^^(DyseeF zftsASz{T_DFI*B4jhu`$RTV3hM@^*E!w>B}*QIVDq5f%~@uZ%H8fO}mE`3VCX0C^Sx+)KVLG|3{-P-a|=sLa}z^-ZA~3LeIwHjSfumVSkvIH z+TL8~xE~W77!*Kt#Mr`Dh?Nza^_rEbv7x>JsO1)2-yyR{7Ex>J=JM14^GJN3p417xs@g4eJ=)fFRwwT+uO^7#OAu^;_P@Bw_}g7wQGQ^_YbVi zbFZJ?$hek~niv}qFEWoK`&Bi(%wwSKR11Jdf>k99eu(|%YEdQ|WRzg;AyqY! zP%Pm1UFM-`R*f)tARzlr1zO*E)S>YWvdgNiu092t&d&%mTmy>B{#P7q>}(u+;Eni# zgY}PJkiCDf!;ZXnoP+&qG=2Om$Ct2oa&sI<;M(y^VC!amD+mq<*5|_Dd|&o zAMD~By9ks4=L37d@!OyQh;r<*A3ydDJF@%P=N#fP;oC1hWBVEDJNET2TmmxEJY0NQI9hg7wU5|&enEZ# zQ7KtDDKQBdSy^RGd4cmMzDBx^etU{rP*{MUkB9q`xVnz689A%2GC+n`R9r+{UQJ6= zRYgNbLq*rz+{D=63#5(hJ1zlfWo2;*S#cCOqJ*Qm+F`u1Yibe=pmJ$N9aD2-eSJd{ zJq>+JEWydjs zh6eCqh;?zYK87?N`H@FbK|@hcOj}2mUmTm7e?Q(y-_pt1)q~E6O34T_g#B7lOh#21 zN<%3-9NvlKV*4rb`bRk(MQLeSiL<|mS(?i7O4ugkJ-lq8q-JCT?#Q^fsN{GX{!79l z!s4cU7EL-;}N9h$XR`yg{p+OxWJk3e>WmoDTpf=x%$yD%1Xvq2WQX7 z>(^6m-JweJ@Cyh_$;(Jc$*UNXd}v+5Q$sj8bglAP_`;~(6QCXyLWstOvKDoUz) zHUxr$1IE7fs-lvLhM6zbM9n_$7!>gH^3YwzskZ0AIEGgFoj5|I`cR3as(1=wQ%>c&`STEeZ2VDHFlnQ2K^9+noTI9WKjxO#YbdIttGe7q>mSWAqpDnB=m zfU2c|w1k!&0dH+=Xk@4%ucT{Xjd7xeT**#i_=m;Br)1^5EPZjy2k+`ZrqDdWf)MEI z<%zR3Gtm*hz|AKhudN~~Af}|LV`ye=V`gY%g?Dwr;yr@nBI#t`u!zXG>jf|JA3nGq zL~C5JqqK|&pMb2snSrLRt)rbS-VGq3*0!#`p?)NHzwnr- zu$b(7*%=RC-15fQyHUtQXM&@nD^*=xSzcaFQbNz1&?(g^Io_lE+fLj3zJ(# zO-Wu=PghA+-OR?(onUH)heg|k=oK6t7aO0Pl8}@dOARu_h2O7<)TA7w?GFjFeC>3fYC^ z6BHU25)z(p^G<}FB_$-l3#=OqV=XmJML@X8D9TGq$Y@z%tu3sqt!=ObM>`A_?@Wu# zxOFQ%5-hlOSPCQbGF!xl%TXzbUiMCIuC7$SpiqpyI!tu1j+h&=>1UW=a2V8BMsRU< za=_tTy%-VkiK$nwq^3kr!GIeS5f4_C;F#11vV*<7vnL}go^C8JA+Bm}?|`+kwzUH5 zo{K#^bUMwQOr?;$17V8NLXrVEa5p6)Bp@&$J2NSoEsBBU1QKn`FhtLg^n6csK><-^ zLraW}g$>pYOQcbq?64j|3>qCQc%f0@47yKb`t7{u&+ev02Ztox$OJtz$PH_zt8YgM zzFyvHAqF1<>W1c6tc4i{j|2Op6Q1DV=j%nId-+^WOifNqyLJEJuGc@K!oHuw|H7Ie0SsD9+CG z*rbTi=quN6J$(G=!TozV>G81%@i9@6m&3!naTZpN!MWY@EALv(mF2bd)K#@jEX{Pa zjZKWq!93|lb8{imA`&hKgv6z0<{Z8Q*4UfZQxdLbU5$^v93CAP;_B!b_jF)&bGD<% z93USi8j4zG=EjC*7#kB~3tJaAds_m@)y>Nbj9u|***CLq+|0h7p7|&*J0&qDIw3KP z>XlM9wz0F+U;fC<%EClnL(Rz6Lf^>F8E>j*Z0C&C)v|GM#NwQ(jPR)Btjwg?gew`> zbDregy_uPo5avUrr&N8|-dmsQd{tp+jj_grkA+nMRZJhD_*Ho-aK@y=es z;g{pGvLmUUp(!B9f~WaeQN9El%C*`l@Wii74fl=dS>v%5CPs!>X?k zb&RcSu@0!;A}BoLc05eL*oVxP`sbOxmRfoa8C^@@s^8gMU0mMO#h{v%wV|nlqlJ!! zuBjCc?8VmR7UrfFcvrGt5Zx;}D+6Y3bZ+l-|6NygAz|B$jy3QlAKI@)-FNC%PL2du zys443t)-Eko{>40=~is~Va z%TSteNEi?YfUjt~6D2HfYGt5fWM${*PIdt;))t2|(=o)jkjZYe@VJ-&l7oe^xV(XL z5Jg*BQO~D(8Qf(c@wJuBjj6^=e{TUXWo;cD19J>mrQL{*)<%ZrR#tW{9#pDlNXnHE zTSaMcei2nej2p>B*(k7l4!{L~pV(ZSpBpN_>Pz+#mQhww(KNJj1jLgUm54Rc(8IdZ z{k$pe9sv>lHq!9jD=4CrL}? zceK{mv!h2v`%ye$<*<|I;}w;bmQm3%@+oL(8$59Jqu%zt)!v7pWG5F2O+rycQ3+Hw zN3cwTM(={hnA=d}uS8#tiwpBIl@JgXmy%c2*0YG|T;JLOAU4dGroDyQB&w^6n*q%0>XE(QvozL|v)?*8;)cw!}c+biQu zcf)8jZ@QOvsFDrp&+T3YE_-<}3> z0lZ;nZSh@8Zam|#Pq4RdXriQ?As%mob@vU8jtul95I*@7$|La<{l+WJ1a}8b7SvjyEEKf$aFSe#vx0;!0=dQ4Fi2O1y!qnD_4@@ zL+La+*)1R@@v@tlmWG~%t&N3=iJ65h&fd}~XJTsxJX~|D+wbnUIgx3;{*2(Ts6;Je zb8SgsDFffETN$abVPPRYUcpzc1sTgKXy}>QU~DYS(ehYxOxn=;^u*i-xaKDwP@Fye z0)j##<5SXgEwN@GeI56-`**G-#l*%%$EDv)bd(X2*U&Syw1%%sD=XMW%q^mOHrH0R z;8S(IKgWw45Oz5tDjrrqD?G)^+1A3^E%w3F2iLEpXI#yGaKl?mOh#SDz|7kLa@d+vE*KW{!FDJzX`}hPz+;~w|@TlPFw^ zmVYe>XJEu;wP9^#X@e)i>&xa|O(b~bO#-X|;29eonIYk^iC5CDX54(jboHY9$6inJ zcC@w+&b)ae=l=a<4~&JWr9IvrYiEZ8=Msg=MrR=5G_rd_>&70e7Ob`Q+sSFyGjHbP z!`;;tbrMskbicp= z|KLzYNDi#hY^?U(h3=aA_BZ_lqw`xk+m<$9zR)u;GPSmIbaHfbawa&qc=^z1K6Fo- zkFTGU5z zN_N6|CME^=ghxk(6ZwyRgDkV1(hV*coLk!5UBWv$vJoboU0uOrhWf0$X=EqbwFe3Q z!7;H4hkr(Pe$$U^n3DmIkR{NVB70WZ&a@a}LOcy>@P4(hc*JvFE|21Q$5 zWPOG3u)YM-#ODWSOB88|qAXE_C5oyHI41K4rt(jWrR0H0gY5u&DTC}WYr$J{1fY-A z%_0Cf2ipU*{5guU>_%NMyVW(-(1q`qtOjs1p`gpE)5yC*j07C*E^Gg6{vR(id5pwe;|BNHTy^SCKyftvv~|aq#TEiA34Bh0vwYaAeaG=6~LHZqQFe_5(Lm^ zjy*Wa@Da<2qB;TJc?|9G-goSWB#}*ZC1nZTGe3MPf~@Gmw=I0zd62B-e?7#HEEwwQ znmT&<1q4T@-@nZ;yKsaDnK9DUF?SD%j*UyqxL;6^pZ74*{u0}HWYSDm)6~^BJTWaJ z``*I`fEVbV-Wb1X@D&&G&e__?!jbG3otAmy_N}|+Z$>BPR##@H=U!4SoJPhd@FnTu zP76s$OTV7;tY>a+a%N?9c5-@de!e|S_z)*Dj74=H@au*oT)$gTKR)+i{KNeGcY(2V65m*NFM=f zV+Sy2LQuglzyjZmyy@;69qI2KnO@mgU0j%(T>=PtMJ!(7UDe)un~`xyALJtz`h*wYq=*Ez;=@>l-2H;p_3Got-7X>veVxPA^T5 zyvny*GYmFKGN zx%q`vSWEz(3NY8b`6TWyk$yVh5~%s3Gt<+vGvfn&1H*48-cQfXO@rZiW_E62d3|GJ zYiIv6)?Pi9<8x$$P9-`qo(+r*4FD3Xzo&0x;@$hXjjg5W*`=lVx!HwPw)OqZU3LJ- zrtxz??S2v0@)`yQI>A#h)Z5uJFgyzQ!>y&crHu_3z!KCBz{t;8dv%tdeuj+F1G1XO z-o5SbYH#ZTWI<0~U;pUL>e?cjacy;dlWlu{cmGS)-gMZnpCF5j&_~0otJ6aRLj!$7 zBmI4B0}F5GmX{ai<^bM?LgZkaUxU#%PyPrp7M)MOaZ{*SEwy6Wok zvfAzs8vtAGExnlt?v?7f-A&kqmgg2XcMq^1yHd z=Emyg&icY4VAQst@f~z55Aw=dh9;M`_ji_uUZh0>zA63b;M(Te+Q#bq;@0lg<_?N| z{(&`+`>K0letCI)cW18YMr2e%>eZW-@7H0XEG*2e03;e_`95@UsAXhseS75t9Fv%5 zUInz*wHvw3Gn*Up?>|h=FQvp zb06nDE3F$^0r5az0l$srcE+m{g@ zmkJ}gn_KX#q^iE*_1GFf?_u8WpJu)DWdvW2OTPK^+2be0Wz|iMH4Xg>JLp{B0bo8r z%6CC>?*hXjz%mC9A|^34J>y=}hYzhU zUshBynRT7-R$(X`o3OAQpwLkn!h^`Tlb?6@Y5)3SSNY4b@>kU@BTGAbo3OmUdp{4$ z3Cyz{co4(apElGyEg4u_?0NOFtfI2|_4wM}?!r)KdwciD%+k{G#_lhyk+j^J`ii>I zwUy!evhqqmY>zFh%#C)mw6^z*&8|Sder1iO-Fng7Gq$+1IoVZPSyfZl+B?+W-QL#G z)jKu=we0`K8oPeGa%>63&CZUr*VWWDG&a`N)Hk(5 ztZ%5REH7s^cl5mJgLQCg?*wZ+zjbzZe`B(zfmvGzK9`CYCDkom{ey#J9~L+FPO`@9 zKWy!7ylpCZ`mD5~^hHr&QAKlS@9^mO)cnf!{z=xv*v9_$`-bAD&q~T)7CnVUroN-6 ze|UUqab;r{iciAe=h|KrJ}<8-FDiObQp#-Y=^GrIT3mzU0#Mus99X^O#ibS1)g^_c zHMMn39ldZH*5@s>_2n;jR)(3+U)5HYl@`AQU|?HE&*0ms<&BMX^#0o@WbJKZX+>lG z%V*Ea8vDRY+B-Bp4VAAg!7|Co8r}L4nd_;pZtbWkDynGg9qsS#gSB#bWo3C`W(Jm! z-&iAX&h&j-?dyS_s^{em00ivo8=GEQU0s@=g|&QUd3*mC*3vBKB_l1(J-sdE6^(5@ zYy(>(?_p(GoI5(RH@^-~l;zBZeCTU>-O*51+St<&feh$Nd zpHDy;A1?mO@R1yn03fk&lK{KQd9Tb4G+y_U3Agn^uY{=mQE%dLj7QJ#9 zVS}sx4v#>atm=cX77fup97Xn-_26#?3QDE249|b4l{!=Mb*t>OlZ17C>`}E;KB>-W7_~63!ClIuww{D;T2@OOL z(3>`nqG2_3hqV`R5W)#zNW)2ZI8W07!eX&v4nkEnc!K+z$IysX2C`$Zybi)Mhv9Lu zI-$QT7ULk~1~)0I4|>b;gJAb(=<+k@vOdsJkm7%FVi<+f{Xb3sxBH)clK8(E-vNdW z^87ywy7w}8Hb)! zjeJ&A+S*%k? z6a&M!`@Cgj>Rrbzdtm%-6*jzSe;Q^ejAncMviv~^PE$e?n1rf^=MmtmA_N1I+16Pa z<>m|6XJBr1b~1CKqBCw}p-gL2-Ltf)gybY(uEGg|r^!L#(ec29-@W%RJJiEFJQ)~z z>b1-SZx=EHW!&Pk?q2bCbN4~d1e23*K1>gAC;LVLL%oub5#{FK!H5Hf6df7ii!pZ# zP5_4BL-X;nHFga{@7O!rJCU&F#9;J^S68j2n&*3j0qz+xT!;?UYO^>mCa zt?hkcLVz)}&{Wkick~IR17l6llUK2zL`I`0jBSbLnmV@L$*Jf_Eu3u3Ep41bVo}DN zU}uLhF>vrdxZ{k+*_r6!L(!wN}cZ><%;Yk@uK|cP# zn7jG}hlPg*c%!|xq5AsLz*tA40E6}Rp_7ReZ~>qUI1RnY6mP$ScD#H-Lj645DQE>2 zUVcHr47w|U2#gWg%gd8acXxFLM%&4a?BU@~^zZ^kmq7FiK=GX@W98*WIe>Vg*<8Z^ zz<8o_*W*u&rxh^RKOvs#z$pER?-T$==r3$1FtUHbI#q$u`4i9yb97G)MRM)}lG7M= z7Zwl`h=alAhr!`&%uLK}EKR_n7nqch^Wt@T+0B%M$gmI^-Vzs@TVHq0Mh(k|i}7`a zXQHL9VPHojlZf6452^cyHhXcl(oHGT3;r(xO;iI6YR_^$dL)@MeT2ACMPCm-@hq} za88@Ds5YSIcS+7=EZuh45nO@q^`>$4=XyMu|6q!E?kiqp}s zXWXb81gpbX%RPTv+mOf4u7_XF$Srt$|4~^(%j>6Zl7iy08fI8hVDkO)j<@q`3nNyh z>O!1f|6-LMX~g}@IZ+womrEAQ>CkdPPKrhR3GfE`jpH zBZGbQcVmJ>;;yGhMrY-gc1+Anzw50(cI>%nDeBhp=V(9?OSCg+~W~V16q-NgBdsh4;`*zjH z1WD+efVhODn1G-LDF842&8MQ5uehkl=)3qb=u~=eWL(BWwx)TwUE1=jsmsvqDfr?3J8* zx9{W@K7Ej#79Y;=^MwO`iB~hPrKViXdi1KJPe=+7VM@XRl5%ni%9;jhyceW2G&RBN zYi;jF^JYZEBwWqBnv(tG$<4H+*iau2H?nu|Wk8I?UAg(FsIswzY28`<#@ zkx`-G0Z;X@wIBz2Sn6wQXzGEt+@2l)Ua64K=%kdS{(Gj76J`@k108eKZia)r@ zl4GNjGj69x`ufG+$a(ZEFM|f&8VA6tX=|!$o7lQiJ*a-Zo<5h8uBNA@rN)E?2l;!` zyuC@*7I-(Be^5xUug~T5D^dPLM_+I~-FtA=8;`}98|rFnsVS&i;PDu1EP%Lt<5J<2 zT-;@Unzs+llTLFsQq{#clRP}V=rr%}jKs@+WP5@SBRnHJ*2~Gx(ntpYu*y;@<`&wj z+Q!C4xWL5Nu+YolfnFpxGTDRbVyqyiX#w7BIJD;J3*fQXU~gx@^Uz{a!oA(Frg~cH z>RKu?irQM>>(tlQw($y}d-{e%Mf$nI@hB3>T2V|!P1o4c7Gv+^;eRRS4`Y#NM1lB#N&x_}bXG{M5rIM`~Ff*iqr=8V@92Us}t&D_Eo?-3Z2 zd?O=1+|5wa7)uTaqB|O?DJW=}>nj6nSw%}wg6P(VyZ zNkh-j*c|T_7N2${KGe@iUlYJ!-l0DB0MwIGGu4xml#!KF)=*PY)wjaqtu5eOnunvg zu9lIxjwC<7u%w)_x-MAMX`!)K5<|(3Hpcn}238&ns zxwWOCu93Bkv4)bIG$0Pegakz-WffFm(|7Rj4NFK4z=E9hbPTLr-0_Br;^H!ZxKcpT zQqnS#aI8s77qD*1TIyolmxP3cMa3nhB&B4P)Bu}kWKEzjqLTeF#%8Aapj|lI8>vW& zNGd8xvx(o8Q32qWs4(EKlvPy}lyo!%f9K*A5E7M?lb4fKRM!M_u$sO#?AtNE_7*l) zCguRAvQQEe5tUIJ7=gpoOS?h?PCnB-yU8hK?EML7jE z9b-F^XQ;OW9Q-r2Cb-~q#e^iKq~&Eq`7d4+QBaf?1qif+oUF98vJKf<>~}7JgbK0= zGms)tacNn3c_kfFLtVfZ1bGw84Ghe1PB>EqAu)MbF(E*Hp63=65f&Dg6cts})>e~O z&@+%c_0!1<+&sMeftXYN3hn{HglzW z6796ag+&A|{C6DE+1l&rFvs)~-O zE#Ae}P~XZuAb{p#q9Dr8bDrzW*>h*P&hhZ0fIUMMabZbC6(#gPhUB?$fd@_i2nvhI zDalGn%PDE-ngO20!@ z7r9~ll9GV(l$Mf`R?;=cI=MK}TrEtU;P5USJ$15D5)xt)VG8kH;E~o;l~vNzP*IeT zQc#hT5aH*CGbxvZBxDt2#6-m(!$(l&#QS+RnMIV`HM+OhzJSr@d-o!t?X>AOmx&U)1m?c z13d8H`n9%Dlaz+%Vx%K4E+(s{EG?&|DkFIAyaYbuCQlhiq zf~6o68xav696nIYZ>3Kh>zU`tQC?F&#ASfir zd-0->JiG<)uFA_u1pxRjfaXDTw8s*tv;%Ctmb|>OvZ{uLI^dKQxlYR1Gah!grI`v} z;sdCzsHm_YtOC+v!lE$8WTbt48GfE*GRX;VhjAdf!Z>U|T~t$6R#Q>YHa3(zaYoB6 z=uS^(qShrIUii=PV9ym75fWh&V;u5_X$prgz&}oLcPGJ7Y@E4)p@9h&5RN)33Nlh~ z-a!nrJ91NQwM6Vc6>aK2#ET`5nv*_0<(* zVSQDR`9HyA>oVZ*fUC3n|3}?-fJag1{ZBRsqyVCzV)tyPp6A)y$+iET=j(OPQ%^m6 z1L?gc^jq+eLE3N6nTr=-%FG#G{NqNE z+KEx)39J3yqJ?v&fAjelKNhV$8Bm#-U;cQk_Uz?L<_!g_{n@ue!)kvxM6C8VL&j=P z8zNSF#t^aEbBBo4UNA(g_JSc|wHFK#tG!@|Snb3iVzoC85v#rRMzPwCE3w*JS&sQU zp2Oh~7U#-o9P>EnLf1DD`RH2H^&aE9zfa4Tnb~2Mc7(M}pAk0qV3v1;{Y^~p2s1pw z6es35G015mM)?CEPO%^||5Pv@WN2Sj}>v}E&eHY9iSNxB4`t3 z`!aF1ZI22>dW0=#ot4(bD z_x<&1dqmcS_he%S?;rjxcKqdYz?p$t7CtL>EHShr6C3|1_}r0+c-zGAj!a<|I2-#A zxZ&Z6c;YCo*q?CRaTHnn1H>_lzaJbkn%J28INmw2&{0b9_rwu9{jNAxcpGC>01hzV z>dZTFPN=B-%xx0WctbD zsYebb@7=j|{Ysz%fu&tAfBw8VfCC4h3NtfzJfnWy-4A&-jqv=r%=2eXr5!tR=wQmu z&Fj~!TDfc~Z;5B|qD2el&7CuM{(@8E8T&N5)8%w1gxNWHd0FSqr1R1YsR#D%*tCA# z>g9>cmH|AuWD(R$mL?vl!gk~lv__9yQFOJnPn&Ad%f8$+A3#xb&&gRb7{@)CY!wYWhH5~2V! z$Flsaf|AVCg9lRf?b*poVz&+3%I1t?+WsAKNoq>-i$xG35tf$=Dyu4m{NkLFs5W$&(Cd-i7F8jl7Y zJ>vSNX8dcYs}>eR4yUTRwz{?fN%ri_j5F!Sj~?Xhk4g#cM~Sp$_1P5dtq`8U)Y4E> zURYXHU0qu%t`kAKsvtM>4B#C(g+-ai4yR-5GBfaL9c}HMT^$|mE%m~(@@lcTz5!{6 zigGH++=_-CwL#xjn6VvOi*;HJsMMX3UdS7^HHxdN>l&L{+FBaxYHJ`#C2UdIA)+^6 zlQyrw)@@p#s}!# zr9C~;-tN{;y^qKC4LD`B-B@QZwn}`8}FCf?pIR(&lEH zP6rJ+zt?V1YYaxUOs3Qs3_6WUri8j+z+*8$$%?=nB`auiquFS71IrTd67tC)=>P-* z@IAd+g<}U@n(mG^-09kynp$jb8ll%2tpNIxs+iXc@y6zMnGOI2gGTQLD$vr~9^K|| zX>4rmOu)f;8m-ah02CzX^Wf#Tsiks_(Q36Ab(Vf8>Y3!wtCMthw0Fx@^Kg&4v}T9P zI}qXkiT-|<9d!Vp7#6eL+vhOpH424NA(P6qX6v`uxIY;aOVMMdlW-*zpPM$aD557N+ z(Opm)taeB#LO3tr?{fiVhOGynsmbei^m#pQmmPo%=wAjy?~P*&DH;Ik+)zmageeFd zbRQ%pfzsjyY*@yg_zkDa?e+!&?~Y@%tF$`YeonO$$a}~Z<6Z$i1sPEumU+NHdA&f? zdHVXWwRx&aqtjbZgg83zT)zH+;J~nel>mVR3&iR9a4kOHzp?E<@Yxjcz0`wXb zD1lHKhND7MG`u-@G58H!pyO$kQlZefaLz$&1#Dpy2pr*q4#yJUUVsn0Gmi1Z=`>26 z!#4ncT{O^BQ6Ul!4FaMWh3Az0%Xr4opi>#Zpa*1!gX@jN?xR@t_3@1Dm=d^EliA^g zOfpdVq0sFtI}z(=NqdzBqY>ansBPlcY5hy6^M9k&n=K}w>cCw00qb%H%f5isqv_o; z64nMXj^WkM-^Tc=`z$)6)6av5Gl`jEW308W^xBNJKCnWF$P*l(L%)dCuR;RPfkz8h z3$TShh}AD+^)MxXK2C^bLXkBT;8st(opJ2b%9S=>!0YZK5FH)kcegY4KWb!3K;1mR z$m4DVL$`%j-vpE{9%?+RKxW}gX!RY8bF~)gktVCd2Ki6!%Kvf)<9^bl*PHE5r`hBN zR*`*o0^`YZ0NmqrIqcp6toa+(yxC{BSRnFr z%U4d}wUNKE;>aEo1UOF|WdblxbgB?Wx*L*6=xA1uBocb1kV9gH=+y%$#i9AxDpEhf z0tp?lLh9#6@zJFdLDw@%KZ#+0B|9|?2}q^D0bXUfc*z!;~~*Za?E4sYU0$Bzn%OIaYklSnq=NWqN*fr zKa+iA{qmKM{DkquLoe)G==9BBuz)w;xd6StWy{wcIG>fCviYfp80~_2v!HPSYR;0S ziHS=SmaklyxI8KC+}V>;A7+AyOBeGNn9*ZgwsO@faE#ZjUA}nvuC%im4?WDFhloz= z67Z*1uZv#mUB7YDh82rf?LEHZ5hiL~|Jv0nS1ez?Y8`K5)F$s{aFn(zU%F=Jmya;K z4aRkAL3CZaVbkWV+mm+gNlw|jb?y4?f5V?P8#is-v}q#<23xl8+?#Uf=;4D00GP#} z*sZ+nrlcJ^AuYXaThi{7!>PxQ9Zfxznfu`*j4o;C&Ru)=A4uN4bH~nI`wkpAdNlRu zv9q~FQ}DOldv@~?nn5UmiKMNRULml*HamOu(kE9+yaWWm$-L%u^&YjK3 zs}S+igmzIQWs{KdvD<0a10AZ@XjJI%sMK0pKg5q!T9eIU z&}y=NF@cHl$z8yKd+eZ>IGkuPwJMbcKx4Dh>9Cs&XhV(BhEVcDw==z=fL)LM9cB~y zEp{`yf!I)`)|;$ezZ2+FlgZ4pMA<{T?itT0eCT9Z`pMp)Z@}k7Q>D|Yl?tU=rE~T> zj3%C$1y05I4njB&lW(t=63U318&E` zpN(aD+#Vu>U$6g+Z&8Y8yPLYWa z=vay0MW=%{rJmb(HrVv_sGES=M27*tPW>qy3~Y#K94Z=}lb~zQGf<*u2kIw}1&J)w zcPt?~hYlJHVI}och!XMw_Qbhk?bG-cO?@(SssaN~p_3B?zJ3^V<#Aqt;8Uy*U+9e? z^?2&-Jq4Y4K-{U5NM{y}O~8Thg7d=jPjAPhm!P83^{!buPUjwl9Rlu2F z;=rcF+#3zu#rqw6j^@V{DK*SkIE;RThR%C?jUg1qVz|pw<3C&bQg1|s}Y4WxY)h;3Fv_c`JgjW zfj$ueY>(ornEDm0a2&c7Y}+l&&u}Hwx44=57a}ru7)=~P;V9~9RB$d2LUMUvD`Lq% zA$9~492Xl4uZ4KX9L2=O{~Qhb&4hSH@GL5J94CGBFqZCMq99Qi6^kI#&FB_D*pR&i z-3F3EyqQ4Pk15m`9xjn>EsjzVqabz$LA>4_+Kd1RWK0PDY_Pupvi5yoEd@s8jMV z&W!7njHONq$|4TkEF2*oCKot13InH#hmuyIJg^USRZtpO4PGUBEd9TnyeGGS-`E?i zw5o}vW;Pm(7Q3e({tCVzy2VRJFz(n_=4AKEQCDm9MxH6k;5FG?G^E3@8hHK6=s3nW z;hlXQY8?%%4MsB!VY1K}c|W z`iTYx+EOU+#vP3Jj?d0J@UG+a!y4Bcpt|1tVTOker+*e5^3m^S`fg`Kh4((h4BY&2 zZr~O+WdGtZbkrvaFg6S77Ttn}^u9UgR3q2{`Tl>6z*BnLt8e}rvW$0fPwDTXUIS)b zvGNg8QVoi}8v7DzwgF$pTO*%`oa%sm|8IHEFmY^9v+)_yQVn)2y8lV&sz!%`6`zlJ z9N(xG8|XXndi0}^QVptCp^tS3Du>edN6^3^Xx{V)z4-&7!oPy^7>COMb51s6^j-KK z6&l9|9qT4c09}`aAh_CR41n-E?nJyeG=>FDsDA+Ua^Jc!;~DVCP%Nl;2E3lYt!&8f z!8lq6epxK4KffCT=W)Q)55I+pMgh{gfZOI77|(|Iq7&|p< z_(3#Gpzxbz&&M%Q-|HPhMig9VAUxuSPl2lW@mMB-$6Ps$lAM+|Gi{e%8AU(6Dix4 z{QJf6PcQ?&m~v7}!3;F;+LPa66fyAl3JJ!t!JcJ5y^ry~Da30xxD`Y@9OVD;E++Jk zM#Mj^Z2cgCf%{+gXGjG;kW1DsLEb<#T6T09MzOG5qK6~nZivW5&Gb+xC5n0nXgo*b z0YY5?_J;EtocE{<5Mc4ZkY5VD8$5cD&`AkkP3UOMXeRV%M+_b?Y%&TD2K89*++Yq` zNZox*LTm=!$;WW_Xb??VCCV~U=7};;s1vy?6=ka^lZ95|QbsM3EkkR8c9ZTjwVmM! zRV7PD4&>lQ3x^2;n2SnLr-%i7=m$T@1akz!J1FN;dJl3j!72g&9!l1T9-zcc#ZM@$ zBYuclQ6zhCulSFUf-l-tWId2DLhj{KN()J;N-iD6e_U`2ws`{cp9#j|v7z~s^bP8N zcuPf33KC+^F|HU$_mW{yeC(+B7(6U7vA5!Zc!&Wr9Zw5V8?kp&(&H9RVi!q}aB75- zB{-c?4|Ay%O12D65YbbF6N#t!6LC0=_{bbTAM-N|ZQ0n!9H%n+$v7$<$B28MeeDmx z)&1)qe|qg_cMW@t@x{LM>BgK68>-y_CI3MtFyf81BL8i;F9XBgID}XU%4+m%)jhaD z!I))^`*4#6{w58E?!%q(#~!7+?mpZw-y<#X*zpAJ!)w_0lo`EKs@m>A{e)_Ra;9Fa z#6v=r+wG`sd=AuRxVgc*^r$^9)o%SEpG|K{5p}r>G*vAkC99*+`xth&EDk8Tsj$Eq#sQ($ZL5hP2(BNv#`qa8^qLa5wMlejYpFuLUjw>bo9{M(9=Qh zyAsM6XxS(>NFhf`Lu1e&;^KnU_g#z*l3Y3_NTst?7iH3`A3&Esoav_Kk`zEFVu;GK zB9=-i?*Gcfi-+O~7vMuVVeIe(_;3OC*#$KG-e&1tML>H&l`H1TGJ6L!wqVr9(t4AWj-n8&QM92HR=b5M% zqaO8#WxMg0-$X>Z>1alc_5;GO@Da+Fkw#R`V}lZ5>c~$6$`(Jh*r~IUW{l{lR@Dt5e4d(vG8(4 zXZn{|crGF){VOay8&Qm=b9*+T3;ky-{4ApVOc(d)FD~jk6MYCGwP6isA}~E2k!fCu zg%=}A%u}%NT10G_4)B|Zo-&o&?<0!IbbtOB(M0|L3xAG?9%CW+50W+Jee^uTzI{=( z_%m$sPDGaYODwz}fiHmY6#5A8gg$~N%t)RxG4^TDyCM*T1sK2hg)5%@Ip}B+q(LGz z1_8;c`=0<+DuO6jO#vi|2wivq?f}yw*nxF%Y$)r|N5Od`L;(Q=HXxwVzic?7s&m39 zfT+!**--WU=yA?ZO4@eQ)-i0zI`KiqyC{;%Pr4alqQ4`)pAbpc?;eYW|BVM2@5)F@ zejkQ*o)_+Cf@>ma_X8LODQ~@x@otTz)(?+k*$Y^4Jd!<68;_LHy^L2JNstRL?$JT% z*yE;-CMCfQ!7=Edq6u4aH{-w&1L16UfO1)+6Gu7<7(JoOY8!JG<9LycB)I#`$OGPl z4(UxSXFi1%ciLTy>oYcz(pIV*JWo^~(zO(S0v{b)`1_mgLVWvD9=l3vv73x02)uBi zE3PG_t@?inHS@Yl`Rj@C8JsIncvH zmIEyuq8zAbh;pEUAfQNp~!)58k!tv@(|@f z_YYYPbk7jwK=%w$4s`zz%1C$W9r*|7PXin0<{%7JRXBL}LyQVuk6*@{)@A#X|Ax_QUW#pe`MkU;4W~%UMVV-}jew;g1%nx4>N=ClZ|}M$DrM~!Xq|7^xMkb6t$WV5m?^7+ z?5MYo5P3*adkkv5E8vt2LakV?K&`CXgs%T~UXp*$@zP!wgkaOr{r2>cbvL@R{eZF| zEGM}ZtmRPB=AEE5@7=xcT$2$2I0{umxU3HftkB}aHS{BG6mqo_@7<;=uGmSok>Z%_M{v>UMTn9#ES5{*f-pD4u_Zr%TSw-f0G91nga(@vuj%# z<|T2-lsj>1wWSw?Pfl*Kal0 z?SLnG%nG@w4_6X&${WSaUDrVJl;oXCJ$9x~VKooc8|Vw@`q_5)w7f!><^n$V?y-HHs4*W6PlZftF>tFCF5k-PaYwir=$_yYrT zY;j#1+2n-Iu|w6_D8^5Vt7{r%4o)+X5}5rq9Z!=O^^gv!W!JUAPk1_Q(#BdbO1!SV zMWV8}9Z*uW;_>m?pd+h?=BmZ&{2p+W6^2-~HFYSub}6vdPP0tZL{oelXMOL-8!9%WBrqUZVDmZH! zv_`8*4>4E>k`kgCV4mRj!>;5!HLK#OZGcf}Ep`i(VC}$USuHl6)9)pC5zBHOos|0` z?@j`s0`SQBd6KUu`FoPjC;5Gn_a}LPQVyGZLCGJKd_u`H6za$9D}ep{5;|%V!Jhix zm~I8`1?G~-y$!=Tv&g-Tz%{VIuEYTZOP`|Xh@!K=v)qmp5q;i? zln)ELt$UD+q0jrV56i|O;y#-Dd<5TFU|t@FqBVW~jFb0^0WKyQ%P~;94k4z>JO>gQ zVNBp;$tRraoxrC4nzQ>Y0H;}w6Y{yt!5-UQ<13Sa=$0E$1gW?yA!mb1X z!Y!chD5DU+6!!rJWx(YK*mB$pe7_fY0x=FQz%3BnkA+Gc1q;yl=9glf08k`kLfLfO z8hnS^w@@@3UturC0<%+&JB05~Lp@x;&`Ke|I)wg>B>)V0jN;_u!zf-{5E7px(v3%+ zTubA}!M~Ipd+S9<)3CcKxt-z;kppUcd>l+;Zw5H$IiyeHN0L)&{0MSQjlU@luR$E{ z5R|}ihyK^5TS>$*23LaQ>rMEEt3%Rt1aLvPX2^-h5oQPXg;MUpH)9>(KkVp7 zk#In1so7zxP2V^eNF24&cQbI=lU+Oz02JTUquHU}TSV-NLf@k29e$SwzJc z!LoHvFhSlT_;U~{0L#r!GNI?Yqr-o!!n+o?egG*@*4$rPILE?)$uBbfym#t|Rr2*KOyCdM z-oCGJ_kXry67K#qObalr$FvjER!nO#t;4h%(WyJ|qw8Qfc(*4Wv2P$wd63!ex9K%C zGw#IGgg>#VqbNauzCRBpnkJ1#tx~4`&oI35jd4uqX+Ta*0C9#{N;ZQ|rw3eC)s*lE zo;qy69vnr-_4o0-10Haact)>Y0~v6GIqyGX@aM)@I1_qDu^RN9ywHO8y5KTnG3fvh z))8S#o&39K)EwB1ojscMVk-{-wO)^lXSaj$Mc_0be|08}aN0w7iko4Z7$q6a%4w9~ z2EYu)noft+sFo{KN|^+Z>Bfre(_7x2fQP&VkM>IdUJ>Vu=TYLA&^chnf0IpwPM>9fNQ~;B^m@N6okWU&}(=~o3yVh#^%{edMqM@$dbI4Q zSD`i=8V8R_KvqY_K99=iIj)BL1({ODJV}_9n8!gK4vhj!m;jJ>1As}K-_V%Ydx3=s zjR4O#+)|(#8W&5=1C(ncEyK^TJGBa^TgmtVUJaCTX3-+NNFc16;^3=}1|ce*hbDm+ z#~E$oT;sWOjT`YAdQexwo;YCea26&hBq2{DR3M!=WZ#wGr;)4&j~57aq`V!#tA}@) z@;+ArphnPE9zZ0KOQWr>3WACXxsfJwSwMsf;#fBmVlaRMxqzWU)(Hb97@nebbO4uy zQK!d>4F^1K{}=*fczsk?;;(L;D3VFYC;?do;1#slgI>bMdojT8AHc?Ra8x%A8g*kA z8j8{B^8yz99Et(8NxuiUc)bN3TWmkz!YB!evw?me)y~WfKApVQ)x^%3BT8>>TIg75tbGf6=aP9(#B^| zYMsEw<81tfUcC=H1gt$Z)tx$k>>Vzfszp$gbN*b$spF{!ca7j02y4)zmup<8PzcH2 zuajGWV$p>9RP~}diP>pZ_4YKEWoPGPq@6r->cqia8*gF(Xd#qa&?OPKLL5BcHX7Um z0S5*ua|&|Kork4Ced)PFTtRDsRL$8`P0a=xLeel0V>YeThlSxR zADBzC128FzuCoL-cqfmYDsF78EjdT`6a@<2rN`LWDEDGNy86(7OVufN(+$Uy!3%W; zV6B0nq!W^k4QEqNq#ZeYx=0}8mmnIzIS%+dR#|f=&O5Y^gGaFg)~;4PJ?;d%4`4WK z)~Ufz#=TG$ok-8VaPs8ovpE%&P;Up-)M+|5hh_0 z=fVJ1skHmewV64B3SL1XBgiSJYV3FGq@bnXf3Mn#2R3~E^ym+`^a_>P4nt*`$_^4G za;WqsL^?tCU(R zcDBRS!_{Z*l^B7R)RrW#-;yooG4>a?v`M;KYb&d2#0}lXe%#OYusws%?RBcUdkqNQ z=&b#ClMOnH*JqVUVb&1PJ?S(dYEP5hfxQSZy0PL)GZw* za7sY*M6^z6><>8fdWSF2rz+Z+uykMk2u5+&H<|U7!e*_9!*ipCKo<%(%{SndHMZl9 z2BQYdeY&<^nBU{|(~jL1rxkSW z?wa$bGt>6&Og@%XaC*}7vBSw5XMOh7 z^chp9EnK&C!z#oqd0W^Gpl83Zp%*U|)m8NTsim!zMOo)FPw$xh@rPf|n7=q-^`;Fg zS8m$AVb!vwi=c%N^~!b)LHj~pZAV>Im55(nUUGKR%;|8Yn!b3&%H<2^!9#WV!dcU% z!Bso@w|mS%udcnSoL^gCBNFm+Pn^g+w`1m{1CH%0y{qn16FtNYmqtqhs$qFkPq*i~w;@rIVKl*ywBK#60y}q3V;#t&F^DbO~ ztwm+0vEM6R`=56|{A%HfCDT9s@bl>lz@m%!UBcn?9Db*xPrTyYx8C^#Cb*M7eD{;7 z^B-f3cYk!Oq|N3kpNGuzM_<9A>f`r5nmpqP#ys-RXH2@xDR2Jq?;m{j*_V^P`sDL( zr~aI=J(F~H)|GJq&?k?2>@Bh?{rKIN7+=(VzkB1Yciu*qJm%Ry|KqJ! znSrP$|M@l=;DXz}Ciw;#n2HyY&C*!Jw5oKJzEo@;m5oQ7`ti3U3X$P8E zAsvL}zd~~%&BF%`e_mdXEny8#``}Ck&tup|(+hD#OT{U2W4wz5)t6!C{R;Y9G?C*J zyr)KCNA$zUk19ODoN6LG1#o^CKTeDbG4U|0V#d)Q*;v|?CKfK>n8$|?LI=V*#=pWH zGV(35jO}6~TZfNy?SbYI^GYG+f=#Yi8k-_MW>M~V(M@N?t9SQ;h z`)tbYj+VyOjvh7krH0DYUXoWV6fcA0gv775_n{BV3pD}|g=*8UsTOn?!0*R)=q2`< z6mm&xLt}>usPzs z<0bEGY-m&4p#^|;+Hb7SK9^S_YRrMnnQG&zb$hZ}^w6Y0q#TS!pSHFzyQq!x{Pgj> zYK#~SI%&PIrbC0?B#O|huFcBG%`dKPoEgpV6X#B!yCF@e@Sw+wGWVN1#Z`jJE*mB5 zkg@XEOeni%y-+EhrX=Yaie-{KemX_WATxN2*PTHGBO&Q+I2R zLIHCv>IUH2(QlA+b~aVlcghWJrwV*rLFUo@shRo3Cm~o7rPVar`xpB_NKb(+76Z8+GlGxcQWI|{^Y#}PM*)sFRkwSHN&i({LZ^m zR_)7fQW>2-mmXy$hj|KGS1OTUzg@5BYN;2uDA1wl_xAG3E6Z{+QV$$Ck)Dw+YR+Vs zq+S4IUudsSF0ZHm#(!uBKT-W=$T0LTj;Ty98&Cr5;Pm z09|?_lX+kENl&Vu(Dg6-gI}N=}B4Lxpi>{ffzPjCnT!yiw zG$;GQxpVn~gG@zXZf>ElO#^8bui5DI*o=;V->&LG?jt&s7@ZODT4ePVl@geNhFtZ> zcBP5+u700W-P_yKP?A$x`$~OdJLFPSjy||WscjxbZL4j-t?HIrh$M;^-se!a@T(Md zM_rDQDTVAkb&iu_sG9dHaYjpX719rL0plvC=aD3a!HT!E_Zh3u`NYn^Z zH<_Zhy{%hqC7U8eEi}Sw4T1iy6U%4KSh^!Et60>~t+wHBez)6Se|FdAEn9b|*XR*@ z=<vcWdn?Wp8I|b6dAuZ*%JF^NXu$T8sf}*35T4nz?%KsoWA#LkFykKt)At=lt&V zJC0?Rw<@}XWi>U`?J9!{M!QHt=+z)@_jI=kE?lT+Rl9=ffSwPs#>egY+1H)b;81(OdM6mc@LZ_jym;Heb45ith0u!<*H$%1bb7UN&ALtNHtpO1?eDeAXMg_fwsWP;1{kNI zz72RC7FBCwb6riF(I2v8EttM~&(Vzh{G9T}Mkpzj)wK6W)Rx6-Hm_N>8j9{KVFJ2f z>G~Z9vzk;|qi4YHG@EVOw)#3@MUycwU@YCXY|Eka?4p8#@@i3WQE^FCb4!=bJA1{Z z)k~JFT)TYU?A0kp4(!`|D6^)uMPloBs9_o?tFLRSEE1c1n&RZOE4LiZ=2zrpoIaI) z=0bjH4H)>g08FxBp|B`n{^Ut(((^8)9Xnmz)X~yo0lh+{*LBv^cejZp9!L3_SxeUK zI4u&Fq^IoIzU$!e^sI{7R+T%rU|GWa*)wO&n=|Rl1<9FNXHI1lHgq*NYx?|7B=5S! zjdHEt?dv_ZaN*WNXZcMvS^Kwbf*tOjeTOs38l-mrf`rBMWOioBtas58@%O@=G9BB{qSvtJnH1xi|0&R zmyvfa{&CXPMI}-%B0N&f}AsFv&)-1YjQ7CbjT&*!raWH8B>>T*tzd;W-&y+%8GN+ z_H2gz-Hsi*_Uu0^lsJP6=Rh7~=Cql!zW88XTD34Uqqs?HQ;5!ImRDqKTQc|SxBv0^ z(w!$VE)*2!=jP{}KD>9+id9>70bsE2KzeDnI|QWkocZ%+&w*C-$E&hygk_>mi`O9& zoIkm5;U}Mc{?0p-*Bs0&<(ETStswv0!R=c&tXRE+m*PHjA|t<6?F)T7dFt%w`Fm!4 z^`DPtCS{9i>bj6dG;|dm+%WU=xhoP^??}B+1{bf|%1Tkmx#Ue-wyfKHDC2bMsiNu@ zg)FoSC_I-Vsx8gR z%!Zy>O%1=WxGd{X()wiyE7l#XXs#?MsAw_z+0fUY{^$LFfB5CJnbW?VGH2=1Nq_qN zN9%KH8akw{6@`^O^2U;!+#*q3t*9(FGb44|>J>{CCoJE3zPhrg2qgtsrVpX={lTY` zXD^sLn7JUAfH{M-vT-YL$)t8jj_efj##buREosIm`ymM(O8-P1sv?Os;T5-9c zzS{szqabIW3>o$Lu+jW%#+)gWW+!YpdR`!r)s$8?LuIY8p{b?4wYt1C@63_i>y|B9 zxN!0E9j6M*Yde(4um}79_1*^`eE894Uqh$+!_Q_cT)J-Wk<{dM8`JU&ifdY-kkJce zwED`@;^LgshmzJTOIW;c@roTM^YQ-3;fx+|zVpE+!#+!7*e@nc{(8#%gthz9P9EC$ z?LYrDZF^=_YgexVO}JQ8nxC7SeeU?)O{2^v@ytjvMywvJ9{Sm@D^ANuiSn# zBe$XnuRr$p%~&vh?!rZLX3d^EZ(+h}Slk>vS#7ZNHb7OcEH@+Vbb+w8syHh%^UQHb zsHALMGH1?`O^43rmbd6|`sn98yJW%KxpQXmX4KDGw0wQifg^kO7Rptf&2^=P73I0< zC(ad=mgJnv$VflDe}Br3^@;Ol&Pm*MEL+eCDK#FO$dm_}-%o{E@vND!frU}xw%t26 z?Z|2C6c?X5bcSDDk)M^7Tacf1_Dn|lq1`)oZriwe@tj$6R~{&6F>rLZfdDi7qbW1z z&YO$EU%zhSmMxoioUQL}DL=k(Q)+fzVOd#GVSe`c^fZ8Twr<$CaozF-vuDp+vAC}V!lXq=^L&M@F z^QO;OxNO5wftF%s5DYP(EBN-LX>(@7w_wq{xwGb{)T$M&C41(4v-D_rUD4tFr*gAW zcW%acPyh1cPbNXGXLiE6U1!9`0Emokt5J{rAN=qWjEJYsUa@2Q;%^ol%q_}2xaiBt zTS_H8ISJpcJe0P7-J;o3KY#BZfBomDQ>RUvwRru3+*XT^a3L0>2K$fvaYiwKhUhiY zXh!g_ALSFHmq~i1-PrvPKguRX($d=A(T3e${!uP5^|h^?tqs`y;U8rZQ`sO>^|WC3 zaX-odZ|v)*@fM2{ZS4vZM_iT>BfzZe&RXK-53CvamE0B1@6fsw%&xq+FeMZa}BcB+D0}1lq(_mA_ zYkh~W;1y<&*Ry=BV{zwRj&n!!CM0OXP#7T`q_pS@n-51pfFIz4h-eO68xbVB?B7V= z;OvNNz`O!ig1`&D3B%uL2|kb_7#ad)0S88eWUf7ha`4Ac6(mzQb4ejBRnm;JnH14C zVdRh8s&ZPztxw0d%ZCpC80H8t(R%LkM&k0~!V_oY7=>s-c#3#DlFuU`2@os`&m(@2 z0dEdYWEIf2Ap0^R5XLJU;s)* zh|PHB&{DvC7XFdJV4s@DV~`K)vpmk@mM#CmCnDjFjabhPxbYo+ zG#?E;*dN0qi)J{3VXw)c7{~P6bt;wgPVBEzDCPGu7Oh;NGeVI}($TH4J;^BB>l=IY zKWESvY3fuz#&mW;^HuW@(=O2&wd#ABwqBi4r@E7A>6Y}$6*n`j9WAY0J<&{0dtGB^ z1H(w$s>L1U3?pf+t#8M9NuWK}j`Nf@);G5-!*X3!ee*X_48(E(pn49`*5?sveSwoW zLi`Y~_e&R}tuN!1rikk+m*S>~26A!KNL)4Y8Hu-E{!EBYxDcQrsaaQ6xT&W zml4sd;x)X-6xzKwvG^2W5?=h|CorYqCE?O==$HOV)5SeP44;l8q#3@^YC3#)V#~vE zVOl%D2n3~rg2PqexHHaOOtEOlFwu1hxvMLEk-JXPgA&q(zeoj<{v6-|$ksmtv{s1a zKZVl)W<&TSK9O`65>l&*3J|J6qX``JEEiP9LxG?&8~;4Q%53}#RJp{yh+2gm{SxLc zqc&k2= z8H>-+m@aO6Y3J`osZnMWuO1!#;Q?T)5U{3?@sWr%8xskHvtubN&H{me=Zc$fd9g1L z9wCmqR%k@UlXB8?fK{PHV&fqIIhqq%0BDWsRwEhlb38W|}B?;Fi!2i zGwaeH&aBh$1DFK@xBaNhI<;(x>ye*;Mswef%B;h-*@&U2A30~!kIAev%tRiWhD-3; z6-ZRvaAuuhHlg?_x#LjxDzu2;UYS|n^#hr8hUo&wg|rvlHjBfF(5JlXMsn-Solv(1 z!v)B&XiqQphfaFi59QZAm-6e(pLmW$rVSVoh)DK9@Y~}ssuZ%0264-EX4;tq2Sg!# zh?j$>g989~p^|kpwQIe>f$K@SGZ%2{LA(IZ0dZF#=B;|QtfyP;0zn;JoF7cVGo5&L z5OasT4B$Qn8;SrUQ}l&=(S59s7f6g!<4vSW>l#UU9$ZTy7Cq1hZFCH3%~mr6!T}cG zpff-h`bh8cd-C*mI-!qlZ~^k;a#@X_4CoaKb001T`tNS2Te~3UFVm~ZmF+9nEF)e{{06JB=6dDte~=zUtS>;R^*;K zT?lnqAsiL>r58>d8U!o&(4p^a>Ev}M@?v}7571OEDlOp)D@tK-keORrS8V$gMaxPz4Z+(tw>Y$%1GN^2Ns0cWCDqU5TOR>#2OT$ zobrZ-$_i06zvx2h&Mn*bAdKA}1}ePiwae;j>+8i$-CCQcA0Rc9nn?$}SB+AoHCW6l zg*&q@KE6OVBq&l@y*4bQJRaseH zR92dMA+J;*t}ZPRR#pgVYO4WGLl!P+@#Lw?b{tI4uan8EQl`B1XlZeNUSUywUS46P zxLQz>dm%gfLQZa0ZhkIeSOPH|8AQUW#^%O4L3Uco&h6_K&77UM^-v}s%$eq@^o^t8 z2$C&;3q@0X12Cl`Q4J7EjqU9%9Wo@8^j5dWB!#DdLf$Ppy?gEI4I5W4U6imnwXn7- zFH6|oQp{Y)I+NX?b3(=+tQDh51tSTWTBqphlq$6r4|sbzNsj_5wz``1oom-@PTI02 zVdd`A#lnK)skt?cB4%G^dU|m$GI@PA2)r9qvR;W)A@6Exs1`NJEiQ+)yHkb(`3%D2 zd$w;$+P8Pd_Wh?bFJvMvcqskcIcCn8lZTIFH(Pv8okmZd7ah@EQSFILUT0lic8!9Z z4!}f0YDraiaR0&Nl%vN}PiEzwO5V0{)x!BJx9ns7nwEBC@9q=T28T|eQp>yAySh7C zars)Q=t5De63@TQsJD6Dviw7-r_vyDjVUc@@w6$h|D3UW5A*opBZqcx+H|zeV2}fB z*wfh~>1e8N*Sj2==E`~iy}WLV-e5NO7N(}1J)Mz#cK?o~wX;6`=*VsTI9anUp87cD6QlS`g;5b=P;A`up8>Gtam~Qgkfs%;}8thc_fHobt(k zzFq(q)D6kG3^NZ-vKv+}+g8wvqL;(TqNAg`Q({2w(Qj;RP&(XDGPc<*z2#@mWoM)x z-MSRMa9>YZydH$bLm3#I{bASk4Qo~=EKlo#QH4s;+u72_lk5Sn$kFGNH+QL^i;Oh7 zp|`e7AjnBgT0VdJpKl_$FGXu*2%9+RC2 zM5Gl4C^7?+rUw;EFYjq@Y!IcboH=*l?CEphpEG^Rf_1wx3Yn;=iJMk0U%qV3S*6pU ze$zlXL<3`3a8hSs*09;?@;lOQ>2al!yZ+AKJqvU$zQmCIMGUyt(IypICS zh{b($2xdB4at$s`ufk-N2#WEh*FqIstU!I<+aUq6(rHw7)|Z_9X2jS z=Z@`MG3)EECQVzoX4`=a6;(Bbgy*|}y^pup9D1NM`i$+3a<^CCCdkRDXzG%vT*wwX zRCS`dx{9o{eQV}Uo4s)9s?9qOXO;6swKp-MH!d95SD2(uyj#$HXz|zo^$s2u2oQ=$K$>Rsj0M#O6+^{w&OLu&4SW`3)#X}g%zeC z=Jvefsp$m`U2=;Dl}2kzV|7Jw_UQu~;h?l=5iFEe>^XeslyC%7_2k~u1-UuJ72
uRa!&7Ev0&ls$x~-epRqJ4=VJ{|RCIj56XO#k#>*mcg56`PL~wYSGG zHPQPV06se%7SIGu;3%4Y|ov^?KBrkPR{+;-sxBFH7H%j@KI%q?AAcUF{V|*C(#nn6&TU-fcS%ohf{CG}HLD zQm;ilXEa(MFRl}w$;~>FgI7{(waQ!SYU^7&8VgfaELpv6|A`~JckbW$)0>&*Cu<;Z zZnJ=P3CyGrLi_3EI*&fIov~mDVoB+Lt!8K?PtLZBn9keIJyNy zS1*Qve$J_VlJe)RUQI0hxy0>nV1P)Rv>T72->zJ=vg)oWtJ@t@(Or-_8Yw&8Rs?jiz? zumT|z(eo6DLOg~*ghbZByqpWyhzMAS!8IEW+knDHAVVRF0wEoM3=xT=zz$o9PcF<8 zULXEDE8>oUeOWODfN(4#+*RO{g5Bw1&?3tZ{~mrF=Yn}9Hy0AVk*&a45)Y3Gmb(gw zX$!#w50zVQV7^5Mv@HQ0jqu6mA zuIX_SD&&Ln#~&kjiV3oOejNCipoKzE5Z6Rh%&OsnmvIWi=)~foj6Ir2btL)CiDHk( z%|cKI+#G~+aIeNtSO-8;2wE4$WJcmm6h!0p9D8w3906O5 z4j&OmiotJPAvA9jx9JeVJY{uAMU@b9lNX3vHMf4jK6)|sO zc{r`WKd%=#3GXc+Cm$Zem{)?dMu^8BMojt%F)6=qG-E!0RivcmT1ZK^5QP}(1wyhJ z*>a3wuLmKi>f90)2Q;(iTF^+{RiTmKvb+<==to}@5~;l^BobVfV-LhKH4|oNYy*G$@4D(kOk7TOuzd^iXn7NXF&j`l& zlWRa771w||UL>sm+-tn&8YoBY)iI7?x=QE_UgXM~ZxG)YA*%cn`|=uY4BHqXsq7rV zRBpd9SYw2rviVm0?w2R?0naaffz6IR9+p<)GoRq0OMuG%HL32@7@r2@iKko9qc>thJcHg*(@Jm-#c#z zw0N1{@+BUvsW*aG9K?AUf#3bZjbIfAabZRcXZ-hH#3?pj4^D9qP39K-Zq(%K#wc#z zK8QneJH{KY-T*jp5XI&$>^kcG>&GPyBH`SII&$LmBN7MkbjD)O+pZssIEc+NDu(I# z)AgYcom)-}BK^dm4Y~8W!H0`3v4f^W#WLc*UoYrz@BAqjc|`w=W5i?TUMJS@^o~_C zKISM#zl~?=Ub#+$;f1^-Q(yn>??F#`0eeM%aecVL?3(lsAAR)s-~9O>4}&;I`J{~R}(Y53iB0SL>}KYwKWBQL-CulI&w#1}R7dO(8(%bvUKp%-3% z_v63c%rwPrybhS)vG?x1^T}VmGkMy}W0~d&n|~M=xal_!JoeHbKb$t>_FI_NpPc(a z6yT~qKK;V4e*dSp{{ipQ*E)U(^LKdKA71^{uU>uSK@j);U)2u){3cz8AK)=&ir}>w{0exOW26Gy0uXXR0bwK6>M` z#4Vc^PyXW5cmDi8Z@%^E)S1(!F5H$r>#eu{^Vt`F0~c`Q-s zPk!t5*Z=1qAAdV@#+`S7s=bKaQvyVw8n z{#VoHtxCzM&Dk*di*NpNA0vNw$fH`SqLceKu{`j*}(LO<9|! zz7I1)W!#LC>iRahQZ6Z8@|WNK;qRYJp1NSm;q$_to`#hF-2Nb=`DJc>n-tN(suP=5 ztlYAH-};RQ&lEMQJIdxf@Gzr|pH@+i44kN>sH9X-CpeXwQBd99Bi{C0)T4~yfvsRO zWSz_BSBjfzi*rGRs4ma>VA$h~`MJHh#}1}t6_%A3=458%S61ZhzV%7Q_WX+E!>2Fg zWTvMcK6t9Ey7HN)7)R8ztJ2P-A4%SueDG9pO*IIEQ7L8fJi*bIa4B&sl=v(77 zO>G^Won0U`SnVLI!(WNB#6^HHaG#ftA3t z7M8Uj&_O80@F4uO|2Wu8*vE0Qh#lS53qvUQ@PSV?f(@D8yoKp|RdvZp*a{<`F#k$i z*CI2!kX_@sLf!#Nv>$=yM^Dt(_A8u(ePOy)eVfYZhfA{=oc%ty7!3r^e=ALB! z)zBh<_P`}GVfRITmBbEgx7TJvTGJ0l7*|MoVZ+?7-hKD8#0(S2d*mssyyPkDj!>%1 zAc+OQNhS@s@ffj11)YR(#^~^(r!dcFiqNNs-VNVqV(E|@ZuAw7!qFk~C7Kl2GHR(z z@4~giJQl=y&Po`D9G8etwau_jRFcK-Bfvx8FP9lkZ9Rx&gZ>o!8Ed-CTWar-LT7|5 zh(nLFrptUJIBYBB(EfJx4Lr^o2l0&TP6vzyp&jlIJ;r(l5r}v}qRaPzfsH>H2QhG{_b1yRHjNWJaFRdgFfb%hb2n=nM3x~iMn7aH!uXeqYU_8gwn2Ot0QBrGoE{`+ zkn!aKuL6=2M)<=y?ToRkaS-xZm14|;&a%De+Bbb|;jgaya01!ve4GF+T3|JAKzrp7r zUvp&TX`cZvgd34(7(`6rK$3kN8H->IBr3=YRpW;VY5_fddRP1D4+Bnv-e}M$dIzym zIAkTZ!u~kDKoBtApq=mobiVNNBzLHOo=4&~0n1od*V5iOh?2s=F`-T1hE@*>hHe8M z)}WYvIuPiC+zD~}=(adi%{8^PRW;46O@k;Y9E_8cA8>QHdI48R*AKZA)M9oR{_s$A zfU8)gE$tEsuVZg>98=;;Pjlr&>VRMiF3c$--ZzMyyz zBZWhaf`mqf;drvRJIx&c)?3wth(J+?fg*TFfY(5_x3_Z;BZWho%9R!$3X$VKbN7o4 zL+&9DseZk zCh+Ve#Ea9UQOO7KQNq|(RBm{-@o3|bq=$yPb>P(U?7*XVp!5Q)O0+ksFN>fi(m`~T zFeFx@vOzZ!d*NwCF>+;3ENB~8$arR;i3qTf$6>KR0!FWrU!tQJK$;~eZMV|Sk$Ta% zpoX9zoQU2~&>Ovg2H^D!LR-XX(Q3?g@;MqrMhQc3rC>MOOjh6sP>;e5Bj|(Gy3HQ# zYOc1gBUZ?ppu1asApm7Y|)QK!)w?JgwN6-pDqeb%^v z{WV)HI+@fsh>H?N{F14z(FQ6pk)8ow8t}W!TBTG5R55@mvd(U~#$X0_6*(bf`<;Wh zC}E_q!>U8i0O~1ZD;w~7`aCv+My-%3&2Bs{5V`7=DikuALTj?~JTmJbE=m|-YyqnU z;;#;XUr=e_J+nIuO1VPTt93f97AV8YcwJE)iBX+h5}8t~Y|ZEQ*!tXIHcA+qY%uCI zTALS~X83Q>6X5qbHNBGV9<9S|QtORsNqbvY7ucCqrRURk&udfy02HR9gfY!34InFK zuUiLZG^*-;A8xx%)g#ea9aeQ`r&J2{7imwUpy2e80|%29ON?%>Im|~1W1*qnsa5Ok z4xLhOcLNcH`o;?~vdrY|bDKKrnp)wo+|%9;kLJ4C>cU(lG;RPNAwo(RL#;GeP4Fi+ z8@1$Z?{az3#QMA@sSF*8K1BocN*kLydv!3hcN@EE+VmEisxiz+;jq_|UaiHXMN?@9 z^hc}LfiMh%S)W_otuUI^o#M*sn(C@14IlvqS$$qXy~(KQtO`?7ILvl;w+wHU+Ujwc z)G$m|YCx-X<9V=Zy6XW-$;~Uszi{$wX(gChM^lmyrOTC)MqnI>lfq%W|378#0TxBp zbqg1*W7csTof*@ZGbVD*IVd^joO6y%78Q{s2qKC~&Ow4G84(dBNm7CYQN-++fWE7` z+j)Jz`~T1PTxa_1s-~)|>eM+^XYaH2T7v^a!2687dILsNK+a#hdJmDV*YDnb`1Gu? zyeK!fq_i+28JxqZmlG2&7gd$DLpZvfk(5Hmh*Jh*hMo>R9UUEi1Kbp;W&F=)w6u3$ zzQ4F%U7AyJx1*t|vZA!Ox~8tg^DEV~{dTB~ln^DRfkNSO4Ve*@=Ok-f<8z zKY4cG z^NXhg!$>FwA=ZcK(Q&lN2?$&Fmfgs>o)UMlxcAlb{?3PFmR#Po>sM|xj7;=*4oyr> zKJ93^-__GS^8WJ-X8mVB<8}IRhVq={1(moqH8C+Y_MqrW+SN<3r_SZ~JRk0EyW4!L zq#!FVHnpnvX;;V4#Kg0w-5?i&wDzlyFGny)e-G{f0LgGCrk{;Yj6Z3~Nlm_#6de&9 zQ}txH6ELH?QZk)BudZvL7jU29p@GMb9&`@jh5zma2`ZbxK%116el;}=FwgXp>dOg< z7h=ww3JOSU7+4&)0~dp3md=(U^ppL;q(a&s>?)-F!IQ$s z1z7wq8_SQW-5@ncBn0!Mg`geKSzvC~=XPh9qSkF*Dk-4n(N5=HKCy0%X4)%EqLF zx`)hD_!EYf^A}XoKvGNWgxDl>)T*{ZXAOVc2H`dEr|uwC*r2*dQnI$91{TpU#Rfq9 zkIzrwcw9W0Y4d~GMF1qA1QUsm>xNTHmWzPar>&xw$O9rF@z6?Mg<8Phas5~(OZtQ) zCN#;3N-_t4F%3!5%#gTvOqU`{fSf|b^`l(H)Eμ|e-Xe#Nh(IPr?L1YG77xYZy) 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∋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 G(!T+s>5IPr literal 0 HcmV?d00001 diff --git a/assets/squadjs logo white.xcf b/assets/squadjs logo white.xcf new file mode 100644 index 0000000000000000000000000000000000000000..714a9994fce8864204b6c6c2c50a1c620850f9b5 GIT binary patch literal 170342 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 R+M5{B8y61jD^R$dMy*!W+t~m-sNd9C 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Νcjgqx*8a-W(x8!GBUk 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ʅoZ|ArTVhx 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 DEh1OF literal 0 HcmV?d00001 diff --git a/assets/squadjs-logo-square-white.png b/assets/squadjs-logo-square-white.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb81554406a239819565640e1f431b2b5778fd7 GIT binary patch literal 138113 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

yaJcJEHu-8!N}Bj3 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ξ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

Lx35|HYH~-q}T2x8^+JH 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%0DNcfwk1IMe!0q%&eJv}qScjHl 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%0A~ZE< zV3Q0|JFfK>X2h}U=j0i>udJe$&nFR@oB5t??Jw%rQ@8Q3b=ir1Zh|TqDFRT+)Vk8U z-mdCX!&*DFWBKx=l_FMNz=ufo5VB>sH{3^#coa{VGG=1mmlegXxJ;1<(An5$?lZe)VrYeSTglDAJ1bx z9-~LqBBxK)mcpBI>TO)N=4jRWG3ow(#J^bz=Lx+3B*34%d%&Id`ASfZ!gZ!XGBQp! z{P`xAzd-Pd94FpKP#>RR9-7V}Oig?f@GrSpGfqIPcgk!Yn9Mkt@uw#!sdXaa%fQXG zb^pAMamM0CmF*o6fh37v#xCdC$cN7_0#zo$~_PfE* z(;Ebz;AR6_%|I5{Q7>Co53ObhlwRM{9|V$D!=W&FfPJY4=63X=lp1}|X zLobp|ndoN>F*F^C87X`Z;fBvTW`zx!ec&ttsk$?kZI#FJDwS$j$KOHn+*AT6`GVSn zS(X5+E8gTM+>K>fMd^Sr==b^fF7zpax9~%e7$KhTg#=>wQi9+3WpUk%AzU!znFwy1 zh|6z-&|a;I`Di3^om8~z8jSYbt(Rd5;bINvY)SYgRl>TigsxBDx5S-2CyyW8dDJtw zXRZO9OCl22+t!|yN$R0FPmM@P@w&)z|9h+At=ENOQsiTgZ+#;V3*Oo=9 z3GNg#y1oI+Ena->{?w1hx*NDHK1bh!W^J^%-h249xArT+wvv(3!ANT5DexI58x8_* z--6@(0q~MBl=A@a{1sj(z8aVJ0dI^CYtICp7GItok()c?IAe01`+W+y33yzt!i@IK(zmo5Fyc&2f@D0E>5(fA)juZaV^9n9Gw~-heUuBSF5fRAPzz829Y6+^|vV=hi<M2?T0}^pTollZXY9RC z#Bm^xTaiF;k#N}=2@)xYMcn8NpXIOL`={^ELWe~MRhYr8WdU}@tr=_a}n@*7IBK)+hNJTPvK!cszN*pA-LnfdTh_@TMW3yS+LF zaWr@Rw~$HUjFS(4P8vDhO#BmYEAX%lmh(zhuQ0h6_=~sz{4(&G+~gU@5gSRa^T%XT zIOF8QAFW~A20_hqs^cf)vJqtai0z9%jxU+7176G81{*JE@Pt-uDLV1W!>w;T+xvLbyMKq6FtWMd6MlpA!w{V#2z?&@0dz zrKeH2Bg(-Y1mTFLh!05C4^3bXe(~EFA)47W?Rdw}b>K;}v)s^qFcKIdO*)4B=o1Lj z`w6PFy#$qVlVr`%BoNeHs*21}M4Sjhd3Q<$*p0_^EVp+U5Xk3y>Y+Y z>6&BjXSwBpNHvj7i*a4s9CN#(PR7G>1#Uelpj$`zmXJJ}g@gz%k)0xnN5zIEv+H&V z)UE~K%be3ax*bHxSrkV|+yN^qh5d+Yw8wTPb{n)s?tT`TFVcqnM+guO1wEF*;v^4)-_u@7dt@Ks@;OpNa3em)!?^Z)8>jx3b>(L0w0Oxv%{5SeYl)gA|8#n*k}{`lKn|BF;KglRE7)gic{dHBCde)8~~qPSek&AXXSm8G@>= z2Gl)i$o5wY>t5uK@jdIjMprw=vDCu#Bx?2Zv-_7L_Oa#Ej^jRiOgD(4F%^1Qg@hG} zXxn`h30+UB*BNmg_S{4&S|4ro3rrvL=GY>7>qLE{R!341*DVG_96FMvff6v@3w$Xq zvxHg5o-mL!8}AV%RWIWr_RoEByDJGZbIvgR+4}x^(>F!n>V7m|>;HANxAj0)f0VEA z5-C}q-QU)c2;mkfk)$o-khxdc*$Glp3-U}>qB?6cA+lKazM>ZUsy7WT6)aB}XYXB> z*lkf&d229CgAYw}@Ac-KC*ykUKg1V*fAxQumu|H;bJKvsjtvwmXu`*V|L9B1s>z`pwl-m5Rq)tGUT;IByvrq$q4xyn|JI|ypb z$C3OiE$-iD*ON)%fL`o38+nepf~_Tm*Q!eX67XDtt;`d1lW#75^t&5Ob`odgoRLd< zD7~j|2;m~qDWy^V%37ihmlyo} zkFNo4FGZYPqcMId3PB7q@7MC#)MRHxyW zhD;mAd;U!XwW5eC5x#Az3Onu7GwW4#Q-%`}p+$|LDr?8z?xA7LZqx6%c?Xnb!Ju1L$ls`XxnSm zz6&un7fFPlwJaFa>ccLU3_jZNL?VlnJskV~ZNQx*-`qQ6pR!3Q)t?5juRRpMKc6u3 z<@3QPA%6Jc*GWSrs)Jbfs`rR4pMoI4GYWEg9;4vKWJTWlk+OlO6ArjhJ zhUof-@tF4j_jApmPkiyNm2U_~!~Y>==gY|0?)cR$KHj~+TQ^w78(6ziatH7m!1v@P z&p6IFbA$W;X0F1FlL)`I#_cmHd~DoJP*`3BTti44^x+ZPW&4Qji3v7F2p^ArbUh&n z@LDirZ3!qd)`_QHRV6x?`Tr7#;AYb?(RNIB!rxBI(QYP-h@dEjg&xc=dFB^A^Glw^ zUPu~Ou1rE%QtL?j56eI>H6y7Eu+$Ig<5ttrX$57nr~~;D7ln&S?*eJ8?{K(bc|_S~ z)q_VF2GJsDmFJ$)G_bB_>I>4Dt+?|L%1BEF!0G z>YyJ9A*m4$krHn`L?Dnw1Wm^BbpG>^xcUU}S;9b?Gxv;9$qT{ zq?LGU!jM|q8J4`O$4CADjga6r8QfZu^;vRuV9Kf|)~cVQRd$O+`|Po6!^;Y#Y2vqx z@i!aKL5j?}8q}(DMIz6~Ws$0lf>psbVmyhc)U_%0kS@R36DK)1LKq6MCjy>mJxvWvu&) zH}@{BvwdM`+CqZ@i)K5U1kc9jPLjRHY^>v1bNyD8emHPa?rqMkJZRlKMiG z`7t8nBzSRr>v1^lFR`(Na}Os>=Xy!J8IHnfgi*T35)#dQef%-Y$QU=i2>fXLLHrhi z=k@eaw(rCru7m45-lrnL^R!&`8QUD6VD;U2jE#OSN^Po{M@z$xcs6bc?A0^I|f9bVE_NKcjjT5Wp#c3 zock`dSFf|rFvBpzz~BIaqR=x$6pb24R3ZsJL}OH3dE$~7qao2~qDG@pAJ>>f69o|g zK_lRT1Q^-(Wf*3L*?Xp!>h9XB-sPVBaem)Azk9p7r@FhkyQ=#Bp6BiAdh5O0+1`6U z=X<`tM0{L=xR%*N49n~bF$_vNmz2G&R#NuHn&m_Y6+lJ}422kJ$Cw~vs}&e4U}Y6n zOfein0>g#vJA`y@AwVe7ZhKNKhYXBkTvNtjkOc>mN`nd$BsE?n#@l}UTRZPOb?Jow z@m9O9ewcWpP4{d>D)RiF}IbsWSQPzAIL29%-$F9Kj4Qqs8Hc0KZ7eay!ElB_D6 zAX`JMr?eD+(fPI<q+fA6dxi!(J)+$LTpoIV~Zrvrpb=_B!gFwL-yZYCR$Oz^uKf+j zN>)vp$U4DWFnC)858k6I3jsx_CNC?fT2t&Jf#4~!Ws~~Aik-u(^|wb!E3=M}EM^68 zS6ttkx6jCiVi#3FIza}YtFEtisjg-a$X>R6$|h!v>`CnHUP`KyIhy#=_$S*LsgCE# zuwP}q>gvy{y<2Xa^4`j_;C)yz&-1Ua{{dXnaCDpLkQp2vn2UX?wL* zwGp+0Wy<)@)AfM%20G=h&_LlPwtxJJ8yGKSd;<6zQpV}Cjjtyy?f4_${iNCR9`KKV zuOZFsHPOU{i0>zPRRi2fvPk(`;7O<1=1R^U3IqHc4HRx-XM6{pF~4Yv?FnOd?f1Q; zgk(MrZ_{f#3S84v@j1uEQrut1#(^-vOPZ=Wzws?E4opq7))cjC^eI$-wpvv#R+dI= zi)7JI6ahl=79Id`7$}NJrwyasK(~_t?phYAw98PIv}N-kxJ$|_w+4}01&nk9!w9Rr zq(UAaP49)YuLuxh22>H~^;2TH5GacxEOpx)G&s>R@G|QDf7D<_AgKgLfa^K17`Ss{ zeKlv`AnBO*8yq@Lwt*NS*-GrUaoI14F5G9dOkc{lJ~^S(oc-)LIOP3I1%+ipF=PAR zXZM=>NGiHX@`RdKjQV6y-okWpo#2^UR> z2>urC+C0FVu-AfZ@73(;D^iN;_&&**_UFO=(3M|{s-jf@bV!1>*V#`cp_{XD;y4NL zK4`xSP6~z!qN=W!?X&lhp!$^cTR~Z^AgEuT&Qm}$xUoX32NqrV3B=0hcii<~??3E6 zBe1*V_E%B`tV(3(ZEA*8t!P^7v~ksM*R@AYzR9BE1leC*?Z>O~3#yZ5eX9QR!L=u; zqH)L6aeY5lyEw`ni+7!_2W$ii-$hbge1CI0(Zn{51uk5Ix%J`~IX5V*2jB0pR})QK ztazaI`xi)R;WwRTo2!Al&*7MFCrz$At112_wrSi4y#5TgX_J=ZHF5g*Es|BzhwOpl zpK!8m&31*tkJCWm&4{N_P0Dhi;=O0^*{`OV{5*_ z=aj!iNdCXc!U5W?!01R|q-$znvJY{rKCy?ClrAQ?T$s8y=A?3wWEC-P-p8xGWJ?hO zjC8`H;Ki^c&M%c$0j%_3aXAk5?l5&+@Md_fX`8~>P%l|s5jsK!%L2%P%E6BP5J`C#3_NMc zzo4-95{0UAQXtxclYs+5LpNr4Rp&-yJ1L0;Q&k?tS!}O;)WNPVd!L}~q?X0WkXN3l z>+SPYOW-|(R^5JhLst>vD1?#(3TH?#R6y8!PW$Wjb`Yy%MJTS#*H!TzF8g*E-SsX| zO(G_xr~vGMte96>cxx69-P`Unv3Bl)?R%~N`^lSC(!|e0B*;4tTt=GsnY3edU7wW_ zdDiZ^=3KuGu3y&sRo!3R`;5!dW05?Gp>hkg{wv76K(_Aak?j_gYeN0IPxj|k{jIq1 zLFGSm=j9W@d4F;B8+rUjw~y%RM*ii#z1Hno>ORAD-)hyd6vBel9jcQ&-i9O)!=0K; zJl#XbM&bua%hs+U3p;4AEPs@Sec+nQu^n-e3zjU@Y{3mF@ojCdYt zC0G;ZIc~W=F{2>auB;Yn#00WUgA}}Jn@CY4%ZN2=2v}1H3kXBDl?WjaYX{IiqkHs^ z?wD(|)WC3zNd?>=MB1%5+&f*|1uV5&%%50@2bNdjq4id_dP3ZQDxhHl*tJ-M9O~(g2d|Bf8`Sa(?-IJrUNB46X&3 z1`d?99gGpck>9Yle-LDDJ5bgkFV7#?b?cb2hw#=CZTA|ho%iYPQ(=25h`qwL*x={= z_petxt_PKUU3+!151%ltq-qP{6Kd(Rb;YJXPJRFH-(V>W2`rFo5oDjxrfPwr<9HRS z+W(^c^or(HvTZ`wwdcB8c;MRRto21D(vu3-`xp0JKM^>T>Q*39HUd7On+L{)weNl8 zl>+KBNA3IaVJnLR#+G z+#d)2qN$E1ws{;NtsePl;3Fg->z{gpZLZsdNp2c>Jb;N~- zb6YJMD7<;`3@$tr{#xKCIrYTp6v^u3M`oa|9Zg^{}#oWqjoLXLG z*YaxQ#C$BDb#wRaw#gV--6n5b0f}V;3=o0ew_+$h18{x(5YJPOwCB`Ft|$*RIORfQa6*sN>!;H)4+J0+W& zAcJTRcXFkj405C<^zidk&x5eF;IY7!U%LK8pM@&?^{_Xr*PYz9Ud`%Zt5;Y0W$y#m z#!6S8o!YVL69?+qf3ul8_#u-ndm7Wk~4pCI?V zU2mJDuzt+m^R^69?)rYB_A_Vy*BCWreS3uJYKBR&m-v!e%uqR=LZrLJH=>jZgJH;l~UQqBRcn-B{z31A33)4%JB+ zwaFInh4A<0p74IMeFlTZ5=klir<`7q(L@tlDgN6Qd9ZpL@B!e)D+!W$8mR~4%-(BA8M*{)8ZNS{Bj}Vi%H2Pe~~na zdek7+Gf8$4ui*5FTASG9*taX-y?gzWxK9ixAY9sets<_$T_tyG1EH1n*D8{QL>a3< zxG2)!>rAR}i|7S{iy{H%(h}MYhLPbAh9&d|mT-R<(>mlg3%>;xi(alp8|qP zUNz!?iT*Z0QZ7ohIBK8kIv69)p(W!|VEV*lQU+?fF)}O{T=Rh4hqqo>Po-M_Y#k_W zg;4znPIXUlZr%sF<;rNiYw@60OZo-21lHs)E12bhbDx}qZ0Oo;f1P%q_B=(JgqX5@ zcYqlVEPaGKCpJ(DA|Cp@4Edj$%8xp;-Pj=xA!M6cNW(UsPJj*{&DW=RQCpXthBmZZ8~BqxNMvHi@E zz_FChQU-gK@`8;CW299J0^}N_yrSQ$a(k|C34-=(+ek^hY<2I|)E=%EuD{DRqh;sS zbLWFQhoS2mQXTs~@5fm01FT63O@gfF+3oFZ>Z=^QCvmK`J?(qkjaPn>tw)~Z8YjdJ zspZ>eIB?98GS2@R@T%taqKR$rVEEs*(E0p0Dd}7jOULSsADz zl}$!8K&9k$0UD~&`u31g(Oe>P?l09A44A7RS#G{iQuhIG@0N%Y8TwODnXk5Hc~4)U0csx+raIAf+~zw zjJbAq2!QLWGJ~x_7UD? z`w!&ged>Q5H$JJK^z1VlhepYeTjSHTyRKQX2Qg$&tiGu}E$FT!exqcsVPB?2t-kwi z3=q&3#Fuhe?b8E$O_=rE7*p2znd-*_eOc%D$pJscsNap%>fe{Wl-nI(ffp=&ej{C= zeHH^q5BP3-K>r16G)*+I72{{QxL(5bcqa)8e^pa8O0C7llU>t z+)MakL#*u>J>bP8uS>-W@c--F?kv9o($}sO!gHkz4)zV zoLy?HE)VxAVW3H0gAdoLH`7$J*oImR>7VZAK6TM*sjI07*naR41gGmMwtyqV3cm znt%DkQlSQse1bC%l)U%sM(ianWJIzLtLoi@{g$gE$cY5KwZZ8U@X2TT5D5l~ImtIx zkW+wlo}^lxC4)P!Z1-wnK~ydOS6e?!R;XW12yb0?MrPd@9E76l&V8P&JYCN|qTVKS zj#3NDW47hmz$DqnI#9KrSSG8X1p_@8l*NO*Y)7g3*{ZC1u1yLU4qQ84u{wEx1m8>7 z{#Wcc`>ZUFxqc)6+Tg~MdUC)?>#NJIAMYi37RygqUgsS*{^;7(XBMeKVQ=r?ClHp% z{?AvCmBi7t3AO84V?s*2*(R@8kcztwhjniC`u4uiD^#sOq;6hv=Pw(bBX(`xOW9jR zv|JesU7dNqZdu%DeDvVDPt}g6LkxfSLMg1R0f(9_sOuNq?FZwyrY-N)&rAd&)3qmE3e)bd|R=)_R7t9 z;1CN7Z)0L&VhpKmdykM-XFi>(vUkDuBNemG zZNF{bApvEtXdQQBgtuS7{f;YtU0<7%eXqT5xM1#xwM)TmS=o$IwQTV4)+>+&xK+=i zuFZR!9eJ3081LKu(6!Nmq+WkI8Q#v4S4XtnxeeVIRMzUW<6fFnfNZa#exP=z34>(@ z3m-a@2aj_dZ2rbxfix5UVv-W_#bi_aCYrd=@xz>*kK_4{PXWJ8QnNJC#HA2Zc5^km ziGBNPHsSlLi6+ihMBoR{Vf&kC5>K5;+(t@%@&mws-$B=PWE+q9cLHy;2bCW@569Sd zn!fizdo|I-T1-zS1#l#(Z;Mcc!$nQ`D-5*uKG{1sc?)OdG4^}PA7|DS5lUjkr&!Rq zETN2o(SiOTvb-7@7#1l@7!2}x4F(X2ww;lU7-_c>5bkzNO&lP?!-Jt^=^6`}S z={*Ltrb!@Ezxn+^VYr)G-~{lX{oH5Z$|vX&z*ifXBq!C9QgS_iWkGc%QB3LSgtJJ2; zq{&a!ON(q}04FC(6ioJhxvE#M=q!kQoQa9$4VP}RnHT`KP=$fM?7iAs?Lt6K_5^CX zrF|DplkE~l?ED|JzPVtZpSQYLaphaO`#|+km4h!2!O^yBW02LfrEBlUNwzDGk`=|c z?W8I`M1s2dEWovPe!+gu+W)7?lPWFJtskNU1#_7BV;R` zc{fJ*v9hck!;fPvcRp%wenQW$vS?!5^16=k|5?j2bo$_6PbBsu7|I6`v-xS zl9M5By~tT-+acBE-hMfFeP4CEg!PV7KOR&SjvHNd;g97Nq$;Q5B!#MyZH?8ABh}>` z*>70z&o67QpTCEUEpj3(!7i_sp0IW!wX9z%uLO0PP*75>mTM0x=VkITf5GT6Lj33% zi>)IcC-7`nZl~j9f`T4a`ZgvY>eZmKUC=elCSmCAW0aVzM>V0HK=~pkdpS$JE)Qd= zl6{i21se`k4gf!554=q@ampC!X8Q<%+j=s%7~>jwixFao z=HV-=2^b8aKZp#5tSOG$tpt$EnBMQU17o8kzhZl=_lfKThI=uogO_{BDq^HD!Y}XejSjSsDmjtL;y@wj&FP8T;O! zb>-#lS7dtv87S*qWLx3Y>;jleB&GdBw(mAoTLyXd7F7L<$4O9g57}pV;L2p0tOh?q zwxy6Qi0ogK98C~a6G-#!yL+rQF3r{2iq2WS%N=)}n%I%Y^uV>%VXYhss*qSd$kSxY znZ7H}zB@KlCw-zj50%+!t!xDB_gbCLTRE*~?c@E)i`p@JR29tyRZn!>IMauCS9nHc zLg)!&GobL(?7|NLKW`1_e&Cb9yGctu?lvg!8j^(ig~0P|+oyBtWnfJ-ai;OJq-CUA zJ$@Vb7U1@#%9^+YVri52HxIlTcym*D9FH>8QbbBRVNeD<+_2VKjYJqUE0YCUDV ziexABy};X>;%MSjG1@f+ZVCNC2D+ue+Tbu&z$_ewg0PYP0Q$pZ7cm&7zxk)|7^5YI zORC+;eqhAVY8kVQgcQVO3B3XI`soj&Bk90pX|ljhvX;;}hX6wZ!o7a9;~TV&&}xOb zPA5E0QttVLS-l!8T5^!2UjrX$Z=q~g9TL`wa`;JFtsCt5|7sH8+eKc^JZi9IzXL%7 zgGVRGuy4j-)lss7a>n+tmz-p7FIjmx;;v7CXGk^i*rNUJL08>lwVpJqZuQW2Ag`$H z3r{oH5PvsEZ;|Hs|-exgS8q6r_Ug4Y3AeXQ}MTkA(Ft_?@3%4_c*K5*x(x|z26 z_a4(NvS0V=Df*oHy2j(7yOzR@J1ut}Ufm3Ef&)vBo^kWvgzwo`l2ngJNbvVSZD6<` z_;XUim3Nb}hTaSOPxqOp0KWiyV{_Zm#5u%gfd8~j&b0)-3-~xE&(Jo}#7>F#l4iv3 zI}iK*Q+s_wQ_M|lk@&0Hz0KK11BK5%=62Zi%#fBHHgW2>0eBn9HtdJb)Avmi+dTZb z`(c@2YEfjRu%286Vj)3eNJ-sVt(Yt)isaqv{e8=rEGS|O6h%@Fcg*8=SSBFs{fd)K zMM^5yAHZlg&}|1=McPjS))^9)5u({#C=uPTG{55^jCNVrzq|NkNRUsEV$mQ}kLuF) zWqTD4R16$|Sfvd8Ct||1S^`)d>vL0fzqii-hI~TxlJc^&aqV$~NDmlj()rAj6Es~* zg53MaFw!e^J^bw1w)0ezG|3jDTjL*EmOf5SY}RoQXql`W6vQhWyb85f$*B{&1qXB1 zQwn?FRR_a@XY1KVc%bCB_v&S*9$ZVpSCE(UhuX7gtet1q%6>ose{*CT0H}g*52bxV zL*Kr7Zaaa_DH1f?Z9GX3SZYtfzdji#OXVr`>6NU(!t&S8Do@`q-ecEzgY}&SvTyEs z%4lz6fh%LkHVL|J`Q^@$KyNAlMbWySxwq#a$;a*Rkub_J6GKZluF?% z&th$-iIBP_iiey_##RK_1(p}dmJav0wlGPW1d{Ktpzorc|0Ef3Myt0;`@2{6uGIR1 zzkbO6#3N+83J+M-W_;3HU6%*6i)1SX!ElWQDtE8a9Z;Q&5IB~)c#aIcapfcsykg~d z)V1ZJHdcAyJD{qP4z6u=sjiY}Tm0|jGz<*@>fb1rkI8&JMb)4U2z28e(d9t@D?j|mB z%md#EXMQ8L&VAX_n&Ld`Xzj4;IZOkEHyZyC_*&qXfd5QR=F&tH^!m_hrDyq~NXgxl z$W4({yh-ib=_I(DJpj`Gijb@wpPW9(sD1=6!b8gNW;qN)LeR@1F`3dm9W7 z^m?vtb#8rkJ+oE@QZYJ^R7uEJQnkNO8EU!zEIDzP_du0GwC&1C?M{%lZ|zdxPf5up ztxopZew3&#l7Obvva=+Zrlt8UvLZGBe+yyetOts~n~8jvD=WeC;uLk^uWKMI;r5>sP-|i z?YqFuz>~-mAXivBQr&m0?yj(X%QJVvu|272)pxyeUOv|H9q+sL-lMAO9ku>EPM!=} zb#)`4tHg1-R>5V#{C;iR=(_7)CM&x&nbC7)9BcpAM9a0Vy)W1`X#%8leM7Ipou?)| z+HM;Ug*EO8ibGY!yiDZbaL4?KvwiqD*LXefeLUeh6R^U1DUBkyiOr8+VtZzr{x85k z2EMqd!X|c5l%ym;=iBG;ar^%Hqo&B4xXAINB=yI+#!Y0kQWIw$udwgc-VV8*!%dZ* zQFMVHBdx^x8Io1k@;1GefsH9QHr0CWvAhy9xOGY2qVp7PMQFF7(@H?NWolpjy)0vv zLpqgkMQRygXvm`oIq6(9PvRI2Hira)%QC5tMs<+(+x!MMUq`nnQ zX*=-a!LUH#pa#*R`}~O8-hMQ!}oG4_-FTcZOoqjs)i4$uf#jk{w@_2?7I zdDsI_>=#^5AQxF*{p(f7b$?>-6YQ6nFIhdu+PMuJ^lDi-Oxv}2&{@{5E7s0IOX3C1 zXI&f9_EMp@$ROXVX?4wk1bPQl!LlqzR>>0{CZf7G?%q$CgF+t)hh**(3y zj=;;^ad(j?PRe!av2fo#ljKBaJ+eP?+m+K2*(yTi^*GrcML<#QZ$Q=Kx=T*z=-YwX zg)CI$2mLU~qx%>c_IlsoVXYnc_PLh?rmrQ571ZCBtsRY!6}hr=SR$)!At#yBgw(R@ z*IohN=Hx_h-u^__DtJ6?`&M~+U+-b9uXy#kS0b;FC(ZQvc@mUfacxox=C+-)2gIru zslIoU)x%!pFCe_n%1*W=tH z`%NSpiJM8Y`QHiLc8bsbBxz~z9VGA7=Qp=BO`IY=4*a`qeAE95;G=E;ZK8?o9{(Ho zlM8gL*8^V-d`DC4Ol|0Ma_+(1M_JCr8U@e4?65}lf zO^%V4M=u*pxypdjeml;pJ?l&X*N|-`y7seUZGVyMrz>dW;j7@cV95emE$E?-IEMhw zlx;I_AgOe~C)U6lWCfpJ&OLOX&nq+61K0JaD>L<89excRP!fo%tAhP=q*TC5RH1R# zfwB=Y4E9OJ);r&NVmzJ8J`&(tAgj^a4t%Lz1a##a?3L9mvK@nmdAe?Yj + +## About +The Discord Admin Cam Logs plugin logs admin cam usage to a Discord channel. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Discord from 'discord.js'; +import { discordAdminCamLogs } from 'plugins'; + +// Place the following two lines in your index.js file before using a Discord plugins. +const discordClient = new Discord.Client(); +await discordClient.login('Discord Login Token'); // insert your Discord bot's login token here. + +// Place the following lines after all of the above. +await discordAdminCamLogs( + server, + discordClient, + 'discordChannelID', + { // options - the options included below display the defaults and can be removed for simplicity. + color: 16761867 // color of embed + } +); +``` \ No newline at end of file diff --git a/plugins/discord-admin-cam-logs/index.js b/plugins/discord-admin-cam-logs/index.js new file mode 100644 index 0000000..997b5a5 --- /dev/null +++ b/plugins/discord-admin-cam-logs/index.js @@ -0,0 +1,97 @@ +import { COPYRIGHT_MESSAGE } from 'core/config'; +import { LOG_PARSER_PLAYER_POSSESS } from 'squad-server/events/log-parser'; + +export default async function plugin( + server, + discordClient, + channelID, + options = {} +) { + if (!server) + throw new Error( + 'DiscordAdminCamLogs must be provided with a reference to the server.' + ); + + if (!discordClient) + throw new Error( + 'DiscordAdminCamLogs must be provided with a Discord.js client.' + ); + + if (!channelID) + throw new Error('DiscordAdminCamLogs must be provided with a channel ID.'); + + options = { + color: 16761867, + ...options + }; + + const channel = await discordClient.channels.fetch(channelID); + + const adminsInCam = {}; + + server.on(LOG_PARSER_PLAYER_POSSESS, info => { + if (info.player === null) return; + + if (info.possessClassname === 'CameraMan') { + adminsInCam[info.player.steamID] = info.time; + + channel.send({ + embed: { + title: `Admin Entered Admin Camera`, + color: options.color, + fields: [ + { + name: "Admin's Name", + value: info.player.name, + inline: true + }, + { + name: "Admin's SteamID", + value: `[${info.player.steamID}](https://steamcommunity.com/profiles/${info.player.steamID})`, + inline: true + } + ], + timestamp: info.time.toISOString(), + footer: { + text: COPYRIGHT_MESSAGE + } + } + }); + } else { + if (!(info.player.steamID in adminsInCam)) return; + + channel.send({ + embed: { + title: `Admin Left Admin Camera`, + color: options.color, + fields: [ + { + name: "Admin's Name", + value: info.player.name, + inline: true + }, + { + name: "Admin's SteamID", + value: `[${info.player.steamID}](https://steamcommunity.com/profiles/${info.player.steamID})`, + inline: true + }, + { + name: 'Time in Admin Camera', + value: `${Math.round( + (info.time.getTime() - + adminsInCam[info.player.steamID].getTime()) / + 60000 + )} mins` + } + ], + timestamp: info.time.toISOString(), + footer: { + text: COPYRIGHT_MESSAGE + } + } + }); + + delete adminsInCam[info.player.steamID]; + } + }); +} diff --git a/plugins/discord-chat/README.md b/plugins/discord-chat/README.md new file mode 100644 index 0000000..ccc3e22 --- /dev/null +++ b/plugins/discord-chat/README.md @@ -0,0 +1,31 @@ +
+ +Logo + +#### SquadJS - Discord Chat Plugin +
+ +## About +The Discord Chat plugin streams in-game chat to a Discord channel. It is useful to allow those out of game to monitor in-game chat as well as to log to permanent form. It can be configured to limit access to specific chats. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Discord from 'discord.js'; +import { discordChat } from 'plugins'; + +// Place the following two lines in your index.js file before using an Discord plugins. +const discordClient = new Discord.Client(); +await discordClient.login('Discord Login Token'); // insert your Discord bot's login token here. + +// Place the following lines after all of the above. +await discordChat( + server, + discordClient, + 'discordChannelID', + { // options - the options included below display the defaults and can be removed for simplicity. + ignoreChats: ['ChatSquad', 'ChatAdmin'], // an array of chats to not display. + color: 16761867 // color of embed + } +); +``` diff --git a/plugins/discord-chat/index.js b/plugins/discord-chat/index.js new file mode 100644 index 0000000..617543d --- /dev/null +++ b/plugins/discord-chat/index.js @@ -0,0 +1,67 @@ +import { COPYRIGHT_MESSAGE } from 'core/config'; +import { RCON_CHAT_MESSAGE } from 'squad-server/events/rcon'; + +export default async function plugin( + server, + discordClient, + channelID, + options = {} +) { + if (!server) + throw new Error( + 'DiscordChat must be provided with a reference to the server.' + ); + + if (!discordClient) + throw new Error('DiscordChat must be provided with a Discord.js client.'); + + if (!channelID) + throw new Error('DiscordChat must be provided with a channel ID.'); + + const ignoreChats = options.ignoreChats || ['ChatSquad', 'ChatAdmin']; + + options = { + color: 16761867, + ...options + }; + + const channel = await discordClient.channels.fetch(channelID); + + server.on(RCON_CHAT_MESSAGE, async info => { + if (ignoreChats.includes(info.chat)) return; + + const playerInfo = await server.getPlayerBySteamID(info.steamID); + + channel.send({ + embed: { + title: info.chat, + color: options.color, + fields: [ + { + name: 'Player', + value: playerInfo.name, + inline: true + }, + { + name: 'SteamID', + value: `[${playerInfo.steamID}](https://steamcommunity.com/profiles/${info.steamID})`, + inline: true + }, + { + name: 'Team & Squad', + value: `Team: ${playerInfo.teamID}, Squad: ${playerInfo.squadID || + 'Unassigned'}` + }, + { + name: 'Message', + value: `${info.message}` + } + ], + timestamp: info.time.toISOString(), + footer: { + text: COPYRIGHT_MESSAGE + } + } + }); + }); +} diff --git a/plugins/discord-debug/README.md b/plugins/discord-debug/README.md new file mode 100644 index 0000000..e7f053d --- /dev/null +++ b/plugins/discord-debug/README.md @@ -0,0 +1,34 @@ +
+ +Logo + +#### SquadJS - Discord Debug +
+ +## About +The Discord Debug plugin logs all server events in a raw format for monitoring/debugging/testing purposes. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Discord from 'discord.js'; +import { discordDebug } from 'plugins'; + +// Import the events you wish to log in your index.js file. A full list can be found in the directory specified below. +import { + LOG_PARSER_PLAYER_CONNECTED, + LOG_PARSER_PLAYER_WOUNDED, +} from 'squad-server/events/log-parser'; + +// Place the following two lines in your index.js file before using an Discord plugins. +const discordClient = new Discord.Client(); +await discordClient.login('Discord Login Token'); // insert your Discord bot's login token here. + +// Place the following lines after all of the above. +await discordDebug( + server, + discordClient, + 'discordChannelID', + [LOG_PARSER_PLAYER_CONNECTED, LOG_PARSER_PLAYER_WOUNDED] // List the events you wish to log. +); +``` diff --git a/plugins/discord-debug/index.js b/plugins/discord-debug/index.js new file mode 100644 index 0000000..de63ae1 --- /dev/null +++ b/plugins/discord-debug/index.js @@ -0,0 +1,25 @@ +export default async function plugin( + server, + discordClient, + channelID, + events = [] +) { + if (!server) + throw new Error( + 'DiscordDebug must be provided with a reference to the server.' + ); + + if (!discordClient) + throw new Error('DiscordDebug must be provided with a Discord.js client.'); + + if (!channelID) + throw new Error('DicordDebug must be provided with a channel ID.'); + + const channel = await discordClient.channels.fetch(channelID); + + for (const event of events) { + server.on(event, info => { + channel.send(`\`\`\`${JSON.stringify(info, null, 2)}\`\`\``); + }); + } +} diff --git a/plugins/discord-server-status/README.md b/plugins/discord-server-status/README.md new file mode 100644 index 0000000..8036827 --- /dev/null +++ b/plugins/discord-server-status/README.md @@ -0,0 +1,30 @@ +
+ +Logo + +#### SquadJS - Discord Server Status +
+ +## About +Display a server status embed that can be updated by clicking the refresh react. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Discord from 'discord.js'; +import { discordServerStatus } from 'plugins'; + +// Place the following two lines in your index.js file before using an Discord plugins. +const discordClient = new Discord.Client(); +await discordClient.login('Discord Login Token'); // insert your Discord bot's login token here. + +// Place the following lines after all of the above. +await discordServerStatus( + server, + discordClient, + { // options - the options included below display the defaults and can be removed for simplicity. + color: 16761867, // color of embed + command: '!server' // command used to send message + } +); +``` diff --git a/plugins/discord-server-status/index.js b/plugins/discord-server-status/index.js new file mode 100644 index 0000000..6a417af --- /dev/null +++ b/plugins/discord-server-status/index.js @@ -0,0 +1,80 @@ +import { COPYRIGHT_MESSAGE } from 'core/config'; + +function makeEmbed(server, options) { + let players = `${server.a2sPlayerCount}`; + if (server.publicQueue + server.reserveQueue > 0) + players += ` (+${server.publicQueue + server.reserveQueue})`; + players += ` / ${server.publicSlots}`; + if (server.reserveSlots > 0) players += ` (+${server.reserveSlots})`; + + return { + embed: { + title: server.serverName, + color: options.color, + fields: [ + { + name: 'Players', + value: `\`\`\`${players}\`\`\`` + }, + { + name: 'Current Layer', + value: `\`\`\`${server.currentLayer}\`\`\``, + inline: true + }, + { + name: 'Next Layer', + value: `\`\`\`${server.nextLayer || 'Unknown'}\`\`\``, + inline: true + } + ], + timestamp: new Date().toISOString(), + footer: { + text: `Server Status by ${COPYRIGHT_MESSAGE}` + } + } + }; +} + +export default async function plugin(server, discordClient, options = {}) { + if (!server) + throw new Error( + 'DiscordDebug must be provided with a reference to the server.' + ); + + if (!discordClient) + throw new Error('DiscordDebug must be provided with a Discord.js client.'); + + options = { + color: 16761867, + command: '!server', + ...options + }; + + discordClient.on('message', async message => { + if (message.content !== options.command) return; + + const serverStatus = await message.channel.send(makeEmbed(server, options)); + + await serverStatus.react('🔄'); + }); + + discordClient.on('messageReactionAdd', async reaction => { + // confirm it's a status message + if ( + reaction.message.embeds.length !== 1 || + reaction.message.embeds[0].footer.text !== + `Server Status by ${COPYRIGHT_MESSAGE}` + ) + return; + + // ignore bots reacting + if (reaction.count === 1) return; + + // remove reaction and readd it + await reaction.remove(); + await reaction.message.react('🔄'); + + // update the message + await reaction.message.edit(makeEmbed(server, options)); + }); +} diff --git a/plugins/discord-teamkill/README.md b/plugins/discord-teamkill/README.md new file mode 100644 index 0000000..1dd874a --- /dev/null +++ b/plugins/discord-teamkill/README.md @@ -0,0 +1,30 @@ +
+ +Logo + +#### SquadJS - Discord Teamkill +
+ +## About +The Discord Teamkill plugin logs teamkill information to a Discord channel. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Discord from 'discord.js'; +import { discordTeamkill } from 'plugins'; + +// Place the following two lines in your index.js file before using a Discord plugins. +const discordClient = new Discord.Client(); +await discordClient.login('Discord Login Token'); // insert your Discord bot's login token here. + +// Place the following lines after all of the above. +await discordTeamkill( + server, + discordClient, + 'discordChannelID', + { // options - the options included below display the defaults and can be removed for simplicity. + color: 16761867 // color of embed + } +); +``` diff --git a/plugins/discord-teamkill/index.js b/plugins/discord-teamkill/index.js new file mode 100644 index 0000000..ba358ea --- /dev/null +++ b/plugins/discord-teamkill/index.js @@ -0,0 +1,74 @@ +import { COPYRIGHT_MESSAGE } from 'core/config'; +import { LOG_PARSER_TEAMKILL } from 'squad-server/events/log-parser'; + +export default async function plugin( + server, + discordClient, + channelID, + options = {} +) { + if (!server) + throw new Error( + 'DiscordTeamKill must be provided with a reference to the server.' + ); + + if (!discordClient) + throw new Error( + 'DiscordTeamkill must be provided with a Discord.js client.' + ); + + if (!channelID) + throw new Error('DiscordTeamkill must be provided with a channel ID.'); + + options = { + color: 16761867, + ...options + }; + + const channel = await discordClient.channels.fetch(channelID); + + server.on(LOG_PARSER_TEAMKILL, info => { + if (!info.attacker) return; + + channel.send({ + embed: { + title: `Teamkill: ${info.attacker.name}`, + color: options.color, + fields: [ + { + name: "Attacker's Name", + value: info.attacker.name, + inline: true + }, + { + name: "Attacker's SteamID", + value: `[${info.attacker.steamID}](https://steamcommunity.com/profiles/${info.attacker.steamID})`, + inline: true + }, + { + name: 'Weapon', + value: info.weapon + }, + { + name: "Victim's Name", + value: info.victim.name, + inline: true + }, + { + name: "Victim's SteamID", + value: `[${info.victim.steamID}](https://steamcommunity.com/profiles/${info.victim.steamID})`, + inline: true + }, + { + name: 'Squad Community Ban List', + value: `[Attacker's Bans](https://squad-community-ban-list.com/search/${info.attacker.steamID})\n[Victims's Bans](https://squad-community-ban-list.com/search/${info.victim.steamID})` + } + ], + timestamp: info.time.toISOString(), + footer: { + text: COPYRIGHT_MESSAGE + } + } + }); + }); +} diff --git a/plugins/index.js b/plugins/index.js new file mode 100644 index 0000000..3a494ee --- /dev/null +++ b/plugins/index.js @@ -0,0 +1,25 @@ +import discordAdminCamLogs from './discord-admin-cam-logs/index.js'; +import discordChat from './discord-chat/index.js'; +import discordDebug from './discord-debug/index.js'; +import discordServerStatus from './discord-server-status/index.js'; +import discordTeamkill from './discord-teamkill/index.js'; +import influxdbLog from './influxdb-log/index.js'; +import influxdbLogDefaultSchema from './influxdb-log/schema.js'; +import mapvote from './mapvote/index.js'; +import mysqlLog from './mysql-log/index.js'; +import seedingMessage from './seeding-message/index.js'; +import teamRandomizer from './team-randomizer/index.js'; + +export { + discordAdminCamLogs, + discordChat, + discordDebug, + discordServerStatus, + discordTeamkill, + influxdbLog, + influxdbLogDefaultSchema, + mapvote, + mysqlLog, + seedingMessage, + teamRandomizer +}; diff --git a/plugins/influxdb-log/README.md b/plugins/influxdb-log/README.md new file mode 100644 index 0000000..a171655 --- /dev/null +++ b/plugins/influxdb-log/README.md @@ -0,0 +1,30 @@ +
+ +Logo + +#### SquadJS - InfluxDB Log +
+ +## About +The InfluxDB log plugin logs event information into InfluxDB to allow it to be queried for analysis, monitoring, or stat tracking.. Works well with Grafana. + +## Requirements + * InfluxDB database. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import Influx from 'influx'; +import { influxdbLog, influxdbLogDefaultSchema } from 'plugins'; + +// Place the following lines in your index.js file. Replace the credentials with the credentials of your InfluxDB database. +const influxDB = new Influx.InfluxDB({ +host: 'host', +port: 8086, +username: 'squadjs', +password: 'password', +database: 'squadjs', +schema: influxdbLogDefaultSchema +}); +influxdbLog(server, influxDB); +``` diff --git a/plugins/influxdb-log/index.js b/plugins/influxdb-log/index.js new file mode 100644 index 0000000..c91a983 --- /dev/null +++ b/plugins/influxdb-log/index.js @@ -0,0 +1,125 @@ +import { + LOG_PARSER_NEW_GAME, + LOG_PARSER_PLAYER_DIED, + LOG_PARSER_PLAYER_WOUNDED, + LOG_PARSER_PLAYER_REVIVED, + LOG_PARSER_SERVER_TICK_RATE +} from 'squad-server/events/log-parser'; + +import { SERVER_PLAYERS_UPDATED } from 'squad-server/events/server'; + +export default function influxdbLog(server, influxDB, options = {}) { + if (!server) + throw new Error( + 'InfluxDBLog must be provided with a reference to the server.' + ); + + if (!influxDB) + throw new Error('InfluxDBLog must be provided with a InfluxDB connection.'); + + let points = []; + setInterval(() => { + influxDB.writePoints(points); + points = []; + }, options.writeInterval || 30 * 1000); + + server.on(LOG_PARSER_SERVER_TICK_RATE, info => { + points.push({ + measurement: 'ServerTickRate', + tags: { server: server.id }, + fields: { tick_rate: info.tickRate }, + timestamp: info.time + }); + }); + + server.on(SERVER_PLAYERS_UPDATED, players => { + points.push({ + measurement: 'PlayerCount', + tags: { server: server.id }, + fields: { player_count: players.length }, + timestamp: new Date() + }); + }); + + server.on(LOG_PARSER_NEW_GAME, info => { + points.push({ + measurement: 'Match', + tags: { server: server.id }, + fields: { + dlc: info.dlc, + mapClassname: info.mapClassname, + layerClassname: info.layerClassname, + map: info.map, + layer: info.layer + }, + timestamp: info.time + }); + }); + + server.on(LOG_PARSER_PLAYER_WOUNDED, info => { + points.push({ + measurement: 'PlayerWounded', + tags: { server: server.id }, + fields: { + victim: info.victim ? info.victim.steamID : null, + victimName: info.victim ? info.victim.name : null, + victimTeamID: info.victim ? info.victim.teamID : null, + victimSquadID: info.victim ? info.victim.squadID : null, + attacker: info.attacker ? info.attacker.steamID : null, + attackerName: info.attacker ? info.attacker.name : null, + attackerTeamID: info.attacker ? info.attacker.teamID : null, + attackerSquadID: info.attacker ? info.attacker.squadID : null, + damage: info.damage, + weapon: info.weapon, + teamkill: info.teamkill + }, + timestamp: info.time + }); + }); + + server.on(LOG_PARSER_PLAYER_DIED, info => { + points.push({ + measurement: 'PlayerDied', + tags: { server: server.id }, + fields: { + victim: info.victim ? info.victim.steamID : null, + victimName: info.victim ? info.victim.name : null, + victimTeamID: info.victim ? info.victim.teamID : null, + victimSquadID: info.victim ? info.victim.squadID : null, + attacker: info.attacker ? info.attacker.steamID : null, + attackerName: info.attacker ? info.attacker.name : null, + attackerTeamID: info.attacker ? info.attacker.teamID : null, + attackerSquadID: info.attacker ? info.attacker.squadID : null, + damage: info.damage, + weapon: info.weapon, + teamkill: info.teamkill + }, + timestamp: info.time + }); + }); + + server.on(LOG_PARSER_PLAYER_REVIVED, info => { + points.push({ + measurement: 'Revived', + tags: { server: server.id }, + fields: { + victim: info.victim ? info.victim.steamID : null, + victimName: info.victim ? info.victim.name : null, + victimTeamID: info.victim ? info.victim.teamID : null, + victimSquadID: info.victim ? info.victim.squadID : null, + attacker: info.attacker ? info.attacker.steamID : null, + attackerName: info.attacker ? info.attacker.name : null, + attackerTeamID: info.attacker ? info.attacker.teamID : null, + attackerSquadID: info.attacker ? info.attacker.squadID : null, + damage: info.damage, + weapon: info.weapon, + teamkill: info.teamkill, + reviver: info.reviver ? info.reviver.steamID : null, + reviverName: info.reviver ? info.reviver.name : null, + reviverTeamID: info.reviver ? info.reviver.teamID : null, + reviverSquadID: info.reviver ? info.reviver.squadID : null + }, + timestamp: info.time + }); + }); +} diff --git a/plugins/influxdb-log/schema.js b/plugins/influxdb-log/schema.js new file mode 100644 index 0000000..37010fa --- /dev/null +++ b/plugins/influxdb-log/schema.js @@ -0,0 +1,84 @@ +import Influx from 'influx'; + +export default [ + { + measurement: 'ServerTickRate', + fields: { + tick_rate: Influx.FieldType.FLOAT + }, + tags: ['server'] + }, + { + measurement: 'PlayerCount', + fields: { + player_count: Influx.FieldType.INTEGER + }, + tags: ['server'] + }, + { + measurement: 'Match', + fields: { + dlc: Influx.FieldType.STRING, + mapClassname: Influx.FieldType.STRING, + layerClassname: Influx.FieldType.STRING, + map: Influx.FieldType.STRING, + layer: Influx.FieldType.STRING + }, + tags: ['server'] + }, + { + measurement: 'PlayerWounded', + fields: { + victim: Influx.FieldType.STRING, + victimName: Influx.FieldType.STRING, + victimTeamID: Influx.FieldType.INTEGER, + victimSquadID: Influx.FieldType.INTEGER, + attacker: Influx.FieldType.STRING, + attackerName: Influx.FieldType.STRING, + attackerTeamID: Influx.FieldType.INTEGER, + attackerSquadID: Influx.FieldType.INTEGER, + damage: Influx.FieldType.STRING, + weapon: Influx.FieldType.STRING, + teamkill: Influx.FieldType.BOOLEAN + }, + tags: ['server'] + }, + { + measurement: 'PlayerDied', + fields: { + victim: Influx.FieldType.STRING, + victimName: Influx.FieldType.STRING, + victimTeamID: Influx.FieldType.INTEGER, + victimSquadID: Influx.FieldType.INTEGER, + attacker: Influx.FieldType.STRING, + attackerName: Influx.FieldType.STRING, + attackerTeamID: Influx.FieldType.INTEGER, + attackerSquadID: Influx.FieldType.INTEGER, + damage: Influx.FieldType.STRING, + weapon: Influx.FieldType.STRING, + teamkill: Influx.FieldType.BOOLEAN + }, + tags: ['server'] + }, + { + measurement: 'PlayerRevived', + fields: { + victim: Influx.FieldType.STRING, + victimName: Influx.FieldType.STRING, + victimTeamID: Influx.FieldType.INTEGER, + victimSquadID: Influx.FieldType.INTEGER, + attacker: Influx.FieldType.STRING, + attackerName: Influx.FieldType.STRING, + attackerTeamID: Influx.FieldType.INTEGER, + attackerSquadID: Influx.FieldType.INTEGER, + damage: Influx.FieldType.STRING, + weapon: Influx.FieldType.STRING, + teamkill: Influx.FieldType.BOOLEAN, + reviver: Influx.FieldType.STRING, + reviverName: Influx.FieldType.STRING, + reviverTeamID: Influx.FieldType.INTEGER, + reviverSquadID: Influx.FieldType.INTEGER + }, + tags: ['server'] + } +]; diff --git a/plugins/mapvote/README.md b/plugins/mapvote/README.md new file mode 100644 index 0000000..3cb32c0 --- /dev/null +++ b/plugins/mapvote/README.md @@ -0,0 +1,36 @@ +
+ +Logo + +#### SquadJS - Mapvote +
+ +## About +The mapvote plugin uses a "did you mean?" system to allow for players to vote for a wide range of layers. Command information for using the plugin in-game can be accessed by typing `!mapvote help` into in-game chat. + +## Installation +Place the following into your `index.js` file. The filters / options below are optional and can be removed without affecting functionality, however, the default options are shown for reference. +```js +mapvote( + server, + { // layer filter to limit layers - remove or edit the below options to adjust the filter. Leaving this blank will remove all training layers as a default. + whitelistedLayers: ['layer name'], // an array of layers that can be played + blacklistedLayers: ['layer name'], // an array of layers that cannot be played + whitelistedMaps: ['map name'], // an array of maps that can be played + blacklistedMaps: ['map name'], // an array of maps that cannot be played - default removes training maps + whitelistedGamemodes: ['gamemode name'], // an array of gamemodes that can be played + blacklistedGamemodes: ['gamemode name'], // an array of gamemodes that cannot be played + flagCountMin: 4, // the minimum number of flags the layer must have + flagCountMax: 7, // the maximum number of flags the layer must have + hasCommander: true, // has commander enabled + hasTanks: true, // has tanks + hasHelicopters: true // has helicopters + }, + { // options - remove or edit the below options. The defaults are shown. + command: '!mapvote', // the command name used to access the vote + layerTolerance: 4, // the number of other layers that must be played before the layer can be revoted for + mapTolerance: 2, // the number of other maps that must be played before the layer can be revoted for + timeTolerance: 5 * 60 * 60 * 1000 // the time that must pass before the above are ignored + } +); +``` diff --git a/plugins/mapvote/index.js b/plugins/mapvote/index.js new file mode 100644 index 0000000..cb67b9b --- /dev/null +++ b/plugins/mapvote/index.js @@ -0,0 +1,145 @@ +import didYouMean from 'didyoumean'; + +import { COPYRIGHT_MESSAGE } from 'core/config'; + +import SquadLayers from 'connectors/squad-layers'; + +import { RCON_CHAT_MESSAGE } from 'squad-server/events/rcon'; +import { SERVER_LAYER_CHANGE } from 'squad-server/events/server'; + +export default function(server, layerFilter = {}, options = {}) { + if (!server) + throw new Error('Mapvote must be provided with a reference to the server.'); + + const command = options.command || '!mapvote'; + const commandRegex = new RegExp(`^${command} ([A-z0-9'_ ]*)`, 'i'); + const rotation = SquadLayers.getFilteredLayers(layerFilter); + + let voteCounts = {}; + let votes = {}; + let currentWinner = null; + + function getResults() { + let results; + + results = Object.keys(voteCounts).map(layer => { + return { + layer: layer, + voteCount: voteCounts[layer] + }; + }); + + results = results.sort((a, b) => { + if (a.voteCount > b.voteCount) return -1; + if (a.voteCount < b.voteCount) return 1; + else return Math.random() < 0.5 ? 1 : -1; + }); + + return results; + } + + server.on(SERVER_LAYER_CHANGE, () => { + voteCounts = {}; + votes = {}; + currentWinner = null; + }); + + server.on(RCON_CHAT_MESSAGE, info => { + const match = info.message.match(commandRegex); + if (!match) return; + + if (match[1] === 'help') { + // show help options + server.rcon.execute( + `AdminWarn "${info.steamID}" You may use any of the following commands in chat:` + ); + server.rcon.execute( + `AdminWarn "${info.steamID}" !mapvote results - View the current vote counts.` + ); + server.rcon.execute( + `AdminWarn "${info.steamID}" !mapvote - Vote for the specified layer.` + ); + server.rcon.execute( + `AdminWarn "${info.steamID}" When inputting a layer name, we autocorrect any miss spelling.` + ); + } else if (match[1] === 'results') { + // display results to player + const results = getResults(); + + if (results.length === 0) { + server.rcon.execute( + `AdminWarn "${info.steamID}" No one has voted yet.` + ); + } else { + server.rcon.execute( + `AdminWarn "${info.steamID}" The current vote counts are as follows:` + ); + for (const result of results) { + if (result.voteCount === 0) continue; + + server.rcon.execute( + `AdminWarn "${info.steamID}" ${result.layer} - ${ + result.voteCount + } vote${result.voteCount > 1 ? 's' : ''}.` + ); + } + } + } else { + const layer = didYouMean(match[1], SquadLayers.getLayerNames()); + + // check layer is valid + if (layer === null) { + server.rcon.execute( + `AdminWarn "${info.steamID}" ${match[1]} is not a valid layer name.` + ); + return; + } + + if (!rotation.includes(layer)) { + server.rcon.execute( + `AdminWarn "${info.steamID}" ${layer} is not in the rotation.` + ); + return; + } + + if ( + !SquadLayers.isHistoryCompliant(server.layerHistory, layer, options) + ) { + server.rcon.execute( + `AdminWarn "${info.steamID}" ${layer} has been played too recently.` + ); + return; + } + + // remove existing votes + if (info.steamID in votes) voteCounts[votes[info.steamID]]--; + + // add new vote + if (layer in voteCounts) voteCounts[layer]++; + else voteCounts[layer] = 1; + + // save what layer they votes for + votes[info.steamID] = layer; + + // info them of their vote + server.rcon.execute( + `AdminWarn "${info.steamID}" You voted for ${layer}.` + ); + server.rcon.execute( + `AdminWarn "${info.steamID}" Powered by: ${COPYRIGHT_MESSAGE}` + ); + + // check for new winner + const newWinner = getResults()[0].layer; + + if (currentWinner !== newWinner) { + server.rcon.execute(`AdminSetNextMap ${newWinner}`); + server.rcon.execute(`AdminBroadcast New Map Vote Winner: ${newWinner}`); + server.rcon.execute( + `AdminBroadcast Participate in the map vote by typing "!mapvote help" in chat.` + ); + currentWinner = newWinner; + } + } + }); +} diff --git a/plugins/mysql-log/README.md b/plugins/mysql-log/README.md new file mode 100644 index 0000000..4646545 --- /dev/null +++ b/plugins/mysql-log/README.md @@ -0,0 +1,32 @@ +
+ +Logo + +#### SquadJS - MySQL Log +
+ +## About +The MySQL log plugin logs event information into a MySQL database to allow it to be queried for analysis, monitoring, or stat tracking. Works well with Grafana. + +## Requirements + * MySQL database. + * Execute the [`mysql-schema.sql`](https://github.com/Thomas-Smyth/SquadJS/blob/master/plugins/mysql-log/mysql-schema.sql) in the database to setup the tables, etc. + * Add your server to the database... `INSERT INTO Server (name) VALUES ("[EU] The Coalition");` Please make sure the inserted ID is the same as that of the server in the `index.js` file. + +## Installation +```js +// Place the following two lines at the top of your index.js file. +import mysql from 'mysql'; +import { mysqlLog } from 'plugins'; + +// Place the following lines in your index.js file. Replace the credentials with the credentials of your MySQL database. +const mysqlPool = mysql.createPool({ +connectionLimit: 10, +host: 'host', +port: 3306, +user: 'squadjs', +password: 'password', +database: 'squadjs' +}); +mysqlLog(server, mysqlPool); +``` diff --git a/plugins/mysql-log/index.js b/plugins/mysql-log/index.js new file mode 100644 index 0000000..59af36d --- /dev/null +++ b/plugins/mysql-log/index.js @@ -0,0 +1,107 @@ +import { + LOG_PARSER_NEW_GAME, + LOG_PARSER_PLAYER_WOUNDED, + LOG_PARSER_PLAYER_DIED, + LOG_PARSER_PLAYER_REVIVED, + LOG_PARSER_SERVER_TICK_RATE +} from 'squad-server/events/log-parser'; +import { SERVER_PLAYERS_UPDATED } from 'squad-server/events/server'; + +export default function mysqlLog(server, mysqlPool) { + if (!server) + throw new Error( + 'MySQLLog must be provided with a reference to the server.' + ); + + if (!mysqlPool) + throw new Error('MySQLLog must be provided with a mysql Pool.'); + + server.on(LOG_PARSER_SERVER_TICK_RATE, info => { + mysqlPool.query( + 'INSERT INTO ServerTickRate(time, server, tick_rate) VALUES (?,?,?)', + [info.time, server.id, info.tickRate] + ); + }); + + server.on(SERVER_PLAYERS_UPDATED, players => { + mysqlPool.query( + 'INSERT INTO PlayerCount(time, server, player_count) VALUES (NOW(),?,?)', + [server.id, players.length] + ); + }); + + server.on(LOG_PARSER_NEW_GAME, info => { + mysqlPool.query('call NewMatch(?,?,?,?,?,?,?)', [ + server.id, + info.time, + info.dlc, + info.mapClassname, + info.layerClassname, + info.map, + info.layer + ]); + }); + + server.on(LOG_PARSER_PLAYER_WOUNDED, info => { + mysqlPool.query('call InsertPlayerWounded(?,?,?,?,?,?,?,?,?,?,?,?,?)', [ + server.id, + info.time, + info.victim ? info.victim.steamID : null, + info.victim ? info.victim.name : null, + info.victim ? info.victim.teamID : null, + info.victim ? info.victim.squadID : null, + info.attacker ? info.attacker.steamID : null, + info.attacker ? info.attacker.name : null, + info.attacker ? info.attacker.teamID : null, + info.attacker ? info.attacker.squadID : null, + info.damage, + info.weapon, + info.teamkill + ]); + }); + + server.on(LOG_PARSER_PLAYER_DIED, info => { + mysqlPool.query('call InsertPlayerDied(?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [ + server.id, + info.time, + info.woundTime, + info.victim ? info.victim.steamID : null, + info.victim ? info.victim.name : null, + info.victim ? info.victim.teamID : null, + info.victim ? info.victim.squadID : null, + info.attacker ? info.attacker.steamID : null, + info.attacker ? info.attacker.name : null, + info.attacker ? info.attacker.teamID : null, + info.attacker ? info.attacker.squadID : null, + info.damage, + info.weapon, + info.teamkill + ]); + }); + + server.on(LOG_PARSER_PLAYER_REVIVED, info => { + mysqlPool.query( + 'call InsertPlayerRevived(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', + [ + server.id, + info.time, + info.woundTime, + info.victim ? info.victim.steamID : null, + info.victim ? info.victim.name : null, + info.victim ? info.victim.teamID : null, + info.victim ? info.victim.squadID : null, + info.attacker ? info.attacker.steamID : null, + info.attacker ? info.attacker.name : null, + info.attacker ? info.attacker.teamID : null, + info.attacker ? info.attacker.squadID : null, + info.damage, + info.weapon, + info.teamkill, + info.reviver ? info.reviver.steamID : null, + info.reviver ? info.reviver.name : null, + info.reviver ? info.reviver.teamID : null, + info.reviver ? info.reviver.squadID : null + ] + ); + }); +} diff --git a/plugins/mysql-log/mysql-schema.sql b/plugins/mysql-log/mysql-schema.sql new file mode 100644 index 0000000..4dfff4b --- /dev/null +++ b/plugins/mysql-log/mysql-schema.sql @@ -0,0 +1,361 @@ +DROP DATABASE squadjs; + +CREATE DATABASE IF NOT EXISTS squadjs; +USE squadjs; + +CREATE USER IF NOT EXISTS squadjs IDENTIFIED BY 'password'; +GRANT ALL PRIVILEGES ON squadjs.* TO squadjs; + +CREATE TABLE IF NOT EXISTS `Server` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `name` VARCHAR(255) +); + +CREATE TABLE IF NOT EXISTS `ServerTickRate` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `time` TIMESTAMP NOT NULL, + `tick_rate` FLOAT NOT NULL, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `PlayerCount` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `time` TIMESTAMP NOT NULL, + `player_count` FLOAT NOT NULL, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `Match` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `dlc` VARCHAR(255), + `mapClassname` VARCHAR(255), + `layerClassname` VARCHAR(255), + `map` VARCHAR(255), + `layer` VARCHAR(255), + `startTime` TIMESTAMP NOT NULL, + `endTime` TIMESTAMP NULL DEFAULT NULL, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `SteamUser` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `steamID` VARCHAR(17) NOT NULL UNIQUE, + `lastName` VARCHAR(255) +); + +CREATE TABLE IF NOT EXISTS `PlayerWounded` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `time` TIMESTAMP NOT NULL, + `victim` VARCHAR(255), + `victimName` VARCHAR(255), + `victimTeamID` INT, + `victimSquadID` INT, + `attacker` VARCHAR(255), + `attackerName` VARCHAR(255), + `attackerTeamID` INT, + `attackerSquadID` INT, + `damage` FLOAT, + `weapon` VARCHAR(255), + `teamkill` BOOLEAN, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE, + FOREIGN KEY (`victim`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE, + FOREIGN KEY (`attacker`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `PlayerDied` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `time` TIMESTAMP NOT NULL, + `woundTime` TIMESTAMP NOT NULL, + `victim` VARCHAR(255), + `victimName` VARCHAR(255), + `victimTeamID` INT, + `victimSquadID` INT, + `attacker` VARCHAR(255), + `attackerName` VARCHAR(255), + `attackerTeamID` INT, + `attackerSquadID` INT, + `damage` FLOAT, + `weapon` VARCHAR(255), + `teamkill` BOOLEAN, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE, + FOREIGN KEY (`victim`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE, + FOREIGN KEY (`attacker`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `PlayerRevived` ( + `id` INT PRIMARY KEY AUTO_INCREMENT, + `server` INT NOT NULL, + `time` TIMESTAMP NOT NULL, + `woundTime` TIMESTAMP NOT NULL, + `victim` VARCHAR(255), + `victimName` VARCHAR(255), + `victimTeamID` INT, + `victimSquadID` INT, + `attacker` VARCHAR(255), + `attackerName` VARCHAR(255), + `attackerTeamID` INT, + `attackerSquadID` INT, + `damage` FLOAT, + `weapon` VARCHAR(255), + `teamkill` BOOLEAN, + `reviver` VARCHAR(255), + `reviverName` VARCHAR(255), + `reviverTeamID` INT, + `reviverSquadID` INT, + + FOREIGN KEY (`server`) REFERENCES `Server`(`id`) + ON DELETE CASCADE, + FOREIGN KEY (`victim`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE, + FOREIGN KEY (`attacker`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE, + FOREIGN KEY (`reviver`) REFERENCES `SteamUser`(`steamID`) + ON DELETE CASCADE +); + +DROP PROCEDURE IF EXISTS `NewMatch`; +DELIMITER # +CREATE PROCEDURE `NewMatch` ( + IN `p_server` INT, + IN `p_time` TIMESTAMP, + IN `p_dlc` VARCHAR(255), + IN `p_mapClassname` VARCHAR(255), + IN `p_layerClassname` VARCHAR(255), + IN `p_map` VARCHAR(255), + IN `p_layer` VARCHAR(255) +) +BEGIN + UPDATE `Match` SET `endTime` = `p_time` WHERE `server` = `p_server` AND `endTime` IS NULL; + INSERT INTO `Match` ( + `server`, + `startTime`, + `dlc`, + `mapClassname`, + `layerClassname`, + `map`, + `layer` + ) VALUES ( + `p_server`, + `p_time`, + `p_dlc`, + `p_mapClassname`, + `p_layerClassname`, + `p_map`, + `p_layer` + ); +END# +DELIMITER ; + +DROP PROCEDURE IF EXISTS `InsertPlayerWounded`; +DELIMITER # +CREATE PROCEDURE `InsertPlayerWounded` ( + IN `p_server` INT, + IN `p_time` TIMESTAMP, + IN `P_victim` VARCHAR(255), + IN `p_victimName` VARCHAR(255), + IN `p_victimTeamID` INT, + IN `p_victimSquadID` INT, + IN `p_attacker` VARCHAR(255), + IN `p_attackerName` VARCHAR(255), + IN `p_attackerTeamID` INT, + IN `p_attackerSquadID` INT, + IN `p_damage` FLOAT, + IN `p_weapon` VARCHAR(255), + IN `p_teamkill` BOOLEAN +) +BEGIN + -- insert players into SteamUsers table + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_victim`, `p_victimName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_victimName`; + + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_attacker`, `p_attackerName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_attackerName`; + + -- create wound record + INSERT INTO `PlayerWounded` ( + `server`, + `time`, + `victim`, + `victimName`, + `victimTeamID`, + `victimSquadID`, + `attacker`, + `attackerName`, + `attackerTeamID`, + `attackerSquadID`, + `damage`, + `weapon`, + `teamkill` + ) VALUES ( + `p_server`, + `p_time`, + `p_victim`, + `p_victimName`, + `p_victimTeamID`, + `p_victimSquadID`, + `p_attacker`, + `p_attackerName`, + `p_attackerTeamID`, + `p_attackerSquadID`, + `p_damage`, + `p_weapon`, + `p_teamkill` + ); +END# +DELIMITER ; + +DROP PROCEDURE IF EXISTS `InsertPlayerDied`; +DELIMITER # +CREATE PROCEDURE `InsertPlayerDied` ( + IN `p_server` INT, + IN `p_time` TIMESTAMP, + IN `p_woundTime` TIMESTAMP, + IN `P_victim` VARCHAR(255), + IN `p_victimName` VARCHAR(255), + IN `p_victimTeamID` INT, + IN `p_victimSquadID` INT, + IN `p_attacker` VARCHAR(255), + IN `p_attackerName` VARCHAR(255), + IN `p_attackerTeamID` INT, + IN `p_attackerSquadID` INT, + IN `p_damage` FLOAT, + IN `p_weapon` VARCHAR(255), + IN `p_teamkill` BOOLEAN +) +BEGIN + -- insert players into SteamUsers table + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_victim`, `p_victimName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_victimName`; + + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_attacker`, `p_attackerName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_attackerName`; + + -- create die record + INSERT INTO `PlayerDied` ( + `server`, + `time`, + `woundTime`, + `victim`, + `victimName`, + `victimTeamID`, + `victimSquadID`, + `attacker`, + `attackerName`, + `attackerTeamID`, + `attackerSquadID`, + `damage`, + `weapon`, + `teamkill` + ) VALUES ( + `p_server`, + `p_time`, + `p_woundTime`, + `p_victim`, + `p_victimName`, + `p_victimTeamID`, + `p_victimSquadID`, + `p_attacker`, + `p_attackerName`, + `p_attackerTeamID`, + `p_attackerSquadID`, + `p_damage`, + `p_weapon`, + `p_teamkill` + ); +END# +DELIMITER ; + +DROP PROCEDURE IF EXISTS `InsertPlayerRevived`; +DELIMITER # +CREATE PROCEDURE `InsertPlayerRevived` ( + IN `p_server` INT, + IN `p_time` TIMESTAMP, + IN `p_woundTime` TIMESTAMP, + IN `P_victim` VARCHAR(255), + IN `p_victimName` VARCHAR(255), + IN `p_victimTeamID` INT, + IN `p_victimSquadID` INT, + IN `p_attacker` VARCHAR(255), + IN `p_attackerName` VARCHAR(255), + IN `p_attackerTeamID` INT, + IN `p_attackerSquadID` INT, + IN `p_damage` FLOAT, + IN `p_weapon` VARCHAR(255), + IN `p_teamkill` BOOLEAN, + IN `p_reviver` VARCHAR(255), + IN `p_reviverName` VARCHAR(255), + IN `p_reviverTeamID` VARCHAR(255), + IN `p_reviverSquadID` VARCHAR(255) +) +BEGIN + -- insert players into SteamUsers table + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_victim`, `p_victimName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_victimName`; + + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_attacker`, `p_attackerName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_attackerName`; + + INSERT INTO `SteamUser` (`steamID`, `lastName`) VALUES (`p_reviver`, `p_reviverName`) + ON DUPLICATE KEY UPDATE `lastName` = `p_reviverName`; + + -- create revive record + INSERT INTO `PlayerRevived` ( + `server`, + `time`, + `woundTime`, + `victim`, + `victimName`, + `victimTeamID`, + `victimSquadID`, + `attacker`, + `attackerName`, + `attackerTeamID`, + `attackerSquadID`, + `damage`, + `weapon`, + `teamkill`, + `reviver`, + `reviverName`, + `reviverTeamID`, + `reviverSquadID` + ) VALUES ( + `p_server`, + `p_time`, + `p_woundTime`, + `p_victim`, + `p_victimName`, + `p_victimTeamID`, + `p_victimSquadID`, + `p_attacker`, + `p_attackerName`, + `p_attackerTeamID`, + `p_attackerSquadID`, + `p_damage`, + `p_weapon`, + `p_teamkill`, + `p_reviver`, + `p_reviverName`, + `p_reviverTeamID`, + `p_reviverSquadID` + ); +END# +DELIMITER ; diff --git a/plugins/package.json b/plugins/package.json new file mode 100644 index 0000000..ca9e6d6 --- /dev/null +++ b/plugins/package.json @@ -0,0 +1,14 @@ +{ + "name": "plugins", + "version": "1.0.0", + "type": "module", + "exports": { + ".": "./index.js" + }, + "dependencies": { + "connectors": "1.0.0", + "didyoumean": "^1.2.1", + "influx": "^5.5.1", + "squad-server": "1.0.0" + } +} diff --git a/plugins/seeding-message/README.md b/plugins/seeding-message/README.md new file mode 100644 index 0000000..4a0945b --- /dev/null +++ b/plugins/seeding-message/README.md @@ -0,0 +1,27 @@ +
+ +Logo + +#### SquadJS - Seeding Message +
+ +## About +Displays a seeding message when player count is below a certain level and displays a live message when player count is slightly above that level. + +## Installation +Place the following into your `index.js` file. The options below are optional and can be removed without affecting functionality, however, the default options are shown for reference. +```js +seedingMessage( + server, + { // options - remove or edit the below options. The defaults are shown. + mode: 'interval', // interval displays every x seconds, onjoin displays x seconds after a player joins the server + interval: 150 * 1000, // how often the seeding message is displayed in milliseconds in interval mode + delay: 45 * 1000, // delay between player connecting and seeding message in onjoin mode + seedingThreshold: 50, // seeding messages are displayed when player count is below this number + seedingMessage: 'Seeding Rules Active! Fight only over the middle flags! No FOB Hunting!', // message to display in seeding mode + liveEnabled: true, // display live message + liveThreshold: 2, // live message will display when player count exceeds seedingThreshold by up to this amount + liveMessage: 'Live!' // message to display when server is live + } +); +``` diff --git a/plugins/seeding-message/index.js b/plugins/seeding-message/index.js new file mode 100644 index 0000000..5f0f8b1 --- /dev/null +++ b/plugins/seeding-message/index.js @@ -0,0 +1,62 @@ +import { LOG_PARSER_PLAYER_CONNECTED } from 'squad-server/events/log-parser'; + +export default function(server, options = {}) { + if (!server) + throw new Error( + 'SeedingMessage must be provided with a reference to the server.' + ); + + const mode = options.mode || 'interval'; + const interval = options.interval || 150 * 1000; + const delay = options.delay || 45 * 1000; + + const seedingThreshold = options.seedingThreshold || 50; + const seedingMessage = + options.seedingMessage || + 'Seeding Rules Active! Fight only over the middle flags! No FOB Hunting!'; + + const liveEnabled = options.liveEnabled || true; + const liveThreshold = seedingThreshold + (options.liveThreshold || 2); + const liveMessage = options.liveMessage || 'Live!'; + + switch (mode) { + case 'interval': + setInterval(() => { + const playerCount = server.players.length; + + if (playerCount === 0) return; + + if (playerCount < seedingThreshold) { + server.rcon.execute(`AdminBroadcast ${seedingMessage}`); + return; + } + + if (liveEnabled && playerCount < liveThreshold) { + server.rcon.execute(`AdminBroadcast ${liveMessage}`); + } + }, interval); + + break; + case 'onjoin': + server.on(LOG_PARSER_PLAYER_CONNECTED, () => { + setTimeout(() => { + const playerCount = server.players.length; + + if (playerCount === 0) return; + + if (playerCount < seedingThreshold) { + server.rcon.execute(`AdminBroadcast ${seedingMessage}`); + return; + } + + if (liveEnabled && playerCount < liveThreshold) { + server.rcon.execute(`AdminBroadcast ${liveMessage}`); + } + }, delay); + }); + + break; + default: + throw new Error('Invalid SeedingMessage mode.'); + } +} diff --git a/plugins/team-randomizer/README.md b/plugins/team-randomizer/README.md new file mode 100644 index 0000000..a8af91d --- /dev/null +++ b/plugins/team-randomizer/README.md @@ -0,0 +1,20 @@ +
+ +Logo + +#### SquadJS - Team Randomizer +
+ +## About +The team randomizer randomly moves players to a team when `!randomize` is called in admin chat. + +## Installation +Place the following into your `index.js` file. The options below are optional and can be removed without affecting functionality, however, the default options are shown for reference. +```js +teamRandomizer( + server, + { // options - remove or edit the below options. The defaults are shown. + command: '!randomize', // the command name used to access the feature + } +); +``` diff --git a/plugins/team-randomizer/index.js b/plugins/team-randomizer/index.js new file mode 100644 index 0000000..6dfb69a --- /dev/null +++ b/plugins/team-randomizer/index.js @@ -0,0 +1,51 @@ +import { RCON_CHAT_MESSAGE } from 'squad-server/events/rcon'; + +function shuffle(array) { + let currentIndex = array.length; + let temporaryValue; + let randomIndex; + + // While there remain elements to shuffle... + while (currentIndex !== 0) { + // Pick a remaining element... + randomIndex = Math.floor(Math.random() * currentIndex); + currentIndex -= 1; + + // And swap it with the current element. + temporaryValue = array[currentIndex]; + array[currentIndex] = array[randomIndex]; + array[randomIndex] = temporaryValue; + } + + return array; +} + +export default function(server, options = {}) { + if (!server) + throw new Error( + 'TeamRandomizer must be provided with a reference to the server.' + ); + + const command = options.command || '!randomize'; + const commandRegex = new RegExp(`^${command}`, 'i'); + + server.on(RCON_CHAT_MESSAGE, info => { + if (info.chat !== 'ChatAdmin') return; + + const match = info.message.match(commandRegex); + if (!match) return; + + const players = server.players.slice(0); + shuffle(players); + + let team = '1'; + + for (const player of players) { + if (player.teamID !== team) { + server.rcon.execute(`AdminForceTeamChange "${player.steamID}"`); + } + + team = team === '1' ? '2' : '1'; + } + }); +} diff --git a/squad-server/events/log-parser.js b/squad-server/events/log-parser.js new file mode 100644 index 0000000..d0e28a8 --- /dev/null +++ b/squad-server/events/log-parser.js @@ -0,0 +1,123 @@ +/** Occurs when an admin enters admin camera. + * + * Data: + * - time - Date object of when the event occurred. + * - player - PlayerObject of the admin. + */ +const LOG_PARSER_ADMIN_POSSESS_CAMERA = 'LOG_PARSER_ADMIN_POSSESS_CAMERA'; + +/** Occurs when a new layer is loaded. + * + * Data: + * - time - Date object of when the event occurred. + * - dlc - DLC / Mod the layer was loaded from. + * - mapClassname - Classname of the map. + * - layerClassname - Classname of the layer. + * - map - Map name (if known). + * - layer - Layer name (if known). + */ +const LOG_PARSER_NEW_GAME = 'LOG_PARSER_NEW_GAME'; + +/** Occurs when a new player connects. + * + * Data: + * - time - Date object of when the event occurred. + * - player - PlayerObject of the player. + */ +const LOG_PARSER_PLAYER_CONNECTED = 'LOG_PARSER_PLAYER_CONNECTED'; + +/** Occurs when a player is damaged. + * + * Data: + * - time - Date object of when the event occurred. + * - victim - PlayerObject of the damaged player. + * - damage - Amount of damage inflicted. + * - attacker - PlayerObject of the attacking player. + * - weapon - The classname of the weapon used. + */ +const LOG_PARSER_PLAYER_DAMAGED = 'LOG_PARSER_PLAYER_DAMAGED'; + +/** Occurs when a player dies. + * + * Data: + * - time - Date object of when the event occurred. + * - woundTime - Date object of when the wound event occurred. + * - victim - PlayerObject of the damaged player. + * - damage - Amount of damage inflicted. + * - attacker - PlayerObject of the attacking player. + * - attackerPlayerController - PlayerController of the attacking player. + * - weapon - The classname of the weapon used. + * - teamkill - Whether the kill was a teamkill. + */ +const LOG_PARSER_PLAYER_DIED = 'LOG_PARSER_PLAYER_DIED'; + +/** Occurs when a player possess a new object. + * + * Data: + * - time - Date object of when the event occurred. + * - player - PlayerObject of the admin. + * - possessClassname - Classname of the object. + */ +const LOG_PARSER_PLAYER_POSSESS = 'LOG_PARSER_PLAYER_POSSESS'; + +/** Occurs when a player is revived. + * + * Data: + * - time - Date object of when the event occurred. + * - woundTime - Date object of when the wound event occurred. + * - victim - PlayerObject of the damaged player. + * - damage - Amount of damage inflicted. + * - attacker - PlayerObject of the attacking player. + * - attackerPlayerController - PlayerController of the attacking player. + * - weapon - The classname of the weapon used. + * - teamkill - Whether the kill was a teamkill. + * - reviver - PlayerObject of the reviving player. + */ +const LOG_PARSER_PLAYER_REVIVED = 'LOG_PARSER_PLAYER_REVIVED'; + +/** Occurs when a player is teamkilled. + * + * Data: + * - time - Date object of when the event occurred. + * - victim - PlayerObject of the damaged player. + * - damage - Amount of damage inflicted. + * - attacker - PlayerObject of the attacking player. + * - attackerPlayerController - PlayerController of the attacking player. + * - weapon - The classname of the weapon used. + * - teamkill - Whether the kill was a teamkill. + */ +const LOG_PARSER_TEAMKILL = 'LOG_PARSER_TEAMKILL'; + +/** Occurs when a player is wounded. + * + * Data: + * - time - Date object of when the event occurred. + * - victim - PlayerObject of the damaged player. + * - damage - Amount of damage inflicted. + * - attacker - PlayerObject of the attacking player. + * - attackerPlayerController - PlayerController of the attacking player. + * - weapon - The classname of the weapon used. + * - teamkill - Whether the kill was a teamkill. + */ +const LOG_PARSER_PLAYER_WOUNDED = 'LOG_PARSER_PLAYER_WOUNDED'; + +/** Occurs when the server tick rate is updated. + * + * Data: + * - time - Date object of when the event occurred. + * - tickRate - Tick rate of the server. + */ +const LOG_PARSER_SERVER_TICK_RATE = 'LOG_PARSER_SERVER_TICK_RATE'; + +export { + LOG_PARSER_ADMIN_POSSESS_CAMERA, + LOG_PARSER_NEW_GAME, + LOG_PARSER_PLAYER_CONNECTED, + LOG_PARSER_PLAYER_DAMAGED, + LOG_PARSER_PLAYER_DIED, + LOG_PARSER_PLAYER_POSSESS, + LOG_PARSER_PLAYER_REVIVED, + LOG_PARSER_TEAMKILL, + LOG_PARSER_PLAYER_WOUNDED, + LOG_PARSER_SERVER_TICK_RATE +}; diff --git a/squad-server/events/rcon.js b/squad-server/events/rcon.js new file mode 100644 index 0000000..2903b19 --- /dev/null +++ b/squad-server/events/rcon.js @@ -0,0 +1,19 @@ +/** Occurs when an RCON error occurs. + * + * Data: + * - ErrorObject + */ +const RCON_ERROR = 'RCON_ERROR'; + +/** Occurs when an admin enters admin camera. + * + * Data: + * - chat - Chat the message was sent to. + * - steamID - Steam ID of the player. + * - player - Name of the player. + * - message - Message sent. + * - time - Time message was sent, AKA now. + */ +const RCON_CHAT_MESSAGE = 'RCON_CHAT_MESSAGE'; + +export { RCON_ERROR, RCON_CHAT_MESSAGE }; diff --git a/squad-server/events/server.js b/squad-server/events/server.js new file mode 100644 index 0000000..6998869 --- /dev/null +++ b/squad-server/events/server.js @@ -0,0 +1,47 @@ +/** Occurs when a new layer is loaded. + * + * Data: + * - time - Date object of when the event occurred. + * - dlc - DLC / Mod the layer was loaded from. + * - mapClassname - Classname of the map. + * - layerClassname - Classname of the layer. + * - map - Map name (if known). + * - layer - Layer name (if known). + */ +const SERVER_LAYER_CHANGE = 'SERVER_LAYER_CHANGE'; + +/** Occurs when the player list is updated via RCON. + * + * Data: + * - Array of PlayerObjects + */ +const SERVER_PLAYERS_UPDATED = 'SERVER_PLAYERS_UPDATED'; + +/** Occurs when the layer info is updated via RCON. + * + * Data: + * - currentLayer - Current layer. + * - nextLayer - Next layer. + */ +const SERVER_LAYERS_UPDATED = 'SERVER_LAYERS_UPDATED'; + +/** Occurs when the server info is updated via A2S. + * + * Data: + * - serverName - Name of the server. + * - maxPlayers - Maximum number of players on the server. + * - publicSlots - Maximum number of public slots. + * - reserveSlots - Maximum number of reserved slots. + * - publicQueue - Length of the public queue. + * - reserveQueue - Length of the reserved queue. + * - matchTimeout - Time until match ends? + * - gameVersion - Game version. + */ +const SERVER_A2S_UPDATED = 'SERVER_A2S_UPDATED'; + +export { + SERVER_LAYER_CHANGE, + SERVER_PLAYERS_UPDATED, + SERVER_LAYERS_UPDATED, + SERVER_A2S_UPDATED +}; diff --git a/squad-server/index.js b/squad-server/index.js new file mode 100644 index 0000000..0c9bfe1 --- /dev/null +++ b/squad-server/index.js @@ -0,0 +1,181 @@ +import EventEmitter from 'events'; + +import Gamedig from 'gamedig'; + +import printLogo from 'core/utils/print-logo'; + +import LogParser from './log-parser/index.js'; +import Rcon from './rcon/index.js'; + +import { + SERVER_LAYER_CHANGE, + SERVER_PLAYERS_UPDATED, + SERVER_LAYERS_UPDATED, + SERVER_A2S_UPDATED +} from './events/server.js'; + +import { LOG_PARSER_NEW_GAME } from './events/log-parser.js'; + +export default class Server extends EventEmitter { + constructor(options = {}) { + super(); + + // store options + if (!('id' in options)) throw new Error('Server must have an ID.'); + this.id = options.id; + + if (!('host' in options)) throw new Error('Server must have a host.'); + this.host = options.host; + + if (!('queryPort' in options)) + throw new Error('Server must have a queryPort.'); + this.queryPort = options.queryPort; + + this.updateInterval = options.updateInterval || 30 * 1000; + + // setup additional classes + this.rcon = new Rcon(options, this); + this.logParser = new LogParser(options, this); + + // setup internal data storage + this.layerHistory = options.layerHistory || []; + this.layerHistoryMaxLength = options.layerHistoryMaxLength || 20; + + this.players = []; + + // store additional information about players by SteamID + this.suffixStore = {}; + + // setup internal listeners + this.on(LOG_PARSER_NEW_GAME, this.onLayerChange.bind(this)); + + // setup period updaters + this.updatePlayers = this.updatePlayers.bind(this); + this.updatePlayerTimeout = setTimeout( + this.updatePlayers, + this.updateInterval + ); + + setTimeout(async () => { + const data = await this.rcon.getMapInfo(); + this.currentLayer = data.currentLayer; + this.nextLayer = data.nextLayer; + this.emit(SERVER_LAYERS_UPDATED, data); + }, this.updateInterval); + + setTimeout(async () => { + const data = await Gamedig.query({ + type: 'squad', + host: this.host, + port: this.queryPort + }); + + this.serverName = data.name; + + this.maxPlayers = parseInt(data.maxplayers); + this.publicSlots = parseInt(data.raw.rules.NUMPUBCONN); + this.reserveSlots = parseInt(data.raw.rules.NUMPRIVCONN); + + this.a2sPlayerCount = Math.min(data.players.length, this.maxPlayers); + this.publicQueue = parseInt(data.raw.rules.PublicQueue_i); + this.reserveQueue = parseInt(data.raw.rules.ReservedQueue_i); + + this.matchTimeout = parseFloat(data.raw.rules.MatchTimeout_f); + this.gameVersion = data.raw.version; + + this.emit(SERVER_A2S_UPDATED, { + serverName: this.serverName, + maxPlayers: this.maxPlayers, + publicSlots: this.publicSlots, + reserveSlots: this.reserveSlots, + publicQueue: this.publicQueue, + reserveQueue: this.reserveQueue, + matchTimeout: this.matchTimeout, + gameVersion: this.gameVersion + }); + }, this.updateInterval); + } + + async watch() { + printLogo(); + console.log(`Watching server ${this.id}...`); + if (this.logParser) await this.logParser.watch(); + if (this.rcon) await this.rcon.watch(); + } + + async unwatch() { + if (this.logParser) await this.logParser.unwatch(); + if (this.rcon) await this.rcon.unwatch(); + console.log('Stopped watching.'); + } + + async updatePlayers() { + clearTimeout(this.updatePlayerTimeout); + + this.players = await this.rcon.listPlayers(); + + // readd additional information about the player we have collected + for (let i = 0; i < this.players.length; i++) { + this.players[i].suffix = this.suffixStore[this.players[i].steamID]; + } + + // delay another update + this.updatePlayerTimeout = setTimeout( + this.updatePlayers, + this.updateInterval + ); + + this.emit(SERVER_PLAYERS_UPDATED, this.players); + } + + async getPlayerByName(name, suffix = false) { + let matchingPlayers; + + matchingPlayers = []; + for (const player of this.players) { + if (player[suffix ? 'suffix' : 'name'] !== name) continue; + matchingPlayers.push(player); + } + + if (matchingPlayers.length === 0) { + await this.updatePlayers(); + + matchingPlayers = []; + for (const player of this.players) { + if (player[suffix ? 'suffix' : 'name'] !== name) continue; + matchingPlayers.push(player); + } + } + + if (matchingPlayers.length === 1) return matchingPlayers[0]; + else return null; + } + + async getPlayerBySteamID(steamID) { + let matchingPlayers; + + matchingPlayers = []; + for (const player of this.players) { + if (player.steamID !== steamID) continue; + matchingPlayers.push(player); + } + + if (matchingPlayers.length === 0) { + await this.updatePlayers(); + + matchingPlayers = []; + for (const player of this.players) { + if (player.steamID !== steamID) continue; + matchingPlayers.push(player); + } + } + + return matchingPlayers[0]; + } + + onLayerChange(info) { + this.layerHistory.unshift(info); + this.layerHistory = this.layerHistory.slice(0, this.layerHistoryMaxLength); + this.emit(SERVER_LAYER_CHANGE, info); + } +} diff --git a/squad-server/log-parser/index.js b/squad-server/log-parser/index.js new file mode 100644 index 0000000..797f2e1 --- /dev/null +++ b/squad-server/log-parser/index.js @@ -0,0 +1,57 @@ +import async from 'async'; +import moment from 'moment'; + +import Server from '../index.js'; + +import TailLogReader from './log-readers/tail.js'; +import FTPLogReader from './log-readers/ftp.js'; + +import rules from './rules/index.js'; + +export default class LogParser { + constructor(options = {}, server) { + if (!(server instanceof Server)) + throw new Error('Server not an instance of a SquadJS server.'); + this.server = server; + this.eventStore = {}; + + this.queueLine = this.queueLine.bind(this); + this.handleLine = this.handleLine.bind(this); + this.queue = async.queue(this.handleLine); + + switch (options.logReaderMode || 'tail') { + case 'tail': + this.logReader = new TailLogReader(this.queueLine, options); + break; + case 'ftp': + this.logReader = new FTPLogReader(this.queueLine, options); + break; + default: + throw new Error('Invalid mode.'); + } + } + + async watch() { + await this.logReader.watch(); + } + + async unwatch() { + await this.logReader.unwatch(); + } + + queueLine(line) { + this.queue.push(line); + } + + async handleLine(line) { + for (const rule of rules) { + const match = line.match(rule.regex); + if (!match) continue; + + match[1] = moment.utc(match[1], 'YYYY.MM.DD-hh.mm.ss:SSS').toDate(); + match[2] = parseInt(match[2]); + await rule.onMatch(match, this); + break; + } + } +} diff --git a/squad-server/log-parser/log-readers/ftp.js b/squad-server/log-parser/log-readers/ftp.js new file mode 100644 index 0000000..bc26a8e --- /dev/null +++ b/squad-server/log-parser/log-readers/ftp.js @@ -0,0 +1,121 @@ +import crypto from 'crypto'; +import fs from 'fs'; +import path from 'path'; + +import ftp from 'basic-ftp'; + +import sleep from 'core/utils/sleep'; + +// THIS LOG READER IS CURRENTLY UNDER DEVELOPMENT. IT IS ADVISED THAT YOU DO NOT USE IT. +export default class FTPLogReader { + constructor(queueLine, options = {}) { + if (typeof queueLine !== 'function') + throw new Error( + 'queueLine argument must be specified and be a function.' + ); + if (!options.host) throw new Error('Host must be specified.'); + if (!options.ftpUser) throw new Error('FTP user must be specified.'); + if (!options.ftpPassword) + throw new Error('FTP password must be specified.'); + if (!options.remotePath) throw new Error('Remote path must be specified.'); + + this.queueLine = queueLine; + this.host = options.host; + this.port = options.ftpPort || 21; + this.user = options.ftpUser; + this.password = options.ftpPassword; + this.remotePath = options.logDir; + this.timeout = options.ftpTimeout || 3000; + this.encoding = 'utf8'; + this.defaultInterval = options.ftpPullInterval || 500; + this.interval = this.defaultInterval; + this.tempFilePath = path.join( + process.cwd(), + 'temp', + crypto + .createHash('md5') + .update(this.host.replace(/\./g, '-') + this.port + this.remotePath) + .digest('hex') + '.tmp' + ); + this.maxTempFileSize = 5 * 1000 * 1000; // 5 MB + this.tailLastBytes = 100 * 1000; + } + + async watch() { + this.client = new ftp.Client(this.timeout); + this.client.ftp.encoding = this.encoding; + + await this.client.access({ + host: this.host, + port: this.port, + user: this.user, + password: this.password + }); + + this.interval = this.defaultInterval; + this.runLoop(); + } + + async unwatch() { + this.client.close(); + this.interval = -1; + if (fs.existsSync(this.tempFilePath)) { + fs.unlinkSync(this.tempFilePath); + } + } + + async runLoop() { + while (this.interval !== -1) { + const runStartTime = Date.now(); + + if (fs.existsSync(this.tempFilePath)) { + const { size } = fs.statSync(this.tempFilePath); + if (size > this.maxTempFileSize || !this.lastByteReceived) { + fs.unlinkSync(this.tempFilePath); + } + } + + // If we haven't received any data yet, tail the end of the file; else download all data since last pull + if (this.lastByteReceived == null) { + const fileSize = await this.client.size(this.remotePath); + this.lastByteReceived = + fileSize - + (this.tailLastBytes < fileSize ? this.tailLastBytes : fileSize); + } + + // Download the data to a temp file, overwrite any previous data + // we overwrite previous data to calculate how much data we've received + await this.client.downloadTo( + fs.createWriteStream(this.tempFilePath, { flags: 'w' }), + this.remotePath, + this.lastByteReceived + ); + const downloadSize = fs.statSync(this.tempFilePath).size; + this.lastByteReceived += downloadSize; // update the last byte marker - this is so we can get data since this position on the ftp download + + const fileData = await new Promise((resolve, reject) => { + fs.readFile(this.tempFilePath, (err, data) => { + if (err) reject(err); + resolve(data); + }); + }); + + fileData + .toString('utf8') + .split('\r\n') + .forEach(this.queueLine); + + const ftpDataTime = Date.now(); + const ftpDataTimeMs = ftpDataTime - runStartTime; + + console.log('FTP Retrieve took: ' + ftpDataTimeMs + 'ms'); + + const waitTime = this.interval - ftpDataTimeMs; + if (waitTime > 0) { + await sleep(waitTime); + } + const runEndTime = Date.now(); + console.log('Run time: ' + (runEndTime - runStartTime) + 'ms'); + } + } +} diff --git a/squad-server/log-parser/log-readers/tail.js b/squad-server/log-parser/log-readers/tail.js new file mode 100644 index 0000000..c01fd17 --- /dev/null +++ b/squad-server/log-parser/log-readers/tail.js @@ -0,0 +1,29 @@ +import path from 'path'; +import TailModule from 'tail'; + +export default class TailLogReader { + constructor(queueLine, options = {}) { + if (typeof queueLine !== 'function') + throw new Error( + 'queueLine argument must be specified and be a function.' + ); + if (!options.logDir) throw new Error('Log directory must be specified.'); + + this.reader = new TailModule.Tail( + path.join(options.logDir, 'SquadGame.log'), + { + useWatchFile: true + } + ); + + this.reader.on('line', queueLine); + } + + async watch() { + this.reader.watch(); + } + + async unwatch() { + this.reader.unwatch(); + } +} diff --git a/squad-server/log-parser/rules/index.js b/squad-server/log-parser/rules/index.js new file mode 100644 index 0000000..8f904b9 --- /dev/null +++ b/squad-server/log-parser/rules/index.js @@ -0,0 +1,21 @@ +import NewGame from './new-game.js'; +import PlayerConnected from './player-connected.js'; +import PlayerDamaged from './player-damaged.js'; +import PlayerDied from './player-died.js'; +import PlayerPossess from './player-possess.js'; +import PlayerRevived from './player-revived.js'; +import PlayerWounded from './player-wounded.js'; +import ServerTickRate from './server-tick-rate.js'; +import SteamIDConnected from './steamid-connected.js'; + +export default [ + NewGame, + PlayerConnected, + PlayerDamaged, + PlayerDied, + PlayerPossess, + PlayerRevived, + PlayerWounded, + ServerTickRate, + SteamIDConnected +]; diff --git a/squad-server/log-parser/rules/new-game.js b/squad-server/log-parser/rules/new-game.js new file mode 100644 index 0000000..e066ce0 --- /dev/null +++ b/squad-server/log-parser/rules/new-game.js @@ -0,0 +1,24 @@ +import SquadLayers from 'connectors/squad-layers'; + +import { LOG_PARSER_NEW_GAME } from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogWorld: Bringing World \/([A-z]+)\/Maps\/([A-z]+)\/(?:Gameplay_Layers\/)?([A-z0-9_]+)/, + onMatch: (args, logParser) => { + const layer = SquadLayers.getLayerByLayerClassname(args[5]); + + const data = { + raw: args[0], + time: args[1], + chainID: args[2], + dlc: args[3], + mapClassname: args[4], + layerClassname: args[5], + map: layer ? layer.map : null, + layer: layer ? layer.layer : null + }; + + /* Emit new game event */ + logParser.server.emit(LOG_PARSER_NEW_GAME, data); + } +}; diff --git a/squad-server/log-parser/rules/player-connected.js b/squad-server/log-parser/rules/player-connected.js new file mode 100644 index 0000000..0dfb5d7 --- /dev/null +++ b/squad-server/log-parser/rules/player-connected.js @@ -0,0 +1,18 @@ +import { LOG_PARSER_PLAYER_CONNECTED } from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogNet: Join succeeded: (.+)/, + onMatch: async (args, logParser) => { + logParser.server.suffixStore[logParser.eventStore['steamid-connected']] = + args[3]; + + const data = { + raw: args[0], + time: args[1], + chainID: args[2], + player: await logParser.server.getPlayerByName(args[3], true) + }; + + logParser.server.emit(LOG_PARSER_PLAYER_CONNECTED, data); + } +}; diff --git a/squad-server/log-parser/rules/player-damaged.js b/squad-server/log-parser/rules/player-damaged.js new file mode 100644 index 0000000..32ceb35 --- /dev/null +++ b/squad-server/log-parser/rules/player-damaged.js @@ -0,0 +1,22 @@ +import { LOG_PARSER_PLAYER_DAMAGED } from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: Player:(.+) ActualDamage=([0-9.]+) from (.+) caused by ([A-z_0-9]+)_C/, + onMatch: async (args, logParser) => { + const data = { + raw: args[0], + time: args[1], + chainID: args[2], + victim: await logParser.server.getPlayerByName(args[3]), + damage: parseFloat(args[4]), + attacker: await logParser.server.getPlayerByName(args[5]), + weapon: args[6] + }; + + data.teamkill = data.victim.teamID === data.attacker.teamID; + + logParser.eventStore[args[3]] = data; + + logParser.server.emit(LOG_PARSER_PLAYER_DAMAGED, data); + } +}; diff --git a/squad-server/log-parser/rules/player-died.js b/squad-server/log-parser/rules/player-died.js new file mode 100644 index 0000000..0265e02 --- /dev/null +++ b/squad-server/log-parser/rules/player-died.js @@ -0,0 +1,24 @@ +import { LOG_PARSER_PLAYER_DIED } from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQSoldier::)?Die\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) caused by ([A-z_0-9]+)_C/, + onMatch: async (args, logParser) => { + const data = { + ...logParser.eventStore[args[3]], + raw: args[0], + time: args[1], + woundTime: args[1], + chainID: args[2], + victim: await logParser.server.getPlayerByName(args[3]), + damage: parseFloat(args[4]), + attackerPlayerController: args[5], + weapon: args[6] + }; + + data.teamkill = data.victim.teamID === data.attacker.teamID; + + logParser.eventStore[args[3]] = data; + + logParser.server.emit(LOG_PARSER_PLAYER_DIED, data); + } +}; diff --git a/squad-server/log-parser/rules/player-possess.js b/squad-server/log-parser/rules/player-possess.js new file mode 100644 index 0000000..3903daf --- /dev/null +++ b/squad-server/log-parser/rules/player-possess.js @@ -0,0 +1,22 @@ +import { + LOG_PARSER_PLAYER_POSSESS, + LOG_PARSER_ADMIN_POSSESS_CAMERA +} from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer](?:ASQPlayerController::)?OnPossess\(\): PC=(.+) Pawn=([A-z0-9_]+)_C/, + onMatch: async (args, logParser) => { + const data = { + raw: args[0], + time: args[1], + chainID: args[2], + player: await logParser.server.getPlayerByName(args[3], true), + possessClassname: args[4] + }; + + logParser.server.emit(LOG_PARSER_PLAYER_POSSESS, data); + + if (data.possessClassname === 'CameraMan') + logParser.server.emit(LOG_PARSER_ADMIN_POSSESS_CAMERA, data); + } +}; diff --git a/squad-server/log-parser/rules/player-revived.js b/squad-server/log-parser/rules/player-revived.js new file mode 100644 index 0000000..8b0dd64 --- /dev/null +++ b/squad-server/log-parser/rules/player-revived.js @@ -0,0 +1,18 @@ +import { LOG_PARSER_PLAYER_REVIVED } from '../../events/log-parser.js'; + +export default { + // the names are currently the wrong way around in these logs + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: (.+) has revived (.+)\./, + onMatch: async (args, logParser) => { + const data = { + ...logParser.eventStore[args[3]], + raw: args[0], + time: args[1], + chainID: args[2], + victim: await logParser.server.getPlayerByName(args[5]), + reviver: await logParser.server.getPlayerByName(args[3]) + }; + + logParser.server.emit(LOG_PARSER_PLAYER_REVIVED, data); + } +}; diff --git a/squad-server/log-parser/rules/player-wounded.js b/squad-server/log-parser/rules/player-wounded.js new file mode 100644 index 0000000..c1025ed --- /dev/null +++ b/squad-server/log-parser/rules/player-wounded.js @@ -0,0 +1,25 @@ +import { + LOG_PARSER_PLAYER_WOUNDED, + LOG_PARSER_TEAMKILL +} from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquadTrace: \[DedicatedServer]ASQSoldier::Wound\(\): Player:(.+) KillingDamage=(?:-)*([0-9.]+) from ([A-z_0-9]+) caused by ([A-z_0-9]+)_C/, + onMatch: async (args, logParser) => { + const data = { + ...logParser.eventStore[args[3]], + raw: args[0], + time: args[1], + chainID: args[2], + victim: await logParser.server.getPlayerByName(args[3]), + damage: parseFloat(args[4]), + attackerPlayerController: args[5], + weapon: args[6] + }; + + logParser.eventStore[args[3]] = data; + + logParser.server.emit(LOG_PARSER_PLAYER_WOUNDED, data); + if (data.teamkill) logParser.server.emit(LOG_PARSER_TEAMKILL, data); + } +}; diff --git a/squad-server/log-parser/rules/server-tick-rate.js b/squad-server/log-parser/rules/server-tick-rate.js new file mode 100644 index 0000000..c1813d6 --- /dev/null +++ b/squad-server/log-parser/rules/server-tick-rate.js @@ -0,0 +1,15 @@ +import { LOG_PARSER_SERVER_TICK_RATE } from '../../events/log-parser.js'; + +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogSquad: USQGameState: Server Tick Rate: ([0-9.]+)/, + onMatch: (args, logParser) => { + const data = { + raw: args[0], + time: args[1], + chainID: args[2], + tickRate: parseFloat(args[3]) + }; + + logParser.server.emit(LOG_PARSER_SERVER_TICK_RATE, data); + } +}; diff --git a/squad-server/log-parser/rules/steamid-connected.js b/squad-server/log-parser/rules/steamid-connected.js new file mode 100644 index 0000000..1bde6bb --- /dev/null +++ b/squad-server/log-parser/rules/steamid-connected.js @@ -0,0 +1,6 @@ +export default { + regex: /^\[([0-9.:-]+)]\[([ 0-9]*)]LogEasyAntiCheatServer: \[[0-9:]+]\[[A-z]+]\[EAC Server] \[Info]\[RegisterClient] Client: ([A-z0-9]+) PlayerGUID: ([0-9]{17}) PlayerIP: [0-9]{17} OwnerGUID: [0-9]{17} PlayerName: (.+)/, + onMatch: async (args, logParser) => { + logParser.eventStore['steamid-connected'] = args[4]; + } +}; diff --git a/squad-server/log-parser/test-coverage.js b/squad-server/log-parser/test-coverage.js new file mode 100644 index 0000000..d88f325 --- /dev/null +++ b/squad-server/log-parser/test-coverage.js @@ -0,0 +1,76 @@ +import fs from 'fs'; +import readLine from 'readline'; + +import CLIProgress from 'cli-progress'; + +import printLogo from 'core/utils/print-logo'; + +import rules from './rules/index.js'; + +const TEST_FILE = './squad-server/log-parser/test-data/SquadGame.log'; +const EXAMPLES = 10; + +async function main() { + printLogo(); + const progressBar = new CLIProgress.SingleBar( + { format: 'Coverage Test | {bar} | {value}/{total} ({percentage}%) Lines' }, + CLIProgress.Presets.shades_classic + ); + progressBar.start(await getTestFileLength(), 0); + + let total = 0; + let matched = 0; + const unmatchedLogs = []; + + const testFile = readLine.createInterface({ + input: fs.createReadStream(TEST_FILE) + }); + + for await (const line of testFile) { + total += 1; + + let matchedLine = false; + + for (const rule of rules) { + if (!line.match(rule.regex)) continue; + + matchedLine = true; + break; + } + + if (matchedLine) matched += 1; + else if (unmatchedLogs.length <= EXAMPLES) unmatchedLogs.push(line); + + progressBar.update(total); + } + + progressBar.stop(); + + console.log('Done.'); + console.log(); + console.log( + `Matched ${matched} / ${total} (${(matched / total) * 100}%) log lines.` + ); + console.log(); +} + +main(); + +function getTestFileLength() { + return new Promise((resolve, reject) => { + let lineCount = 0; + fs.createReadStream(TEST_FILE) + .on('data', buffer => { + let idx = -1; + lineCount--; // Because the loop will run once for idx=-1 + do { + idx = buffer.indexOf(10, idx + 1); + lineCount++; + } while (idx !== -1); + }) + .on('end', () => { + resolve(lineCount); + }) + .on('error', reject); + }); +} diff --git a/squad-server/package.json b/squad-server/package.json new file mode 100644 index 0000000..42c4e1f --- /dev/null +++ b/squad-server/package.json @@ -0,0 +1,23 @@ +{ + "name": "squad-server", + "version": "1.0.0", + "type": "module", + "dependencies": { + "async": "^3.2.0", + "basic-ftp": "^4.5.4", + "cli-progress": "^3.8.2", + "core": "1.0.0", + "gamedig": "^2.0.20", + "moment": "^2.24.0", + "tail": "^2.0.3" + }, + "exports": { + ".": "./index.js", + "./events/log-parser": "./events/log-parser.js", + "./events/rcon": "./events/rcon.js", + "./events/server": "./events/server.js", + "./log-parser": "./log-parser/index.js", + "./rcon": "./rcon/index.js", + "./plugins": "./plugins/index.js" + } +} diff --git a/squad-server/rcon/index.js b/squad-server/rcon/index.js new file mode 100644 index 0000000..ee74b6a --- /dev/null +++ b/squad-server/rcon/index.js @@ -0,0 +1,308 @@ +import EventEmitter from 'events'; +import net from 'net'; + +import moment from 'moment'; + +import RCONProtocol from './protocol.js'; + +import { RCON_CHAT_MESSAGE, RCON_ERROR } from '../events/rcon.js'; + +export default class Rcon { + constructor(options = {}, emitter) { + if (!options.host) throw new Error('Host must be specified.'); + this.host = options.host; + + if (!options.rconPort) throw new Error('RCON port must be specified.'); + this.port = options.rconPort; + + if (!options.rconPassword) + throw new Error('RCON password must be specified.'); + this.password = options.rconPassword; + + this.verboseEnabled = options.rconVerbose || false; + + this.emitter = emitter || new EventEmitter(); + + this.reconnectInterval = null; + this.rconAutoReconnectInterval = options.rconAutoReconnectInterval || 5000; + + this.maximumPacketSize = 4096; + + this.client = null; + this.connected = false; + this.autoReconnect = true; + + this.requestQueue = []; + this.currentMultiPacket = []; + this.ignoreNextEndPacket = false; + } + + /* RCON functionality */ + watch() { + this.verbose('Method Exec: watch()'); + return this.connect(); + } + + unwatch() { + this.verbose('Method Exec: unwatch()'); + return this.disconnect(); + } + + execute(command) { + this.verbose(`Method Exec: execute(${command})`); + return this.write(RCONProtocol.SERVERDATA_EXECCOMMAND, command); + } + + async getMapInfo() { + const response = await this.execute('ShowNextMap'); + const match = response.match( + /^Current map is ([A-z0-9 ]+), Next map is ([A-z0-9 ]*)/ + ); + return { + currentLayer: match[1], + nextLayer: match[2].length === 0 ? null : match[2] + }; + } + + async listPlayers() { + const response = await this.execute('ListPlayers'); + + const players = []; + + for (const line of response.split('\n')) { + const match = line.match( + /ID: ([0-9]+) \| SteamID: ([0-9]{17}) \| Name: (.+) \| Team ID: ([0-9]+) \| Squad ID: ([0-9]+|N\/A)/ + ); + if (!match) continue; + + players.push({ + playerID: match[1], + steamID: match[2], + name: match[3], + teamID: match[4], + squadID: match[5] !== 'N/A' ? match[5] : null + }); + } + + return players; + } + + /* Core socket functionality */ + connect() { + this.verbose('Method Exec: connect()'); + return new Promise((resolve, reject) => { + this.autoReconnect = true; + + // setup socket + this.client = new net.Socket(); + + this.client.on('data', this.onData.bind(this)); + + this.client.on('error', err => { + this.verbose(`Socket Error: ${err.message}`); + this.emitter.emit(RCON_ERROR, err); + }); + + this.client.on('close', async hadError => { + this.verbose(`Socket Closed. AutoReconnect: ${this.autoReconnect}`); + this.connected = false; + if (!this.autoReconnect) return; + if (this.reconnectInterval !== null) return; + this.reconnectInterval = setInterval(async () => { + this.verbose('Attempting AutoReconnect.'); + try { + await this.connect(); + clearInterval(this.reconnectInterval); + this.reconnectInterval = null; + this.verbose('Cleaned AutoReconnect.'); + } catch (err) { + this.verbose('AutoReconnect Failed.'); + } + }, this.rconAutoReconnectInterval); + }); + + const onConnect = async () => { + this.verbose('Socket Opened.'); + this.client.removeListener('error', onError); + this.connected = true; + this.verbose('Sending auth packet...'); + await this.write(RCONProtocol.SERVERDATA_AUTH, this.password); + resolve(); + }; + + const onError = err => { + this.verbose(`Error Opening Socket: ${err.message}`); + this.client.removeListener('connect', onConnect); + reject(err); + }; + + this.client.once('connect', onConnect); + this.client.once('error', onError); + + this.client.connect(this.port, this.host); + }); + } + + async disconnect(disableAutoReconnect = true) { + this.verbose(`Method Exec: disconnect(${disableAutoReconnect})`); + return new Promise((resolve, reject) => { + if (disableAutoReconnect) this.autoReconnect = false; + + const onClose = () => { + this.verbose('Disconnect successful.'); + this.client.removeListener('error', onError); + resolve(); + }; + + const onError = err => { + this.verbose(`Error disconnecting: ${err.message}`); + this.client.removeListener('close', onClose); + reject(err); + }; + + this.client.once('close', onClose); + this.client.once('error', onError); + + this.client.disconnect(); + }); + } + + write(type, body) { + return new Promise((resolve, reject) => { + if (!this.client.writable) { + reject(new Error('Unable to write to socket')); + return; + } + if (!this.connected) { + reject(new Error('Not connected.')); + return; + } + + // prepare packets to send + const encodedPacket = this.encodePacket(type, RCONProtocol.ID_MID, body); + const encodedEmptyPacket = this.encodePacket( + RCONProtocol.SERVERDATA_EXECCOMMAND, + RCONProtocol.ID_END, + '' + ); + + if ( + this.maximumPacketSize > 0 && + encodedPacket.length > this.maximumPacketSize + ) + reject(new Error('Packet too long.')); + + // prepare to handle response. + const handleAuthMultiPacket = async () => { + this.client.removeListener('error', reject); + + for (const packet of this.currentMultiPacket) { + if (packet.type === RCONProtocol.SERVERDATA_RESPONSE_VALUE) continue; + if (packet.id !== RCONProtocol.ID_MID) { + this.verbose('Unable to authenticate.'); + await this.disconnect(false); + reject(new Error('Unable to authenticate.')); + } + + this.currentMultiPacket = []; + + this.verbose('Authenticated.'); + resolve(); + } + }; + + const handleMultiPacket = () => { + this.client.removeListener('error', reject); + + let response = ''; + for (const packet of this.currentMultiPacket) { + response += packet.body; + } + + this.currentMultiPacket = []; + + resolve(response); + }; + + if (type === RCONProtocol.SERVERDATA_AUTH) + this.requestQueue.push(handleAuthMultiPacket); + else this.requestQueue.push(handleMultiPacket); + + this.client.on('error', reject); + + // send packets + this.client.write(encodedPacket); + this.client.write(encodedEmptyPacket); + }); + } + + onData(inputBuf) { + let offset = 0; + + while (offset < inputBuf.byteLength) { + const endOfPacket = offset + inputBuf.readInt32LE(offset) + 4; + const packetBuf = inputBuf.slice(offset, endOfPacket); + offset = endOfPacket; + + const decodedPacket = this.decodePacket(packetBuf); + + if (decodedPacket.type === RCONProtocol.SERVERDATA_CHAT_VALUE) { + // emit chat messages to own event + const message = decodedPacket.body.match( + /\[(ChatAll|ChatTeam|ChatSquad|ChatAdmin)] \[SteamID:([0-9]{17})] (.+?) : (.*)/ + ); + + this.emitter.emit(RCON_CHAT_MESSAGE, { + raw: decodedPacket.body, + chat: message[1], + steamID: message[2], + player: message[3], + message: message[4], + time: moment.utc().toDate() + }); + } else if (decodedPacket.id === RCONProtocol.ID_END) { + if (this.ignoreNextEndPacket) { + this.ignoreNextEndPacket = false; + // boost the offset as the length seems wrong for this response + offset += 7; + continue; + } + this.ignoreNextEndPacket = true; + + // at end of multipacket resolve request queue + const func = this.requestQueue.shift(); + func(); + } else { + // push packet to multipacket queue + this.currentMultiPacket.push(decodedPacket); + } + } + } + + encodePacket(type, id, body, encoding = 'utf8') { + const size = Buffer.byteLength(body) + 14; + const buffer = Buffer.alloc(size); + + buffer.writeInt32LE(size - 4, 0); + buffer.writeInt32LE(id, 4); + buffer.writeInt32LE(type, 8); + buffer.write(body, 12, size - 2, encoding); + buffer.writeInt16LE(0, size - 2); + + return buffer; + } + + decodePacket(buf) { + return { + size: buf.readInt32LE(0), + id: buf.readInt32LE(4), + type: buf.readInt32LE(8), + body: buf.toString('utf8', 12, buf.byteLength - 2) + }; + } + + verbose(msg) { + if (this.verboseEnabled) + console.log(`[${Date.now()}] RCON (Verbose): ${msg}`); + } +} diff --git a/squad-server/rcon/protocol.js b/squad-server/rcon/protocol.js new file mode 100644 index 0000000..fd9e39a --- /dev/null +++ b/squad-server/rcon/protocol.js @@ -0,0 +1,12 @@ +export default { + SERVERDATA_EXECCOMMAND: 0x02, + SERVERDATA_RESPONSE_VALUE: 0x00, + + SERVERDATA_AUTH: 0x03, + SERVERDATA_AUTH_RESPONSE: 0x02, + + SERVERDATA_CHAT_VALUE: 0x01, + + ID_MID: 0x01, + ID_END: 0x02 +};

kcI~?D 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 h)x1U>2RLp0=H6 layer.layer === layerName); + return layer.length === 1 ? layer[0] : null; + } + + getLayerByLayerClassname(layerClassname) { + const layer = this.layers.filter( + layer => layer.layerClassname === layerClassname + ); + return layer.length === 1 ? layer[0] : null; + } + + getLayerNames() { + return this.layers.map(layer => layer.layer); + } + + getFilteredLayers(filter = {}) { + const whitelistedLayers = filter.whitelistedLayers || null; + const blacklistedLayers = filter.blacklistedLayers || null; + const whitelistedMaps = filter.whitelistedMaps || null; + const blacklistedMaps = filter.blacklistedMaps || null; + const whitelistedGamemodes = filter.whitelistedGamemodes || null; + const blacklistedGamemodes = filter.blacklistedGamemodes || ['Training']; + const flagCountMin = filter.flagCountMin || null; + const flagCountMax = filter.flagCountMax || null; + const hasCommander = filter.hasCommander || null; + const hasTanks = filter.hasTanks || null; + const hasHelicopters = filter.hasHelicopters || null; + + const layers = []; + + for (const layer of this.layers) { + // Whitelist / Blacklist Layers + if ( + whitelistedLayers !== null && + !whitelistedLayers.includes(layer.layer) + ) + continue; + if (blacklistedLayers !== null && blacklistedLayers.includes(layer.layer)) + continue; + + // Whitelist / Blacklist Maps + if (whitelistedMaps !== null && !whitelistedMaps.includes(layer.map)) + continue; + if (blacklistedMaps !== null && blacklistedMaps.includes(layer.map)) + continue; + + // Whitelist / Blacklist Gamemodes + if ( + whitelistedGamemodes !== null && + !whitelistedGamemodes.includes(layer.gamemode) + ) + continue; + if ( + blacklistedGamemodes !== null && + blacklistedGamemodes.includes(layer.gamemode) + ) + continue; + + // Flag Count + if (flagCountMin !== null && layer.flagCount < flagCountMin) continue; + if (flagCountMax !== null && layer.flagCount > flagCountMax) continue; + + // Other Properties + if (hasCommander !== null && layer.commander !== hasCommander) continue; + if (hasTanks !== null && (layer.tanks !== 'N/A') !== hasTanks) continue; + if ( + hasHelicopters !== null && + (layer.helicopters !== 'N/A') !== hasHelicopters + ) + continue; + + layers.push(layer.layer); + } + + return layers; + } + + isHistoryCompliant(layerHistory, layer, options = {}) { + const layerTolerance = options.layerTolerance || 4; + const mapTolerance = options.mapTolerance || 2; + const timeTolerance = options.timeTolerance || 5 * 60 * 60 * 1000; + + for (let i = 0; i < layerHistory.length; i++) { + if (i >= Math.max(layerHistory, mapTolerance)) return true; + if (new Date() - layerHistory[i].time > timeTolerance) return true; + + if ( + i < layerTolerance && + layerHistory[i].map === this.getLayerByLayerName(layer).map + ) + return false; + if (i < layerTolerance && layerHistory[i].layer === layer) return false; + } + return true; + } + + isPlayerCountCompliant(playerCount, layer) { + return !( + playerCount > + this.getLayerByLayerName(layer).estimatedSuitablePlayerCount.max || + playerCount < + this.getLayerByLayerName(layer).estimatedSuitablePlayerCount.min + ); + } +} + +export default new SquadLayers(); diff --git a/connectors/squad-layers/layers.json b/connectors/squad-layers/layers.json new file mode 100644 index 0000000..5d51f0e --- /dev/null +++ b/connectors/squad-layers/layers.json @@ -0,0 +1,5142 @@ +[ + { + "layer": "Al Basrah AAS v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_AAS_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "x1 for INS", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Al Basrah Insurgency v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_Insurgency_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "GB", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Al Basrah Invasion v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_Invasion_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunrise", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Al Basrah Invasion v2", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_Invasion_v2", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "x1 per team", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Al Basrah RAAS v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_RAAS_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "MIL", + "tickets": "300" + }, + "teamTwo": { + "faction": "INS", + "tickets": "300" + }, + "tanks": "x1 per team, 30min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Al Basrah Skirmish v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_Skirmish_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Al Basrah Skirmish v2", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_Skirmish_v2", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v2", + "lighting": "Sunrise", + "info": null, + "commander": false, + "flagCount": 4, + "teamOne": { + "faction": "MIL", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Al Basrah TC v1", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_TC_v1", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 67, + "teamOne": { + "faction": "GB", + "tickets": "400" + }, + "teamTwo": { + "faction": "INS", + "tickets": "400" + }, + "tanks": "x1 for INS, 30 min delay", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Al Basrah TC v2", + "map": "Al Basrah", + "layerClassname": "Al_Basrah_TC_v2", + "mapClassname": "Al_Basrah", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 53, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "INS", + "tickets": "400" + }, + "tanks": "x1 for INS, 20 min delay", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Belaya AAS v1", + "map": "Belaya", + "layerClassname": "Belaya_AAS_v1", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "300" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Belaya Invasion v1", + "map": "Belaya", + "layerClassname": "Belaya_Invasion_v1", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Belaya Invasion v2", + "map": "Belaya", + "layerClassname": "Belaya_Invasion_v2", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Overcast", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "900" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Belaya Invasion v3", + "map": "Belaya", + "layerClassname": "Belaya_Invasion_v3", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "Invasion", + "version": "v3", + "lighting": "Overcast", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "700" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Belaya RAAS v1", + "map": "Belaya", + "layerClassname": "Belaya_RAAS_v1", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Overcast", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Belaya RAAS v2", + "map": "Belaya", + "layerClassname": "Belaya_RAAS_v2", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Belaya RAAS v3", + "map": "Belaya", + "layerClassname": "Belaya_RAAS_v3", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Belaya Skirmish v1", + "map": "Belaya", + "layerClassname": "Belaya_Skirmish_v1", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Belaya TC v1", + "map": "Belaya", + "layerClassname": "Belaya_TC_v1", + "mapClassname": "Belaya", + "mapSize": "2x4 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 67, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Chora AAS v1", + "map": "Chora", + "layerClassname": "Chora_AAS_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Chora AAS v2", + "map": "Chora", + "layerClassname": "Chora_AAS_v2", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "AAS", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Chora Insurgency v1", + "map": "Chora", + "layerClassname": "Chora_Insurgency_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Chora Invasion v1", + "map": "Chora", + "layerClassname": "Chora_Invasion_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Chora Invasion v2", + "map": "Chora", + "layerClassname": "Chora_Invasion_v2", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Early Dawn (Dark)", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Chora RAAS v1", + "map": "Chora", + "layerClassname": "Chora_RAAS_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Chora RAAS v2", + "map": "Chora", + "layerClassname": "Chora_RAAS_v2", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Chora Skirmish v1", + "map": "Chora", + "layerClassname": "Chora_Skirmish_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 4, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Chora TC v1", + "map": "Chora", + "layerClassname": "Chora_TC_v1", + "mapClassname": "Chora", + "mapSize": "1x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 54, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Fool's Road AAS v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_AAS_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Afternoon", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Fool's Road AAS v2", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_AAS_v2", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v2", + "lighting": "Sunny Afternoon", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Fool's Road Destruction v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_Destruction_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "Destruction", + "version": "v1", + "lighting": "Sunny Afternoon", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "RU", + "tickets": "200" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "1000" + }, + "tanks": "x1 for RUS", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Fool's Road Invasion v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_Invasion_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunny Afternoon", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "700" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Fool's Road RAAS v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_RAAS_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Afternoon", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Fool's Road RAAS v2", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_RAAS_v2", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunny Afternoon", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Fool's Road RAAS v3", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_RAAS_v3", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunny Afternoon", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Fool's Road Skirmish v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_Skirmish_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sunny Afternoon", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Fool's Road Skirmish v2", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_Skirmish_v2", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v2", + "lighting": "Sunny Afternoon", + "info": null, + "commander": false, + "flagCount": 3, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Fool's Road TC v1", + "map": "Fool's Road", + "layerClassname": "FoolsRoad_TC_v1", + "mapClassname": "Fools_Road", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 30, + "teamOne": { + "faction": "RUS", + "tickets": "400" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Gorodok AAS v1", + "map": "Gorodok", + "layerClassname": "Gorodok_AAS_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "RUS", + "tickets": "300" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "300" + }, + "tanks": "x1 for MIL", + "helicopters": "x1 for RUS, 20min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok Destruction v1", + "map": "Gorodok", + "layerClassname": "Gorodok_Destruction_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "Destruction", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "1000" + }, + "tanks": "x1 for RUS, 30min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok Insurgency v1", + "map": "Gorodok", + "layerClassname": "Gorodok_Insurgency_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "RUS", + "tickets": "200" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "x1 for RUS, 20min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok Invasion v1", + "map": "Gorodok", + "layerClassname": "Gorodok_Invasion_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "x2 for USA, x2 for RUS, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok Invasion v2", + "map": "Gorodok", + "layerClassname": "Gorodok_Invasion_v2", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "900" + }, + "tanks": "x1 for MIL, 20min delay", + "helicopters": "x2 for RUS, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok RAAS v1", + "map": "Gorodok", + "layerClassname": "Gorodok_RAAS_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok RAAS v2", + "map": "Gorodok", + "layerClassname": "Gorodok_RAAS_v2", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok RAAS v3", + "map": "Gorodok", + "layerClassname": "Gorodok_RAAS_v3", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team, 20min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok RAAS v4", + "map": "Gorodok", + "layerClassname": "Gorodok_RAAS_v4", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 15min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Gorodok RAAS v5", + "map": "Gorodok", + "layerClassname": "Gorodok_RAAS_v5", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "RAAS", + "version": "v5", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Gorodok Skirmish v1", + "map": "Gorodok", + "layerClassname": "Gorodok_Skirmish_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Gorodok TC v1", + "map": "Gorodok", + "layerClassname": "Gorodok_TC_v1", + "mapClassname": "Gorodok", + "mapSize": "", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 64, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "Jensen's Range Training v1", + "map": "Jensen's Range", + "layerClassname": "Jensens_Range_v1", + "mapClassname": "Jensens_Range", + "mapSize": "4x4 km", + "gamemode": "Training", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "GB", + "tickets": "99999" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "99999" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 0, + "max": 80 + } + }, + { + "layer": "Jensen's Range Training v2", + "map": "Jensen's Range", + "layerClassname": "Jensens_Range_v2", + "mapClassname": "Jensens_Range", + "mapSize": "4x4 km", + "gamemode": "Training", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "99999" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "99999" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 0, + "max": 80 + } + }, + { + "layer": "Jensen's Range Training v3", + "map": "Jensen's Range", + "layerClassname": "Jensens_Range_v3", + "mapClassname": "Jensens_Range", + "mapSize": "4x4 km", + "gamemode": "Training", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "99999" + }, + "teamTwo": { + "faction": "INS", + "tickets": "99999" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 0, + "max": 80 + } + }, + { + "layer": "Kamdesh AAS v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_AAS_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh Insurgency v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Insurgency_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh Insurgency v2", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Insurgency_v2", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Insurgency", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "GB", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh Invasion v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Invasion_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Stormy", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "x2 for USA, 10min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh Invasion v2", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Invasion_v2", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "x1 per team", + "helicopters": "x2 for USA, 10min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh Invasion v3", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Invasion_v3", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "x1 for INS, 20min delay", + "helicopters": "x2 for USA, 10min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh RAAS v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_RAAS_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Stormy", + "info": "Lanes", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "MIL", + "tickets": "300" + }, + "teamTwo": { + "faction": "INS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kamdesh RAAS v2", + "map": "Kamdesh", + "layerClassname": "Kamdesh_RAAS_v2", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "250" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kamdesh RAAS v3", + "map": "Kamdesh", + "layerClassname": "Kamdesh_RAAS_v3", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kamdesh RAAS v4", + "map": "Kamdesh", + "layerClassname": "Kamdesh_RAAS_v4", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "INS", + "tickets": "300" + }, + "tanks": "x1 for INS, 10min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kamdesh Skirmish v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_Skirmish_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 3, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "GB", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Kamdesh TC v1", + "map": "Kamdesh", + "layerClassname": "Kamdesh_TC_v1", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 43, + "teamOne": { + "faction": "GB", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "Kamdesh TC v2", + "map": "Kamdesh", + "layerClassname": "Kamdesh_TC_v2", + "mapClassname": "Kamdesh", + "mapSize": "4x4 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 44, + "teamOne": { + "faction": "MIL", + "tickets": "400" + }, + "teamTwo": { + "faction": "INS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Kohat AAS v1", + "map": "Kohat", + "layerClassname": "Kohat_AAS_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kohat Insurgency v1", + "map": "Kohat", + "layerClassname": "Kohat_Insurgency_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Early Morning", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "x2 for USA", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kohat Invasion v1", + "map": "Kohat", + "layerClassname": "Kohat_Invasion_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "x1 for INS, 10min delay", + "helicopters": "x1 for USA", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kohat Invasion v2", + "map": "Kohat", + "layerClassname": "Kohat_Invasion_v2", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "700" + }, + "tanks": "x1 for INS, 10 min delay", + "helicopters": "x1 for USA, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kohat RAAS v1", + "map": "Kohat", + "layerClassname": "Kohat_RAAS_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kohat RAAS v2", + "map": "Kohat", + "layerClassname": "Kohat_RAAS_v2", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kohat RAAS v3", + "map": "Kohat", + "layerClassname": "Kohat_RAAS_v3", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS_DE", + "tickets": "300" + }, + "teamTwo": { + "faction": "INS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kohat RAAS v4", + "map": "Kohat", + "layerClassname": "Kohat_RAAS_v4", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Early Morning", + "info": null, + "commander": true, + "flagCount": 8, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Kohat Skirmish v1", + "map": "Kohat", + "layerClassname": "Kohat_Skirmish_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Early Morning", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "GB", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Kohat TC v1", + "map": "Kohat", + "layerClassname": "Kohat_TC_v1", + "mapClassname": "Kohat", + "mapSize": "4x4 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 39, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false + }, + { + "layer": "Kokan AAS v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_AAS_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Kokan Insurgency v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_Insurgency_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Mid Day Sunny", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kokan Invasion v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_Invasion_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS_DE", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Kokan RAAS v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_RAAS_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Kokan RAAS v2", + "map": "Kokan", + "layerClassname": "Kokan_Valley_RAAS_v2", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS_DE", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Kokan Skirmish v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_Skirmish_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "MIL", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Kokan TC v1", + "map": "Kokan", + "layerClassname": "Kokan_Valley_TC_v1", + "mapClassname": "Kokan_Valley", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 37, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "INS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Logar Valley AAS v1", + "map": "Logar Valley", + "layerClassname": "LogarValley_AAS_v1", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 8, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "200" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Logar Valley AAS v2", + "map": "Logar Valley", + "layerClassname": "LogarValley_AAS_v2", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "AAS", + "version": "v2", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "200" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Logar Valley Insurgency v1", + "map": "Logar Valley", + "layerClassname": "LogarValley_Insurgency_v1", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Evening", + "info": null, + "commander": false, + "flagCount": 0, + "teamOne": { + "faction": "RUS_DE", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Logar Valley RAAS v1", + "map": "Logar Valley", + "layerClassname": "LogarValley_RAAS_v1", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": false, + "flagCount": 7, + "teamOne": { + "faction": "RUS_DE", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Logar Valley Skirmish v1", + "map": "Logar Valley", + "layerClassname": "LogarValley_Skirmish_v1", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Evening", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "MIL", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Logar Valley TC v1", + "map": "Logar Valley", + "layerClassname": "LogarValley_TC_v1", + "mapClassname": "Logar_Valley", + "mapSize": "1x1 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 42, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "INS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Mestia AAS v1", + "map": "Mestia", + "layerClassname": "Mestia_AAS_v1", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "RUS", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Mestia Invasion v1", + "map": "Mestia", + "layerClassname": "Mestia_Invasion_v1", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "700" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Mestia Invasion v2", + "map": "Mestia", + "layerClassname": "Mestia_Invasion_v2", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Sunny Afternoon", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Mestia RAAS v1", + "map": "Mestia", + "layerClassname": "Mestia_RAAS_v1", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Mestia Skirmish v1", + "map": "Mestia", + "layerClassname": "Mestia_Skirmish_v1", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sunset", + "info": null, + "commander": false, + "flagCount": 4, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Mestia TC v1", + "map": "Mestia", + "layerClassname": "Mestia_TC_v1", + "mapClassname": "Mestia", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 22, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Mutaha AAS v1", + "map": "Mutaha", + "layerClassname": "Mutaha_AAS_v1", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Mutaha Invasion v1", + "map": "Mutaha", + "layerClassname": "Mutaha_Invasion_v1", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Dusk", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x1 for USA, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Mutaha RAAS v1", + "map": "Mutaha", + "layerClassname": "Mutaha_RAAS_v1", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x1 per team, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Mutaha Skirmish v1", + "map": "Mutaha", + "layerClassname": "Mutaha_Skirmish_v1", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sandstorm", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Mutaha TC v1", + "map": "Mutaha", + "layerClassname": "Mutaha_TC_v1", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 19, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Mutaha TC v2", + "map": "Mutaha", + "layerClassname": "Mutaha_TC_v2", + "mapClassname": "Mutaha", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 36, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "400" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "Narva AAS v1", + "map": "Narva", + "layerClassname": "Narva_AAS_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Mid Day Clouds", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Narva AAS v2", + "map": "Narva", + "layerClassname": "Narva_AAS_v2", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v2", + "lighting": "Mid Day Clouds", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Narva AAS v3", + "map": "Narva", + "layerClassname": "Narva_AAS_v3", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "AAS", + "version": "v3", + "lighting": "Foggy", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Narva Destruction v1", + "map": "Narva", + "layerClassname": "Narva_Destruction_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "Destruction", + "version": "v1", + "lighting": "Mid Day Clouds", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "1000" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "200" + }, + "tanks": "x1 for RUS", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Narva Invasion v1", + "map": "Narva", + "layerClassname": "Narva_Invasion_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "800" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Narva Invasion v2", + "map": "Narva", + "layerClassname": "Narva_Invasion_v2", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Mid Day Clouds", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "800" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Narva RAAS v1", + "map": "Narva", + "layerClassname": "Narva_RAAS_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Mid Day Clouds", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 30min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Narva Skirmish v1", + "map": "Narva", + "layerClassname": "Narva_Skirmish_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Narva TC v1", + "map": "Narva", + "layerClassname": "Narva_TC_v1", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Foggy", + "info": null, + "commander": true, + "flagCount": 30, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Narva TC v2", + "map": "Narva", + "layerClassname": "Narva_TC_v2", + "mapClassname": "Narva", + "mapSize": "2x2 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Mid Day Clouds", + "info": null, + "commander": true, + "flagCount": 56, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "x1 per team, 30min delay", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Skorpo AAS v1", + "map": "Skorpo", + "layerClassname": "Skorpo_AAS_v1", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Skorpo Invasion v1", + "map": "Skorpo", + "layerClassname": "Skorpo_Invasion_v1", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "900" + }, + "tanks": "x2 for USA", + "helicopters": "x3 for USA", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Skorpo Invasion v2", + "map": "Skorpo", + "layerClassname": "Skorpo_Invasion_v2", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Foggy", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "RUS", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Skorpo RAAS v1", + "map": "Skorpo", + "layerClassname": "Skorpo_RAAS_v1", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Foggy", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Skorpo RAAS v2", + "map": "Skorpo", + "layerClassname": "Skorpo_RAAS_v2", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Stormy", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 30min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Skorpo RAAS v3", + "map": "Skorpo", + "layerClassname": "Skorpo_RAAS_v3", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Stormy", + "info": "Lanes", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "350" + }, + "tanks": "x1 per team, 30min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Skorpo RAAS v4", + "map": "Skorpo", + "layerClassname": "Skorpo_RAAS_v4", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Stormy", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Skorpo Skirmish v1", + "map": "Skorpo", + "layerClassname": "Skorpo_Skirmish_v1", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Foggy", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Skorpo TC v1", + "map": "Skorpo", + "layerClassname": "Skorpo_TC_v1", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 34, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Skorpo TC v2", + "map": "Skorpo", + "layerClassname": "Skorpo_TC_v2", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 41, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Skorpo TC v3", + "map": "Skorpo", + "layerClassname": "Skorpo_TC_v3", + "mapClassname": "Skorpo", + "mapSize": "5x5 km", + "gamemode": "TC", + "version": "v3", + "lighting": "Foggy", + "info": null, + "commander": true, + "flagCount": 110, + "teamOne": { + "faction": "USA", + "tickets": "500" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "500" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Sumari AAS v1", + "map": "Sumari", + "layerClassname": "Sumari_AAS_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunrise", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Sumari Invasion v1", + "map": "Sumari", + "layerClassname": "Sumari_Invasion_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunrise", + "info": "Random", + "commander": false, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "900" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Sumari Insurgency v1", + "map": "Sumari", + "layerClassname": "Sumari_Insurgency_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "Insurgency", + "version": "v1", + "lighting": "Sunrise", + "info": null, + "commander": false, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "600" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Sumari RAAS v1", + "map": "Sumari", + "layerClassname": "Sumari_RAAS_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": false, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Sumari RAAS v2", + "map": "Sumari", + "layerClassname": "Sumari_RAAS_v2", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": false, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "250" + }, + "teamTwo": { + "faction": "INS", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 36, + "max": 80 + } + }, + { + "layer": "Sumari Skirmish v1", + "map": "Sumari", + "layerClassname": "Sumari_Skirmish_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Full Moon (Dark)", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "MIL", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Sumari TC v1", + "map": "Sumari", + "layerClassname": "Sumari_TC_v1", + "mapClassname": "Sumari", + "mapSize": "1x1 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": false, + "flagCount": 24, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "INS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Tallil Outskirts AAS v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_AAS_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts Invasion v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Invasion_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Morning Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "800" + }, + "tanks": "x2 per team, 5 min delay for RUS", + "helicopters": "x2 per team, 5m delay for RUS", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts Invasion v2", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Invasion_v2", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Morning Sunrise", + "info": "Random", + "commander": true, + "flagCount": 3, + "teamOne": { + "faction": "RUS_DE", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "700" + }, + "tanks": "x1 for INS 20 min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts Invasion v3", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Invasion_v3", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Invasion", + "version": "v3", + "lighting": "Morning Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "N/A", + "helicopters": "x1 USA, 20m delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts RAAS v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_RAAS_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts RAAS v2", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_RAAS_v2", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Morning Sunrise", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts RAAS v3", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_RAAS_v3", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x1 per team", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts RAAS v4", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_RAAS_v4", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "GB", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Tallil Outskirts Skirmish v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Skirmish_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Sandstorm", + "info": null, + "commander": false, + "flagCount": 6, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Tallil Outskirts Skirmish v2", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Skirmish_v2", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Skirmish", + "version": "v2", + "lighting": "Morning Sunrise", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Tallil Outskirts Skirmish v3", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Skirmish_v3", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Skirmish", + "version": "v3", + "lighting": "Sunny Mid Day", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "MIL", + "tickets": "200" + }, + "teamTwo": { + "faction": "INS", + "tickets": "200" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Tallil Outskirts Tanks v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Tanks_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Tanks", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x6 per team", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Tallil Outskirts Tanks v2", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_Tanks_v2", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "Tanks", + "version": "v2", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "x6 per team", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Tallil Outskirts TC v1", + "map": "Tallil Outskirts", + "layerClassname": "Tallil_Outskirts_TC_v1", + "mapClassname": "Tallil_Outskirts", + "mapSize": "4x4 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 64, + "teamOne": { + "faction": "USA", + "tickets": "500" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "500" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false + }, + { + "layer": "Tutorials Infantry Training Tutorial", + "map": "Tutorials", + "layerClassname": "Tutorials_Infantry_Training_Tutorial", + "mapClassname": "Tutorials", + "mapSize": "", + "gamemode": "Infantry", + "version": "Training", + "lighting": "Sunny Mid Day", + "info": "Offline", + "commander": false, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "N/A" + }, + "teamTwo": { + "faction": "N/A", + "tickets": "N/A" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "Tutorials Helicopter Training Tutorial", + "map": "Tutorials", + "layerClassname": "Tutorials_Helicopter_Training_Tutorial", + "mapClassname": "Tutorials", + "mapSize": "", + "gamemode": "Helicopter", + "version": "Training", + "lighting": "Sunny Mid Day", + "info": "Offline", + "commander": false, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "N/A" + }, + "teamTwo": { + "faction": "N/A", + "tickets": "N/A" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "Yehorivka AAS v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_AAS_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "AAS", + "version": "v1", + "lighting": "Sunrise", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "GB", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka AAS v2", + "map": "Yehorivka", + "layerClassname": "Yehorivka_AAS_v2", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "AAS", + "version": "v2", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka Destruction v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Destruction_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Destruction", + "version": "v1", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "1000" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team, 4m delay for RUS", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka Invasion v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Invasion_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Invasion", + "version": "v1", + "lighting": "Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "GB", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 for GB", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka Invasion v2", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Invasion_v2", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Invasion", + "version": "v2", + "lighting": "Mixed Clouds Mid Day", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "800" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "x1 per team", + "helicopters": "x2 per team, 2m delay for USA", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka RAAS v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_RAAS_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v1", + "lighting": "Mixed Clouds Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka RAAS v2", + "map": "Yehorivka", + "layerClassname": "Yehorivka_RAAS_v2", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v2", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Yehorivka RAAS v3", + "map": "Yehorivka", + "layerClassname": "Yehorivka_RAAS_v3", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v3", + "lighting": "Sunrise", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "GB", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "Yehorivka RAAS v4", + "map": "Yehorivka", + "layerClassname": "Yehorivka_RAAS_v4", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v4", + "lighting": "Overcast", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Yehorivka RAAS v5", + "map": "Yehorivka", + "layerClassname": "Yehorivka_RAAS_v5", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "RAAS", + "version": "v5", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "N/A", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "Yehorivka Skirmish v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Skirmish_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Skirmish", + "version": "v1", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Yehorivka Skirmish v2", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Skirmish_v2", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Skirmish", + "version": "v2", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "USA", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Yehorivka Skirmish v3", + "map": "Yehorivka", + "layerClassname": "Yehorivka_Skirmish_v3", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "Skirmish", + "version": "v3", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": false, + "flagCount": 4, + "teamOne": { + "faction": "USA", + "tickets": "200" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "200" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "Yehorivka TC v1", + "map": "Yehorivka", + "layerClassname": "Yehorivka_TC_v1", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "TC", + "version": "v1", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 57, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "Yehorivka TC v2", + "map": "Yehorivka", + "layerClassname": "Yehorivka_TC_v2", + "mapClassname": "Yehorivka", + "mapSize": "5x5 km", + "gamemode": "TC", + "version": "v2", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 67, + "teamOne": { + "faction": "USA", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "CAF_Al_Basrah_Invasion_v1", + "map": "CAF_Al_Basrah", + "layerClassname": "CAF_Al_Basrah_Invasion_v1", + "mapClassname": "CAF_Al_Basrah", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF_AR", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "x1 per team", + "helicopters": "N/A", + "newForVersion": true, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Gorodok_Invasion_v1", + "map": "CAF_Gorodok", + "layerClassname": "CAF_Gorodok_Invasion_v1", + "mapClassname": "CAF_Gorodok", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Gorodok_RAAS_v1", + "map": "CAF_Gorodok", + "layerClassname": "CAF_Gorodok_RAAS_v1", + "mapClassname": "CAF_Gorodok", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Gorodok_RAAS_v2", + "map": "CAF_Gorodok", + "layerClassname": "CAF_Gorodok_RAAS_v2", + "mapClassname": "CAF_Gorodok", + "gamemode": "RAAS", + "version": "v2", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Gorodok_TC_v1", + "map": "CAF_Gorodok", + "layerClassname": "CAF_Gorodok_TC_v1", + "mapClassname": "CAF_Gorodok", + "gamemode": "TC", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 64, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "CAF_Jensens_Range_v4", + "map": "CAF_Jensens_Range", + "layerClassname": "CAF_Jensens_Range_v4", + "mapClassname": "CAF_Jensens_Range", + "gamemode": "Training", + "version": "v4", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 0, + "teamOne": { + "faction": "CAF_AR", + "tickets": "99999" + }, + "teamTwo": { + "faction": "INS", + "tickets": "99999" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 0, + "max": 80 + } + }, + { + "layer": "CAF_Kamdesh_Invasion_v1", + "map": "CAF_Kamdesh", + "layerClassname": "CAF_Kamdesh_Invasion_v1", + "mapClassname": "CAF_Kamdesh", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "800" + }, + "tanks": "x1 per team, 10min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Kamdesh_RAAS_v1", + "map": "CAF_Kamdesh", + "layerClassname": "CAF_Kamdesh_RAAS_v1", + "mapClassname": "CAF_Kamdesh", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF_AR", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 40, + "max": 80 + } + }, + { + "layer": "CAF_Kamdesh_TC_v1", + "map": "CAF_Kamdesh", + "layerClassname": "CAF_Kamdesh_TC_v1", + "mapClassname": "CAF_Kamdesh", + "gamemode": "TC", + "version": "v1", + "dlc": "CAF", + "lighting": "Stormy", + "info": null, + "commander": true, + "flagCount": 33, + "teamOne": { + "faction": "CAF_AR", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false + }, + { + "layer": "CAF_Kohat_Invasion_v1", + "map": "CAF_Kohat", + "layerClassname": "CAF_Kohat_Invasion_v1", + "mapClassname": "CAF_Kohat", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "INS", + "tickets": "700" + }, + "tanks": "N/A", + "helicopters": "x1 for CAF, 20min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_AAS_v1", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_AAS_v1", + "mapClassname": "CAF_Manic", + "gamemode": "AAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 10min delay", + "helicopters": "x1 per team", + "newForVersion": true, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_Invasion_v1", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_Invasion_v1", + "mapClassname": "CAF_Manic", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Afternoon", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "700" + }, + "tanks": "x1 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_Invasion_v2", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_Invasion_v2", + "mapClassname": "CAF_Manic", + "gamemode": "Invasion", + "version": "v2", + "dlc": "CAF", + "lighting": "Sunset", + "info": "Random", + "commander": true, + "flagCount": 4, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "USA", + "tickets": "700" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_RAAS_v1", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_RAAS_v1", + "mapClassname": "CAF_Manic", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 10min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_RAAS_v2", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_RAAS_v2", + "mapClassname": "CAF_Manic", + "gamemode": "RAAS", + "version": "v2", + "dlc": "CAF", + "lighting": "Afternoon", + "info": "Lanes ", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "350" + }, + "tanks": "N/A", + "helicopters": "x1 for CAF", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "CAF_Manic_RAAS_v3", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_RAAS_v3", + "mapClassname": "CAF_Manic", + "gamemode": "RAAS", + "version": "v3", + "dlc": "CAF", + "lighting": "Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x3 per team", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Manic_RAAS_v4", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_RAAS_v4", + "mapClassname": "CAF_Manic", + "gamemode": "RAAS", + "version": "v4", + "dlc": "CAF", + "lighting": "Sunset", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x3 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "CAF_Manic_Skirmish_v1", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_Skirmish_v1", + "mapClassname": "CAF_Manic", + "gamemode": "Skirmish", + "version": "v1", + "dlc": "CAF", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "CAF_Manic_Skirmish_v2", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_Skirmish_v2", + "mapClassname": "CAF_Manic", + "gamemode": "Skirmish", + "version": "v2", + "dlc": "CAF", + "lighting": "Overcast", + "info": null, + "commander": false, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "USA", + "tickets": "150" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "mix": 0, + "max": 40 + } + }, + { + "layer": "CAF_Manic_TC_v1", + "map": "CAF_Manic", + "layerClassname": "CAF_Manic_TC_v1", + "mapClassname": "CAF_Manic", + "gamemode": "TC", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunset", + "info": null, + "commander": true, + "flagCount": 55, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + }, + { + "layer": "CAF_Mestia_RAAS_v1", + "map": "CAF_Mestia", + "layerClassname": "CAF_Mestia_RAAS_v1", + "mapClassname": "CAF_Mestia", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Overcast", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "250" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "250" + }, + "tanks": "N/A", + "helicopters": "N/A", + "newForVersion": true, + "estimatedSuitablePlayerCount": { + "min": 40, + "max": 80 + } + }, + { + "layer": "CAF_Mutaha_RAAS_v1", + "map": "CAF_Mutaha", + "layerClassname": "CAF_Mutaha_RAAS_v1", + "mapClassname": "CAF_Mutaha", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Mixed Clouds Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF_AR", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "300" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": true, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "CAF_Nanisivik_Invasion_v1", + "map": "CAF_Nanisivik", + "layerClassname": "CAF_Nanisivik_Invasion_v1", + "mapClassname": "CAF_Nanisivik", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Snowstorm", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "800" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "150" + }, + "tanks": "x1 per team, 6min delay", + "helicopters": "x1 per team, 6min delay", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Nanisivik_RAAS_v1", + "map": "CAF_Nanisivik", + "layerClassname": "CAF_Nanisivik_RAAS_v1", + "mapClassname": "CAF_Nanisivik", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Snowstorm", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x1 per team, 10min delay", + "helicopters": "x1 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Narva_RAAS_v1", + "map": "CAF_Narva", + "layerClassname": "CAF_Narva_RAAS_v1", + "mapClassname": "CAF_Narva", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Mixed Clouds Mid Day", + "info": "Lanes", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "300" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "300" + }, + "tanks": "x1 per team, 6min delay", + "helicopters": "N/A", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 45, + "max": 80 + } + }, + { + "layer": "CAF_Tallil_Outskirts_RAAS_v1", + "map": "CAF_Tallil_Outskirts", + "layerClassname": "CAF_Tallil_Outskirts_RAAS_v1", + "mapClassname": "CAF_Tallil_Outskirts", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunny Mid Day", + "info": null, + "commander": true, + "flagCount": 6, + "teamOne": { + "faction": "CAF_AR", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS_DE", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Yehorivka_Invasion_v1", + "map": "CAF_Yehorivka", + "layerClassname": "CAF_Yehorivka_Invasion_v1", + "mapClassname": "CAF_Yehorivka", + "gamemode": "Invasion", + "version": "v1", + "dlc": "CAF", + "lighting": "Sunrise", + "info": "Random", + "commander": true, + "flagCount": 5, + "teamOne": { + "faction": "CAF", + "tickets": "150" + }, + "teamTwo": { + "faction": "MIL", + "tickets": "800" + }, + "tanks": "x1 per team", + "helicopters": "x1 for CAF", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Yehorivka_RAAS_v1", + "map": "CAF_Yehorivka", + "layerClassname": "CAF_Yehorivka_RAAS_v1", + "mapClassname": "CAF_Yehorivka", + "gamemode": "RAAS", + "version": "v1", + "dlc": "CAF", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 7, + "teamOne": { + "faction": "CAF", + "tickets": "350" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "350" + }, + "tanks": "x2 per team, 20min delay", + "helicopters": "x2 per team", + "newForVersion": false, + "estimatedSuitablePlayerCount": { + "min": 54, + "max": 80 + } + }, + { + "layer": "CAF_Yehorivka_TC_v1", + "map": "CAF_Yehorivka", + "layerClassname": "CAF_Yehorivka_TC_v1", + "mapClassname": "CAF_Yehorivka", + "gamemode": "TC", + "version": "v1", + "dlc": "CAF", + "lighting": "Mixed Clouds Mid Day", + "info": null, + "commander": true, + "flagCount": 67, + "teamOne": { + "faction": "CAF", + "tickets": "400" + }, + "teamTwo": { + "faction": "RUS", + "tickets": "400" + }, + "tanks": "N/A", + "helicopters": "x1 per team", + "newForVersion": false + } +] \ No newline at end of file diff --git a/core/config.js b/core/config.js new file mode 100644 index 0000000..f0d0adb --- /dev/null +++ b/core/config.js @@ -0,0 +1,4 @@ +/* As set out by the terms of the license, the following should not be modified. */ +const COPYRIGHT_MESSAGE = 'SquadJS, Copyright © 2020 Thomas Smyth'; + +export { COPYRIGHT_MESSAGE }; diff --git a/core/package.json b/core/package.json new file mode 100644 index 0000000..b836a4a --- /dev/null +++ b/core/package.json @@ -0,0 +1,10 @@ +{ + "name": "core", + "version": "1.0.0", + "type": "module", + "exports": { + "./config": "./config.js", + "./utils/print-logo": "./utils/print-logo.js", + "./utils/sleep": "./utils/sleep.js" + } +} diff --git a/core/utils/print-logo.js b/core/utils/print-logo.js new file mode 100644 index 0000000..9c0feb5 --- /dev/null +++ b/core/utils/print-logo.js @@ -0,0 +1,18 @@ +import { COPYRIGHT_MESSAGE } from '../config.js'; + +const LOGO = ` + _____ ____ _ _ _____ _ + / ____|/ __ \\| | | | /\\ | __ \\ (_) + | (___ | | | | | | | / \\ | | | | _ ___ + \\___ \\| | | | | | |/ /\\ \\ | | | || / __| + ____) | |__| | |__| / ____ \\| |__| || \\__ \\ + |_____/ \\___\\_\\\\____/_/ \\_\\_____(_) |___/ + _/ | + |__/ +${COPYRIGHT_MESSAGE} +GitHub: https://github.com/Thomas-Smyth/SquadJS +`; + +export default function() { + console.log(LOGO); +} diff --git a/core/utils/sleep.js b/core/utils/sleep.js new file mode 100644 index 0000000..280e40b --- /dev/null +++ b/core/utils/sleep.js @@ -0,0 +1,5 @@ +export default function(time) { + return new Promise(resolve => { + setTimeout(resolve, time); + }); +} diff --git a/index.js b/index.js new file mode 100644 index 0000000..5f3d654 --- /dev/null +++ b/index.js @@ -0,0 +1,67 @@ +import Discord from 'discord.js'; +import mysql from 'mysql'; +import Influx from 'influx'; + +import Server from 'squad-server'; + +import { + discordAdminCamLogs, + discordChat, + discordServerStatus, + discordTeamkill, + influxdbLog, + influxdbLogDefaultSchema, + mapvote, + mysqlLog, + teamRandomizer +} from 'plugins'; + +async function main() { + const server = new Server({ + id: 1, + + host: 'xxx.xxx.xxx.xxx', + queryPort: 27165, + rconPort: 21114, + rconPassword: 'password', + logDir: 'C:/path/to/squad/log/folder' + }); + + // Discord Plugins + const discordClient = new Discord.Client(); + await discordClient.login('Discord Login Token'); + await discordAdminCamLogs(server, discordClient, 'discordChannelID'); + await discordChat(server, discordClient, 'discordChannelID'); + await discordServerStatus(server, discordClient); + await discordTeamkill(server, discordClient, 'discordChannelID'); + + // in game features + mapvote(server); + teamRandomizer(server); + + // MySQL Plugins + const mysqlPool = mysql.createPool({ + connectionLimit: 10, + host: 'host', + port: 3306, + user: 'squadjs', + password: 'password', + database: 'squadjs' + }); + mysqlLog(server, mysqlPool); + + // Influx Plugins + const influxDB = new Influx.InfluxDB({ + host: 'host', + port: 8086, + username: 'squadjs', + password: 'password', + database: 'squadjs', + schema: influxdbLogDefaultSchema + }); + influxdbLog(server, influxDB); + + await server.watch(); +} + +main(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..dd05ae4 --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "SquadJS", + "version": "0.0.1", + "repository": "https://github.com/Thomas-Smyth/SquadJS.git", + "author": "Thomas Smyth ", + "license": "MIT", + "private": true, + "workspaces": [ + "assets", + "connectors", + "core", + "plugins", + "squad-server" + ], + "scripts": { + "lint": "eslint --fix . && prettier --write \"./**/*.js\"", + "test-log-parser-coverage": "node squad-server/log-parser/test-coverage.js" + }, + "type": "module", + "dependencies": { + "discord.js": "^12.2.0", + "influx": "^5.5.1", + "mysql": "^2.18.1", + "plugins": "1.0.0", + "squad-server": "1.0.0" + }, + "devDependencies": { + "eslint": "5.12.0", + "eslint-config-prettier": "^6.6.0", + "eslint-config-standard": "^14.1.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-node": "^10.0.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.0.1", + "husky": "^3.1.0", + "lint-staged": "^9.4.3", + "prettier": "^1.19.1" + } +} diff --git a/plugins/discord-admin-cam-logs/README.md b/plugins/discord-admin-cam-logs/README.md new file mode 100644 index 0000000..f024a26 --- /dev/null +++ b/plugins/discord-admin-cam-logs/README.md @@ -0,0 +1,30 @@ +