A script for SquadJS, whose task is to block a role for a player if his total time in the game is less than the time required for the role
Role blocking is performed by removing a player from the squad (the role is reset in this case).
Tested on SquadJS 4.1.0
- Query total time of players via Steam API
- Blocking unlimited number of roles by time in the game via regular expressions of any complexity
- Blocking squad leader until a certain time in the game
- Work starting from the set threshold of players on the server
- Showing blocked roles to the player when logging into the server and via the !blocked command (by default).
- Manual update of player's time via !update (default), in case the player opened his profile while on the server.
- Show player's total time in the game when logging in to the server
Install the y18n library in Squadjs.
npm install y18n
- Download the repository Steam Playtime Searcher
git clone https://github.com/ar1ocker/Steam-Playtime-Searcher
-
Copy the
Steam-Playtime-Searcher/playtime-searcher.js
plugin tosquadjs/squad-server/plugins/
folder -
Download the repository SquadJS Random Patches
git clone https://github.com/ar1ocker/SquadJS-Random-Patches
- Apply the new-emit.patch while in the
<path to squadjs on the server>/
folder.
git apply <path to patch file> --verbose
- Download the repository
git clone https://github.com/ar1ocker/SquadJS-Playtime-Role-Ban
Copy the playtime-role-ban.js
plugin, playtime-searcher.js
module and the playtime-role-ban-locales
folder to the squadjs/squad-server/plugins
folder
Basically similar to any other plugin for SquadJS, but you will need a steam API key to get the game time of users who log in to the server.
The plugin language is configured via the config parameter - language
STEAM KEY IS BEST TAKEN FROM AN EMPTY ACCOUNT, THE KEY HAS TOO MANY PERMISSIONS, IF STOLEN IT WILL BE A NUISANCE.
Steam allows you to get API key only for accounts that have 5 euros on their account or the total price of games - 5 euros.
You can get API key at steam dev.
If the user has hidden his time in the game - the script will ask to open the profile
Скрипт для SquadJS, задача которого - заблокировать роль для игрока если его общее время в игре меньше чем требуется для роли
Блокировка роли происходит путём удаления игрока из отряда (роль в таком случае сбрасывается)
Работоспособность проверена на версии SquadJS 4.1.0
- Запрос суммарного времени игроков через API Steam
- Блокировка неограниченного количества ролей по времени в игре через регулярные выражения любой сложности
- Блокирование лидерства в скваде (squad leader) до определенного времени в игре
- Работа начиная с выставленного порога игроков на сервере
- Показ игроку заблокированных для него ролей при входе на сервер и через команду !blocked (по умолчанию)
- Ручное обновление времени игрока через команду !update (по умолчанию), на случай если игрок открыл свой профиль находясь на сервере
- Показ игроку его суммарного времени в игре при входе на сервер
Установите библиотеку y18n в Squadjs
npm install y18n
- Скачайте репозиторий Steam Playtime Searcher
git clone https://github.com/ar1ocker/Steam-Playtime-Searcher
-
Скопируйте
Steam-Playtime-Searcher/playtime-searcher.js
плагин вsquadjs/squad-server/plugins/
-
Скачайте репозиторий SquadJS Random Patches
git clone https://github.com/ar1ocker/SquadJS-Random-Patches
- Примените патч new-emit.patch находясь в папке
<путь до squadjs на сервере>/
git apply <путь до файла patch> --verbose
- Скачайте репозиторий SquadJS Playtime Role Ban
git clone https://github.com/ar1ocker/SquadJS-Playtime-Role-Ban
Скопируйте плагин playtime-role-ban.js
, playtime-searcher.js
модуль и папку playtime-role-ban-locales
в папку squadjs/squad-server/plugins
В основном аналогична любым другим плагинам для SquadJS, но вам нужен будет API ключ от аккаунта steam, чтобы получать время игры пользователей которые заходят на сервер.
Настройка языка плагина осуществляется через параметр конфига - language, русский язык тоже доступен
КЛЮЧ ОТ АККАУНТА STEAM ЛУЧШЕ БРАТЬ ОТ ПУСТОГО АККАУНТА, КЛЮЧ ИМЕЕТ СЛИШКОМ МНОГО ПРАВ, ЕСЛИ УКРАДУТ - БУДЕТ НЕПРИЯТНО
Steam позволяет получать API ключ только для аккаунтов у которых если на счету 5 евро либо суммарная цена игр - 5 евро
Получить API ключ можно на steam dev
Если пользователь скрыл своё время в игре - скрипт попросить открыть профиль