Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
NoVa41rus

[Гайд] FAQ по Permission (pex)

Рекомендованные сообщения

Небольшой FAQ по PermissionsEx, дабы отправлять всех сюда, если модераторы сочтут нужным, тему можно закрепить, переместить или удалить вообще  :smile: 

 

Установка плагина:

1) Скачать сам плагин, свежую версию ВСЕГДА можно найти по ЭТОЙ ссылке.

После скачивания архива мы обнаружим в нём следующие файлы:

2b71e67c3199.jpg

2 )Перемещаем (копируем) файлы (ChatManager, Modifyworld, Permissions, PermissionsEx) в папку плагинов вашего сервера (путь для примера: C:\Server\plugins)

3) Запускаем сервер, дожидаемся надписи "Done" в консоли сервера и останавливаем его.

4) Идём в папку Plugins и видим следующие:

ecc52e2132e1.jpg

Если вы сделали всё правильно и увидели созданные плагином папки, то можете считать что плагин установлен.

 

Настройка PermissionsEx:

Для упрощения настройки можете воспользоваться программой от LordXaosa

Для начала давайте рассмотрим файл permissions.yml по адресу (ваш сервер\plugins\PermissionsEx).

Ремарка: файлы с расширением .yml можно просматривать ЛЮБЫМ текстовым редактором, но для удобства рекомендую пользоваться Notepad++ (СКАЧАТЬ)

 

Открыв файл мы увидим следующие: 

940204c69898.jpg

По порядку:

 

groups: //не трогаем данное слово, оно указывает на то, что ниже будут идти группы и их permissions.

default: //название группы в неё попадают все только что зашедшие на сервер пользователи, если конечно вы не прописали их в другую группу.

default: true // данный параметр задаёт группу, как группу по-умолчанию. это означает, что все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.

permissions: //всё что идёт ниже, это собственно и есть сами "права" для группы, туда нужно прописывать permissions от различных плагинов установленных на вашем сервере.

- modifyworld.* //возможность "модифицировать" мир, не рекомендую трогать данный параметр.

Ремарка: на самом деле у параметра "modifyworld" намного больше значений, но поскольку это небольшой FAQ и здесь рассказывается только об самом главном я не стал пояснять этот параметр, если вам интересно вы можете почитать официальную документацию на английском по ЭТОЙ ссылке.

 

Теперь давайте рассмотрим уже настроенный permissions для нескольких плагинов.



groups:


    default:


        default: true


        permissions:


        - modifyworld.*


        - commandbook.spawn


        - commandbook.who


        - commandbook.say


        - commandbook.msg


        - myhome.home.soc.*


        - iConomy.access


        - iConomy.bank.access


        - iConomy.bank.deposit


        - iConomy.bank.join


        - iConomy.bank.join.multiple


        - iConomy.bank.leave


        - iConomy.bank.list


        - iConomy.bank.main


        - iConomy.bank.main.change


        - iConomy.bank.main.set


        - iConomy.bank.main.view


        - iConomy.bank.transfer


        - iConomy.bank.transfer.multiple


        - iConomy.bank.withdraw


        - iConomy.list


        - iConomy.payment


        - iConomy.rank


        - jobs.join.*


        - jobs.world.*


        - lwc.protect


        - iConomyChestShop.shop.create


        - iConomyChestShop.shop.create.<id>


        - iConomyChestShop.shop.exclude.<id>


        - iConomyChestShop.shop.buy


        - iConomyChestShop.shop.sell


        - iConomyChestShop.command.iteminfo


        - commandbook.call


        - commandbook.time.check


        - commandbook.rules


        - myhome.home.basic.home


        - myhome.home.basic.set


        - myhome.home.basic.delete


        - myhome.home.soc.invite


    Moder:


        default: false


        inheritance:


        - Default


        permissions:


        - modifyworld.*


        - commandbook.kick


        - commandbook.bans.ban


        - commandbook.bans.unban


        - commandbook.shock.other


        - commandbook.rocket.other


        - commandbook.shock


        - commandbook.rocket


        - commandbook.mute


        - commandbook.teleport.*


        - commandbook.spawn


        - commandbook.kit.list


        - commandbook.who


        - commandbook.say


        - commandbook.msg


        - worldgurad.god


        - worldguard.ungod


        - worldguard.god.other


        - worldguard.ungod.other


        - worldguard.heal.*


        - worldguard.slay.*


        - myhome.*


        - iConomy.access


        - iConomy.bank.access


        - iConomy.bank.deposit


        - iConomy.bank.join


        - iConomy.bank.join.multiple


        - iConomy.bank.leave


        - iConomy.bank.list


        - iConomy.bank.main


        - iConomy.bank.main.change


        - iConomy.bank.main.set


        - iConomy.bank.main.view


        - iConomy.bank.transfer


        - iConomy.bank.transfer.multiple


        - iConomy.bank.withdraw


        - iConomy.list


        - iConomy.payment


        - iConomy.rank


        - jobs.join.*


        - jobs.world.*


        - commandbook.whereami.compass


        - commandbook.whereami


        - lwc.protect


        - iConomyChestShop.shop.create


        - iConomyChestShop.shop.create.<id>


        - iConomyChestShop.shop.exclude.<id>


        - iConomyChestShop.shop.buy


        - iConomyChestShop.shop.sell


        - iConomyChestShop.command.iteminfo


        - commandbook.call


        - worldedit.navigation.jumpto


        - worldedit.navigation.thru


        - commandbook.time.check


        - commandbook.rules


        - lwc.mod


        - myhome.home.basic.home


        - myhome.home.basic.set


        - myhome.home.basic.delete


        - myhome.home.soc.invite


        - vanish.*


    Admins:


        default: false


        inheritance:


        - Moder


        permissions:


        - '*'


users:


    admin:


        group:


        - Admins


        permissions: null


    Moderator:


        group:


        - Moder


        permissions: null


Данный Permissions настроен для плагинов: CommandBook, MyHome, VanishNoPickup, Jobs, LWC, WorldEdit, iConomy, iConomy ChestShop, WorldGuard.

 

Здесь как вы могли заметить появились новые параметры:

info: //параметры группы

prefix: '' //префикс 

suffix: '' //суффикс

 

// для отображения префиксов/суффиксов необходимо включить плагин ChatManager, который входит в состав PEX. Для этого в папке plugins/ChatManager/ в файле config.yml находим enable и меняем его при необходимости с enable: false на enable: true

 

inheritance: //наследование прав

- Default    //в данном случае наследуются все права группы "default"

 

Так же вы могли заметить что появился параметр users:

под ним нужно указывать никнеймы пользователей, которым вы хотите дать дополнительные права и/или переместить в другую группу. К примеру: 

 

Moderator:

group:

- Moder

permissions: null

 

где "Moderator"-никнейм игрока, "Moder"- название группы, permissions: null-дополнительные права для этого пользователя, в данном случае их нет.

 

Запомните! В YAML нужно чётко соблюдать последовательность, один лишний пробел и параметр не будет работать. Для того чтобы было меньше ошибок я РЕКОМЕНДУЮ пользоваться ЭТИМ сайтом.

Ремарка: в левое окошко вставляете ваш код, если в правом окне не выдаёт ошибок, значит вы корректно написали код на yaml и он будет работать.

 

За сим всё, статью написал и подготовил gold-morphin. Надеюсь после прочтения данной статьи у вас отпали многие вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Sovest2
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Подготовка
      Для начала нам понадобится подключить кастомный player_death.sqf в compiles.sqf
      Делается это следующим образом:
      В compiles.sqf заменить строку 
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; на
      player_death = compile preprocessFileLineNumbers "*ВАШ ПУТЬ*\player_death.sqf";  
      Если у вас стоит инфистар,то необходимо заменить строку в AH.sqf
      _death = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_death.sqf'; на
      _death = compile preprocessFileLineNumbers '*ВАШ ПУТЬ*\player_death.sqf';  
      В вашем кастомном player_death.sqf необходимо заменить 
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { _canHitFree = player getVariable ["freeTarget",false]; _isBandit = (player getVariable["humanity",0]) <= -2000; _punishment = _canHitFree || _isBandit; //if u are bandit || start first - player will not recieve humanity drop _humanityHit = 0; if (!_punishment) then { //i'm "not guilty" - kill me && be punished _myKills = ((player getVariable ["humanKills",0]) / 30) * 1000; _humanityHit = -(2000 - _myKills); _kills = _source getVariable ["humanKills",0]; _source setVariable ["humanKills",(_kills + 1),true]; PVDZE_send = [_source,"Humanity",[_source,_humanityHit,300]]; publicVariableServer "PVDZE_send"; } else { //i'm "guilty" - kill me as bandit _killsV = _source getVariable ["banditKills",0]; _source setVariable ["banditKills",(_killsV + 1),true]; }; }; _body setVariable ["deathType",_method,true]; }; на
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { [player,_source]execVM "*ВАШ ПУТЬ*\humanityChange.sqf"; [player,_source]execVM "*ВАШ ПУТЬ*\kill_msg_send.sqf"; }; _body setVariable ["deathType",_method,true]; }; Отображение ника убийцы(Kill message)
       
      Создаем файл и закидываем в миссию файл kill_msg_send.sqf
      С содержанием
      private ["_victim","_killer","_vehicle","_weapon","_pic"]; _victim = _this select 0; _killer = _this select 1; _killerName = name _killer; _victimName = name _victim; _vehicle = typeOf (vehicle _killer); _weapon = currentWeapon _killer; if ((getText (configFile >> "CfgVehicles" >> _vehicle >> "vehicleClass")) in ["CarW","Car","CarD","Armored","Ship","Support","Air","ArmouredW","ArmouredD","SupportWoodland_ACR","AllVehicles"]) then { _pic = gettext(configFile >> 'CfgVehicles' >> _vehicle >> 'picture'); } else { _pic = gettext(configFile >> 'cfgWeapons' >> _weapon >> 'picture'); }; _kill_txt = format ["<t align='left' size='0.5'>%1 </t>",_victimName]; _kill_txt = _kill_txt + format ["<img size='1.0' align='left' image='%1'/>",_pic]; _kill_txt = _kill_txt + format ["<t align='left' size='0.5'> %1 </t>",_killerName]; PVDZE_send = [player,"kill_message",[_kill_txt]]; publicVariableServer "PVDZE_send";  
      Далее,нам необходимо отредактировать файл server_sendToClient.sqf ,которой находится в директории сервера
      И добавить после
      case "tagFriendly": { PVDZE_plr_FriendRQ = _arraytosend; _owner publicVariableClient "PVDZE_plr_FriendRQ"; }; Это
      case "kill_message": { custom_kill_message_show = _arraytosend; publicVariable "custom_kill_message_show"; }; Теперь необходимо создать файл kill_msg_show.sqf в папке с вашей миссией
      с содержимым
      private ["_pos","_i"]; arr_kill = ["","","","","",""]; fnc_kill_message = { private ["_finaltxt"]; _finaltxt = _this select 0; for[{_i = 0},{(_i<6)},{_i = _i +1}] do { if((arr_kill select _i) == "") then { arr_kill set [_i,_finaltxt]; [_i] execVM "*ВАШ ПУТЬ*\kill_msg_delete.sqf"; _i = count(arr_kill); }; }; }; "custom_kill_message_show" addPublicVariableEventHandler {(_this select 1) call fnc_kill_message;}; while {true} do { _pos = 0.01; _layout = 1001; { [_x,[safezoneX + 0.01 * safezoneW,2.0],[safezoneY + _pos * safezoneH,0.3],5,0.5,0,_layout] spawn BIS_fnc_dynamicText; _pos = _pos + 0.021; _layout = _layout + 1; } ForEach arr_kill; sleep 1; }; Создать файл kill_msg_delete.sqf с 
      private["_pos"]; _pos = _this select 0; sleep 10; arr_kill set [_pos,""];  
      И вставить в init.sqf после строки
      _playerMonitor = [] execVM "custom\player_monitor.sqf"; строку
      execVM "*ВАШ ПУТЬ*\kill_msg_show.sqf"; Осталось только добавить
      custom_kill_message_show В первую строку файла publicvariable.txt
       
      Все,отображение ника убийцы готово!
       
       
      Изменение человечности за убийство Бандита\Героя
      создать файл humanityChange.sqf с содержимым
      private ["_victim","_killer","_myKills","_humanity","_killerHumanity","_isKillerBandit","_isBandit","_humanityHit","_kills","_killerGunner"]; _victim = _this select 0; _killer = _this select 1; _humanity = _victim getVariable["humanity",0]; _killerHumanity = _killer getVariable["humanity",0]; _isKillerBandit = (_killerHumanity) < 0 ; _isBandit = (_humanity) < 0; _humanityHit = 0; _myKills = 0; _killerVehicle = vehicle _killer; if(((!_isBandit) && _isKillerBandit) || (_isBandit && (!_isKillerBandit))) then { _myKills = round((_humanity) / 10); }; if(!_isBandit) then { _myKills = (_myKills + 200); _kills = _killer getVariable ["humanKills",0]; _killer setVariable ["humanKills",(_kills + 1),true]; } else { _myKills = (_myKills - 200); _kills = _killer getVariable ["banditKills",0]; _killer setVariable ["banditKills",(_kills + 1),true]; }; _killerGunner = gunner _killerVehicle; if(!isNil"_sourceGunner") then { _killer = _killerGunner; }; _humanityHit = _myKills * (-1); PVDZE_send = [_killer,"Humanity",[_killer,_humanityHit,300]]; publicVariableServer "PVDZE_send"; Изменение Человечности готово!
       
      Плюсы Всего этого:
      Отображение ника убийцы теперь работает всегда и корректно.(Если убивают с техники или с одного выстрела).
    • Автор: ADKJ
      Запускаю сервер. Запускается без проблем, в РПТ все хорошо, ошибок нет. Но спавн персонажа не проходит, спавнится от первого лица, безоружен в положении лежа в траве. Не предлагает точки спавна. В чем может быть проблема? Карта - Чернорашка. (Пробовал на алтисе - та же проблема).
      скрин
       
       
    • Автор: s1mpleee1
      Всем привет,можно ли как-то сделать так,чтобы только по UID или по нику человек мог заходить во фракцию Гражданские,независимые?
    • Автор: Vitalik123
      Нужна помощь по серверу ExileMod
       
      Всем привет! Помогите пожалуйста разобраться с ошибкой на сервере. Из-за этой ошибки ни как не заходит на сервер и еще зависает экран. Дело еще в том, что путь к файлу с ошибкой который указывается в РПТ, когда по нему проходишь, то, тот файл не открывается с помощью Notepad . Очень нужна Ваша помощь.
       
       
       
      13:00:35 "<infiSTAR.de>CONNECTLOG| #2 Disconnected: Doctor(7656119824ххххххх - 4) SteamName: Arma3 Exile RU|10K|vk.com [04-Dec-2016 14-44-29 - v0068a]"
      13:01:12 "ExileServer - Player Doctor (UID 7656119824ххххххх) connected!"
      13:01:12 "ExileServer - Database Error: Error Unknown Protocol"
      13:01:12 Error in expression <se_handleBig;
      };
      };
      ((_result select 1) select 0) select 0>
      13:01:12 Error position: <select 0) select 0>
      13:01:12 Error Generic error in expression
      13:01:12 File exile_server\code\ExileServer_system_database_query_selectSingleField.sqf, line 27
      13:01:12 Error in expression <se_handleBig;
      };
      };
      ((_result select 1) select 0) select 0>
      13:01:12 Error position: <select 0) select 0>
      13:01:12 Error Generic error in expression
      13:01:12 File exile_server\code\ExileServer_system_database_query_selectSingleField.sqf, line 27
      13:01:12 "<infiSTAR.de>CONNECTLOG| #0 Connected: Doctor(7656119824ххххххх - 5) SteamName: Arma3 Exile RU|10K|vk.com [04-Dec-2016 14-44-29 - v0068a]"
      13:01:13 "<infiSTAR.de>CONNECTLOG| #1 Connected: Doctor(7656119824ххххххх - 5) SteamName: Arma3 Exile RU|10K|vk.com [upTime: 0h 2min 53s - ServerFPS: 46.5116] [04-Dec-2016 14-44-29 - v0068a]"
      13:01:15 "ExileServer - Starting session for 'Doctor' with ID 'cRGTwTXi'..."
      13:01:15 "ExileServer - Dispatching hasPlayerRequest for session 'cRGTwTXi'..."
      13:01:15 "ExileServer - Database Error: Error Unknown Protocol"
      13:01:15 Error in expression <se_handleBig;
      };
      };
      ((_result select 1) select 0) select 0>
      13:01:15 Error position: <select 0) select 0>
      13:01:15 Error Generic error in expression
      13:01:15 File exile_server\code\ExileServer_system_database_query_selectSingleField.sqf, line 27
      13:01:15 Error in expression <se_handleBig;
      };
      };
      ((_result select 1) select 0) select 0>
      13:01:15 Error position: <select 0) select 0>
      13:01:15 Error Generic error in expression
      13:01:15 File exile_server\code\ExileServer_system_database_query_selectSingleField.sqf, line 27
      13:01:22 "<infiSTAR.de>netids| Doctor(7656119824ххххххх) - R Alpha 1-1:1 (Doctor) REMOTE, Exile_Unit_GhostPlayer - 2:2104 - 5 [04-Dec-2016 14-44-29 - v0068a]"
      13:01:55 "<infiSTAR.de>CONNECTLOG| #2 Disconnected: Doctor(7656119824ххххххх - 5) SteamName: Arma3 Exile RU|10K|vk.com [04-Dec-2016 14-44-29 - v0068a]"
      13:01:55 Client: Remote object 5:0 not found
      13:01:55 Warning: Cleanup player - person 2:2104 not found
      13:01:55 Warning: Cleanup player - person 2:2104 not found
      13:05:08 EPE manager release (0|3|0)
      13:05:11 Deinitialized shape [Class: "C_Soldier_VR_F"; Shape: "a3\characters_f_bootcamp\common\vr_soldier_f.p3d";]
      13:05:11 Deinitialized shape [Class: "Exile_Unit_GhostPlayer"; Shape: "a3\characters_f\common\invisibleman.p3d";]
      13:05:11 c:\w\stable\futura\lib\network\networkserver.cpp ClearNetServer:NOT IMPLEMENTED - briefing!
      13:05:12 Error: weapon [bipod_03_F_blk] still has its shape, ref_count=1
      13:05:13 Class Default destroyed with lock count 1
    • Автор: DeD
      Всем привет  
       
      Поставил скрипт DZGM, строго по инструкции, ПКМ по предметам перестал работать совсем. Когда возвращаю путь ui_selectSlot по умолчанию всё становится норм. RPT чист, за исключением одного:
       
      4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found  4:04:19 Warning Message: Picture npg.paa not found   
       
      Но это проблема чистой сборки с банком 2.0, тут парень где-то тоже про нее писал. Если и с этим поможете, буду очень благодарен  
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.