EssentialsX-ის config.yml დაახლოებით 1 400 სტრიქონისგან შედგება და ჩვეულებრივ survival სერვერზე ალბათ ოციოდე მათგანის შეცვლა გჭირდება. მნიშვნელოვანია teleport-ის cooldown და warm-up, სახლების რანგები sethome-multiple-ში, economy-ის ბლოკი (starting-balance, currency-symbol, min-money, max-money), ჩატის format და group-formats, ასევე spawn-ის გასაღებები, რომლებიც განსაზღვრავს, სად აღმოჩნდება ახალი მოთამაშე. რამდენიმე სექცია საერთოდ არაფერს აკეთებს, თუ შესაბამისი მოდულის jar დაყენებული არ არის, ხოლო ცვლილებების უმეტესობა /essentials reload-ით ვრცელდება - მაგრამ არა ყველა. ეს გაიდი ფაილს იმ თანმიმდევრობით გადის, როგორც რეალურად დაარედაქტირებ, მიმდინარე 2.x კონფიგურაციის ნამდვილი ნაგულისხმევი მნიშვნელობებით და გიჩვენებს, სად არის ფაილში არსებული კომენტარები ადვილი შესაცდენი.
სად ინახება config.yml და რომელ მოდულებს არეგულირებს#
პირველი გაშვების შემდეგ EssentialsX თავის საქაღალდეს სხვა plugin-ების გვერდით ქმნის:
plugins/Essentials/ config.yml the file this guide is about kits.yml kit contents, including the 'tools' first-join kit worth.yml sell prices for /sell and /worth spawn.yml spawn points set with /setspawn userdata/ one YAML file per player: balance, homes, nickname warps/ one file per warpძირითად სამუშაოს core jar აკეთებს: სახლები, warp-ები, teleport-ები, kit-ები, economy, მეტსახელები, AFK, mail. დანარჩენი ყველაფერი ცალკე მოდულის jar-ია, რომელიც იმავე ადგილიდან იწერება, საიდანაც core, და ზუსტად იმავე ვერსიისა უნდა იყოს. შეუსაბამო ვერსიის მოდული განახლების შემდეგ გაშვებისას stack trace-ის ხშირი მიზეზია.
| მოდული | რას ამატებს | სექცია config.yml-ში |
|---|---|---|
| EssentialsX Chat | ჩატის ფორმატირება, ლოკალური ჩატის რადიუსი | chat: |
| EssentialsX Spawn | /spawn, /setspawn, პირველი შესვლის დამუშავება | newbies: და spawn-ის გასაღებები |
| EssentialsX Protect | დაზიანების, აფეთქებისა და ფიზიკის გადამრთველები | protect: (prevent, disable) |
| EssentialsX AntiBuild | აშენების უფლებები, ნივთების blacklist-ები | protect: (alert, blacklist) |
| EssentialsX GeoIP | ქვეყანა შესვლისას და /whois-ში | საკუთარი plugins/EssentialsGeoIP/config.yml |
| EssentialsX Discord | ჩატის ხიდი Discord-თან | საკუთარი საქაღალდე |
ამ ცხრილში მთავარი მარჯვენა სვეტია. chat: სექცია core კონფიგურაციაშია მაშინაც, როცა Chat მოდული არ გაქვს, და მისი რედაქტირება Chat jar-ის გარეშე საერთოდ არაფერს ცვლის - გაფრთხილება არ გამოჩნდება, პარამეტრი უბრალოდ არასოდეს იკითხება. თუ ცვლილება იგნორირებული გეჩვენება, ყველაფერზე ადრე შეამოწმე, არის თუ არა მოდული plugins/-ში. დააყენე მხოლოდ ის მოდულები, რომლებსაც იყენებ: თითოეული აყენებს listener-ებს სერვერზე, რომელიც თავის თამაშის ლოგიკას ერთ thread-ში ამუშავებს. რისი დაყენებაა ღირს, ამის უფრო ფართო განხილვა Minecraft plugins worth installing-შია.
ფაილის დასაწყისში ჩამოთვლილია YAML-ის წესები, რომლებიც პირველ რედაქტირებამდე უნდა იცოდე: მხოლოდ ინტერვალები (spaces), არასოდეს tab-ები; სტრუქტურას ჩაღრმავება განსაზღვრავს; ერთ ბრჭყალებში ჩასმულ ტექსტში აპოსტროფი ორჯერ იწერება (don''t); სიმბოლოებიანი ტექსტი ბრჭყალებში იწერება; და თუ იყენებ აქცენტიან ასოს ან $-ისგან განსხვავებულ ვალუტის სიმბოლოს, ფაილი უნდა შეინახო UTF-8-ში და არა ANSI-ში.
Teleport-ები: cooldown-ები, warm-up და უსაფრთხოება#
ოთხი გასაღები განსაზღვრავს, როგორი შეგრძნებაა teleport-ისას, და მოთამაშეები ამას პირველს ამჩნევენ.
teleport-safety: trueteleport-cooldown: 0teleport-delay: 0teleport-invulnerability: 4tpa-accept-cancellation: 120teleport-cooldown არის teleport-ებს შორის საჭირო შუალედი წამებში. ეს ერთი საერთო ტაიმერია /home-ის, /tp-ის, /spawn-ის, /warp-ისა და დანარჩენისთვის და არა ცალკე ტაიმერი თითო ბრძანებაზე, ამიტომ 30-წამიანი cooldown ნიშნავს, რომ მოთამაშე, რომელიც ახლახან სახლში წავიდა, 30 წამის განმავლობაში /spawn-საც ვერ გამოიყენებს. survival სერვერზე 10-დან 60-მდე მნიშვნელობა teleport-ის სპამს აჩერებს და სასჯელად არ აღიქმება.
teleport-delay არის warm-up: მოთამაშე ამ რაოდენობის წამებს უძრავად დგას, სანამ teleport მოხდება, და მოძრაობა ან თავდასხმა მას აუქმებს. სწორედ ეს პარამეტრი უშლის ხელს ვინმეს, /home-ით ბრძოლას გაექცეს, და PvP სერვერზე ის cooldown-ზე ბევრად მნიშვნელოვანია. ჩვეულებრივი დიაპაზონი სამიდან ხუთ წამამდეა; ათზე მეტის შემთხვევაში მოთამაშეები სახლებს აღარ იყენებენ და nether-ის გზატკეცილების აშენებას იწყებენ, რაც შეიძლება სწორედ ის იყოს, რაც გინდა.
teleport-invulnerability ბრძანებით teleport-ის შემდეგ რამდენიმე წამს იძლევა, რომლის განმავლობაშიც მოთამაშეს სხვა მოთამაშეები ვერ დააზიანებენ და არც ის დააზიანებს მათ. ის იმისთვისაა, რომ /tpa ბრძოლაში მყისიერ სიკვდილად არ იქცეს და ჩასაფრებისთვის ვერ გამოიყენონ.
teleport-safety განსაზღვრავს, რა ხდება, როცა დანიშნულების ადგილი სახიფათოა - ლავა, ჩავარდნა, ბლოკის შიგნით. true-ს შემთხვევაში Essentials მოთამაშეს უახლოეს უსაფრთხო წერტილში გადაიყვანს; false-ის შემთხვევაში teleport გაფრთხილებით უქმდება. დატოვე ჩართული. tpa-accept-cancellation არის დრო, რამდენ ხანსაც /tpa მოთხოვნა ელოდება ვადის გასვლამდე.
სამი permission ამ წესებს პერსონალისთვის არბილებს:
| Permission | ეფექტი |
|---|---|
essentials.teleport.cooldown.bypass | უგულებელყოფს teleport-cooldown-ს |
essentials.teleport.timer.bypass | გამოტოვებს teleport-delay warm-up-ს |
essentials.teleport.timer.move | warm-up-ის დროს მოძრაობა შეუძლია გაუქმების გარეშე |
მიანიჭე ისინი ჯგუფებს და არა ცალკეულ მოთამაშეებს - LuckPerms-ის გაიდი განმარტავს მემკვიდრეობას, რათა VIP ჯგუფმა, რომელიც warm-up-ს ახტება, bypass-ი შენთვის არასასურველ ჯგუფს უჩუმრად არ გადასცეს.
თუ სხვადასხვა ბრძანებას სხვადასხვა cooldown გინდა, teleport-cooldown არასწორი ინსტრუმენტია. უფრო ახალი command-cooldowns ბლოკი თითო ბრძანებას ცალკე ანიჭებს, სხვა plugin-ების ბრძანებებზეც მუშაობს და ნაგულისხმევად restart-ს უძლებს (command-cooldown-persistence: true):
command-cooldowns: home: 30 spawn: 10 tpr: 600ბრძანებები იწერება slash-ის გარეშე. Wildcard-ები მუშაობს, ხოლო გასაღები, რომელიც ^-ით იწყება, რეგულარულ გამოსახულებად განიხილება.
სახლები და sethome-multiple ლიმიტები#
სახლების ლიმიტი ყველაზე ხშირად არასწორად გამართული პარამეტრია, რადგან ის ერთზე არა, ორ permission-ზეა დამოკიდებული.
sethome-multiple: default: 3 vip: 5 staff: 10sethome-multiple-ის ქვეშ მოცემული სახელები სახლების რანგებია და არ არის აუცილებელი, შენს permission ჯგუფებს ემთხვეოდეს. მოთამაშეს ერთზე მეტი სახლი მხოლოდ მაშინ აქვს, თუ მას აქვს essentials.sethome.multiple; მხოლოდ ამ node-ით ის default რაოდენობას იღებს. რანგის რაოდენობის მისაღებად ორივე სჭირდება: essentials.sethome.multiple და essentials.sethome.multiple.vip. მოთამაშე, რომელსაც რანგის node აქვს, მაგრამ ძირითადი node არა, ერთ სახლზე რჩება, და სწორედ ეს არის თითქმის ყველა თემის წყარო ტიპისა „VIP-ზე 5 სახლი დავაყენე და ისევ 1 აქვთ“. essentials.sethome.multiple.unlimited ლიმიტს მთლიანად აუქმებს.
სამი დონის სწორად მომუშავე კონფიგურაცია LuckPerms-ის ენაზე ასე გამოიყურება:
$ lp group default permission set essentials.sethome.multiple true$ lp group vip permission set essentials.sethome.multiple.vip true$ lp group staff permission set essentials.sethome.multiple.staff trueლიმიტის მოგვიანებით შემცირება მოთამაშის უკვე დაყენებულ სახლებს არ შლის; ის მხოლოდ ახალი სახლების დაყენებას უშლის ხელს. თუ ლიმიტს wipe-ის ან რებალანსის ფარგლებში ამცირებ, წინასწარ გააფრთხილე მოთამაშეები.
სახლების სხვა გასაღებები პატარაა, მაგრამ გადაწყვეტილებას იმსახურებს:
spawn-if-no-home: trueაგზავნის spawn-ზე მოთამაშეს, რომელიც/home-ს წერს და სახლი არ აქვს დაყენებული. დააყენეfalse, თუ/homeუბრალოდ უნდა ჩავარდეს.confirm-home-overwrite: false- ჩართე ეს, რადგან/sethomeარსებული სახელით მას დაუკითხავად ანაცვლებს, და მოთამაშეები ამას შემთხვევით აკეთებენ.world-home-permissions: false- დააყენეtrueდა გამოიყენეessentials.worlds.<worldname>, რომ ხალხს/home-ით ისეთ world-ში გადასვლა აუკრძალო, სადაც არ უნდა მოხვდნენ. სერვერზე, სადაც survival-ის გვერდით creative world-ია, სწორედ ასე ჟონავს inventory-ები ერთიდან მეორეში; უფრო ფართო პრობლემას განიხილავს running multiple worlds with Multiverse.
სახლებში ფულის აღება command-costs-ს ეკუთვნის, რაც შემდეგ სექციაშია.
Economy-ის ბლოკი#
Economy core jar-ის ნაწილია. დიზაინის მხარე - Vault, მაღაზიის plugin-ები, faucet-ები და sink-ები, ბალანსების ბაზაში გადატანა - განხილულია EssentialsX და Vault economy-ის გაიდში. ეს სექცია მხოლოდ გასაღებებსა და მათ ნაგულისხმევ მნიშვნელობებს ეხება.
starting-balance: 0command-costs: home: 50 sethome: 500 back: 100 kit-tools: 1500currency-symbol: '$'currency-symbol-suffix: falsemax-money: 10000000000000min-money: -10000economy-log-enabled: falseminimum-pay-amount: 0.001starting-balance გადაიხდება ერთხელ, როცა მოთამაშის userdata ფაილი პირველი შესვლისას იქმნება. მოგვიანებით შეცვლა არაფერს ცვლის მათთვის, ვინც უკვე შემოვიდა.
currency-symbol შეიძლება ნებისმიერი სიმბოლო იყოს, თუ ფაილი UTF-8-ში არის შენახული - ფუნტის ან ევროს ნიშანი ANSI-ში შენახულ ფაილში თამაშში კითხვის ნიშნად ან უაზრო სიმბოლოებად გამოჩნდება. რიცხვის შემდეგ დასაწერი სიმბოლოებისთვის დააყენე currency-symbol-suffix: true. რიცხვის ფორმატი ცალკეა: ათწილადების გასაკონტროლებლად ამოიღე კომენტარიდან currency-format: "#,##0.00", ხოლო იმის გასაკონტროლებლად, რომელი სიმბოლო ჰყოფს ათასეულებს, გამოიყენე currency-symbol-format-locale (მაგალითად de-DE 1.234,50-ისთვის).
min-money-ის ნაგულისხმევი მნიშვნელობაა -10000, და მისი კომენტარი განმარტავს, რას ნიშნავს ეს: მოთამაშეს მინუსში წასვლა მხოლოდ მაშინ შეუძლია, თუ მას აქვს essentials.eco.loan. ანუ ნაგულისხმევად არავის აქვს ვალი, მაგრამ ზღვარი მათთვის არსებობს, ვისაც სესხს მიანიჭებ. მისი 0-ზე დაყენება overdraft-ს სრულად თიშავს, permission-ებისგან დამოუკიდებლად. max-money-ის ნაგულისხმევი მნიშვნელობა ათი ტრილიონია; თავად ფაილი აფრთხილებს, რომ ძალიან დიდ რიცხვებს არასასურველი შედეგები შეიძლება მოჰყვეს, და ჭერი, რომელსაც მოთამაშე რეალურად მიაღწევს, უფრო სასარგებლო რიცხვია.
command-costs თითო გამოყენებაზე ართმევს ფულს. გასაღები ბრძანების სახელია, ხოლო kit-ები იყენებენ kit-<name>-ს. Chat მოდულის shout და question რეჟიმები შეიძლება დაფასდეს როგორც chat-shout და chat-question. ვისაც აქვს essentials.nocommandcost.<command> ან essentials.nocommandcost.all, არაფერს იხდის, და wildcard, როგორიცაა essentials.*, პერსონალის ჯგუფზე მათ მოიცავს - ამიტომ ფასები ჩვეულებრივი ანგარიშით გამოსცადე.
ბლოკის დანარჩენი ნაწილი მოკლედ:
| გასაღები | ნაგულისხმევი | რას აკეთებს |
|---|---|---|
economy-log-enabled | false | ნიშნებით ვაჭრობასა და /sell-ს trade.log-ში წერს |
economy-log-update-enabled | false | ასევე წერს ყოველ Vault ტრანზაქციას - ხმაურიანია |
pay-excludes-ignore-list | false | ბლოკავს /pay-ს იმისთვის, ვინც შენ გაიგნორა |
show-zero-baltop | true | ცარიელ ბალანსებს /baltop-ში აჩვენებს |
baltop-requirements | 0, 0 | სიაში მოსახვედრად მინიმალური ბალანსი და თამაშის დრო |
baltop-entry-limit | -1 | დიდ სერვერებზე ქეშირებული baltop ჩანაწერების რაოდენობას ზღუდავს |
ფაილის საკუთარი კომენტარი economy-log-update-enabled-ზე ამბობს, რომ ის ლოგს სწრაფად ავსებს და ტესტირებისთვისაა განკუთვნილი; ჩვეულებრივ მუშაობისას გამორთული დატოვე. show-zero-baltop-ის შეცვლის შემდეგ გაუშვი /baltop force, რადგან სია ქეშირებულია.
sell-multipliers რანგს worth.yml-ის ფასზე მეტად გაყიდვის საშუალებას აძლევს: default: 1.0, double: 2.0 და permission essentials.sell.multiplier.<rank>. ეს faucet-ია. მოსავლიან ნივთზე 2x მულტიპლიკატორი სერვერზე ფულის შემოდინების სიჩქარეს ორმაგად ზრდის, ამიტომ ფასი ამის გათვალისწინებით დააწესე.
ჩატის ფორმატირება EssentialsX Chat-ით#
ამ სექციიდან არაფერი მუშაობს Chat მოდულის გარეშე. მისი დაყენების შემდეგ chat: სექცია ყოველი შეტყობინების ფორმატსა და დისტანციას აკონტროლებს.
chat: radius: 0 format: '<{DISPLAYNAME}> {MESSAGE}' group-formats: default: '&7{DISPLAYNAME}&7:&r {MESSAGE}' admin: '&c[{GROUP}]&r {DISPLAYNAME}&7:&f {MESSAGE}' world-aliases: world_nether: "&cN&r"radius: 0 გლობალური ჩატია. ნებისმიერი სხვა რიცხვი ჩატს იმდენი ბლოკის ფარგლებში ლოკალურს ხდის. მოთამაშეებს essentials.chat.shout-ით მაინც შეუძლიათ ყველას მიწვდომა შეტყობინების !-ით დაწყებით, essentials.chat.question-ით - ?-ით, ხოლო essentials.chat.spy ყველაფერს ხედავს მანძილის მიუხედავად. ლოკალური ჩატი სერვერის ხასიათს ნებისმიერ სხვა ერთ პარამეტრზე მეტად ცვლის - მშვიდი სერვერები მასთან ცარიელად გამოიყურება, ამიტომ ჩართე მხოლოდ მაშინ, როცა საკმარისი ხალხია, რომ ახლომდებარე საუბრები გაიმართოს.
placeholder-ები, რომლებსაც რეალურად გამოიყენებ: {DISPLAYNAME}, {USERNAME}, {NICKNAME}, {PREFIX}, {SUFFIX}, {GROUP}, {WORLDNAME} და {WORLD} (alias world-aliases-დან), ასევე {MESSAGE}.
ორი მახე თითქმის ყველას იჭერს:
- ორმაგი prefix-ები.
{DISPLAYNAME}უკვე შეიცავს prefix-სა და suffix-ს შენი permissions plugin-იდან. ფორმატი{PREFIX} {DISPLAYNAME}რანგს ორჯერ დაბეჭდავს. გამოიყენე მხოლოდ{DISPLAYNAME}, ან{PREFIX}{NICKNAME}{SUFFIX}, თუ თავად გინდა მათი განლაგება. - ჯგუფების სახელები რეგისტრზეა დამოკიდებული.
group-formats-ის ქვეშ გასაღები ჯგუფის სახელს ზუსტად უნდა ემთხვეოდეს - და თუ LuckPerms ჯგუფს display name აქვს მითითებული, Essentials-ი სწორედ display name-ს ხედავს. ფორმატი, რომელიც არასოდეს მოქმედებს, თითქმის ყოველთვის დიდი ასოა ან display name.
Prefix-ები LuckPerms-იდან Vault-ის გავლით მოდის, ამიტომ {PREFIX}-მა რაიმე რომ აჩვენოს, ორივე უნდა იყოს დაყენებული. ფერის კოდები ფორმატის სტრიქონში &-ს იყენებს; შეუძლიათ თუ არა მოთამაშეებს საკუთარ შეტყობინებებში ფერების გამოყენება, ეს permission-ების ცალკე ნაკრებია. paper-chat-events: true იყენებს Paper-ის თანამედროვე ჩატის event-ებს და ერთადერთი ჩატის პარამეტრია, რომლის შესაცვლელადაც სრული restart სჭირდება - გამორთე მხოლოდ მაშინ, თუ სხვა ჩატის plugin-ი კონფლიქტობს.
თუ ჩატს Discord-თან აერთებ, Discord-ის მხარე საკუთარ ფორმატს ინახავს; Essentials-ის მოდულის ალტერნატივას DiscordSRV და Discord-ის ინტეგრაცია განიხილავს.
Spawn, პირველი შესვლა და respawn#
Spawn მოდული სამ მომენტს ფლობს: მოთამაშის პირველ შესვლას, ყოველ მომდევნო შესვლას და სიკვდილის შემდგომ respawn-ს.
newbies: announce-format: '&dWelcome {DISPLAYNAME}&d to the server!' spawnpoint: newbies kit: toolsspawn-on-join: falserespawn-at-home: falserespawn-at-home-bed: truerespawn-at-anchor: falserespawn-listener-priority: highspawn-join-listener-priority: highspawn-ები თამაშში დააყენე და არა ფაილში. დადექი იქ, სადაც ყველა უნდა გამოჩნდეს, და გაუშვი /setspawn; დადექი ახალი მოთამაშეების ჩამოსვლის წერტილში და გაუშვი /setspawn newbies. სწორედ ეს მეორე სახელია ის, რასაც spawnpoint: newbies მიუთითებს. თუ ახალი მოთამაშეებისთვის ცალკე spawn არ გინდა, დააყენე spawnpoint: none და ახალი მოთამაშეები world-ის spawn-ს გამოიყენებენ. /setspawn <group> ნებისმიერ ჯგუფის სახელზე მუშაობს, და ასე შეუძლია პერსონალს დანარჩენებისგან განსხვავებულ ადგილას ჩამოსვლა.
kit: tools პირველი შესვლისას kits.yml-დან tools kit-ს გასცემს ფასის, permission-ებისა და kit-ის cooldown-ის მიუხედავად. შეამოწმე, რომ ამ kit-ში რეალურად ის არის, რაც გინდა; ნაგულისხმევი საწყისი ნაკრებია, და პირველი შესვლის kit თავისთავად პატარა faucet-ია. announce-format-ის ''-ზე დაყენება მისალმების broadcast-ს თიშავს.
spawn-on-join არის ის „spawn on join“ პარამეტრი, რასაც ხალხი ეძებს. true ყოველ შესვლაზე ყველა მოთამაშეს spawn-ზე აგზავნის; ის ასევე იღებს ჯგუფის სახელს ან ჯგუფების სიას, ამიტომ spawn-ზე მხოლოდ default მოთამაშეების გაგზავნა შეგიძლია, ხოლო რანგიანები იქ შემოვლენ, სადაც გავიდნენ:
spawn-on-join: - default - guestsვისაც აქვს essentials.spawn-on-join.exempt, იმ ადგილას რჩება, სადაც გავიდა. lobby-სა და hub-ზე ეს true უნდა იყოს; survival სერვერზე ის ჩვეულებრივ false-ია, რადგან ყოველ შესვლაზე spawn-ზე დაბრუნება შემაწუხებელია, როცა ხალხს უკვე ბაზა აქვს.
Respawn-ს respawn-at- გასაღებები განსაზღვრავს. respawn-at-home: true მკვდარ მოთამაშეს პირველ სახლში აგზავნის, ან საწოლთან, თუ respawn-at-home-bed-იც true-ა. respawn-at-anchor აკონტროლებს, ითვალისწინებს თუ არა სისტემა Nether-ის respawn anchor-ებს.
ორი listener priority ის ადგილია, სადაც Essentials სხვა plugin-ებს ხვდება, რომლებიც ასევე გადაადგილებენ მოთამაშეებს. თუ Multiverse-მა ან lobby plugin-მა უნდა განსაზღვროს, სად ხდება respawn, დააყენე respawn-listener-priority: lowest; none vanilla ქცევას იძლევა; highest აიძულებს Essentials-ს, გაიმარჯვოს. ორივე priority მხოლოდ სრულ restart-ზე იცვლება.
AntiBuild და GeoIP#
AntiBuild მოდულია, რომელიც ხალხს საკუთარ სერვერზე ბლოკავს. მისი მთავარი გადამრთველები core კონფიგურაციაში protect:-ის ქვეშაა:
protect: disable: build: true use: true warn-on-build-disallow: true alert: on-placement: LAVA,TNT,LAVA_BUCKET on-use: LAVA_BUCKET on-break: blacklist: placement: LAVA,TNT,LAVA_BUCKET usage: LAVA_BUCKET break: piston: dispenser:AntiBuild jar-ის დაყენებისა და build: true-ს (ნაგულისხმევი) შემთხვევაში, ვისაც essentials.build არ აქვს, ბლოკებს ვერ დადებს და ვერ დაანგრევს, ხოლო use: true-ს შემთხვევაში ნივთებსაც ვერ გამოიყენებს. ეს სწორია სერვერისთვის, სადაც ახალი მოთამაშეები აშენებამდე დადასტურებას საჭიროებენ, და კატასტროფაა, თუ jar უბრალოდ იმიტომ ჩააგდე, რომ იმავე ჩამოტვირთვაში იყო. ან მიანიჭე essentials.build default ჯგუფს, ან დააყენე ორივე, build და use, false-ზე და AntiBuild მხოლოდ მისი blacklist-ებისთვის შეინარჩუნე.
blacklist-ები იღებენ Bukkit material-ების სახელებს, მძიმით გამოყოფილს. placement და usage ნაგულისხმევად ლავასა და TNT-ს შეიცავს; break-ს შეუძლია რაიმეს დაცვა, მაგალითად BEDROCK-ის, ხოლო piston და dispenser ამ მექანიზმებს material-ის გადაადგილებას ან გასროლას უკრძალავს. essentials.protect.exemptplacement, exemptusage და exemptbreak პერსონალს გაატარებს. alert სიები შეტყობინებას უგზავნის ყველას, ვისაც აქვს essentials.protect.alerts, როცა ვინმე ჩამოთვლილ material-ს დებს ან იყენებს, რაც ლავით გრიფინგის იაფი ადრეული გაფრთხილებაა. უფრო ზუსტი კონტროლისთვის არსებობს თითო material-ის node-ები, როგორიცაა essentials.build.place.<material>. AntiBuild უხეში ინსტრუმენტია; ნამდვილი grief-ისგან დაცვისთვის claim-ებითა და ბლოკების ლოგებით იხილე grief protection and anti-cheat.
Protect მოდული იმავე protect: სექციას იყენებს, prevent:-ის ქვეშ და disable:-ში დაზიანების გადამრთველებით (fall, pvp, drown, lavadmg და სხვა). მთელ სერვერზე PvP-ის გამორთვა არის protect.disable.pvp: true.
GeoIP-ს საკუთარი ფაილი აქვს, plugins/EssentialsGeoIP/config.yml:
database: show-cities: false download-if-missing: true license-key: "" update: enable: true by-every-x-days: 30show-on-login: trueshow-on-whois: trueის MaxMind-ის GeoLite2 ბაზას იყენებს, რომლის ანონიმურად ჩამოტვირთვაც უკვე შეუძლებელია. შექმენი უფასო MaxMind ანგარიში, დააგენერირე ლიცენზიის გასაღები და ჩასვი license-key-ში; მის გარეშე ჩამოტვირთვა ვერ ხერხდება და მოდული ყოველ გაშვებაზე შეცდომას წერს ლოგში. როცა ის მუშაობს, პერსონალი essentials.geoip.show-ით ხედავს თითოეული მოთამაშის ქვეყანას შესვლისას და /whois-ში, ხოლო essentials.geoip.hide მოთამაშის მდებარეობას მისგან გამორიცხავს.
დაფიქრდი, სანამ დააყენებ. პერსონალისთვის იმის ჩვენება, საიდან უკავშირდებიან მოთამაშეები, პერსონალური მონაცემია, პატარა სერვერზე იშვიათად არის საჭირო და proxy-ს უკან ყველასთვის proxy-ის მდებარეობას აჩვენებს, თუ მოთამაშეების IP-ები არ გადაიგზავნება - ამას Velocity proxy networks-ის გაიდი აგვარებს.
Reload და როდის არის საჭირო restart#
ფაილის დასაწყისი პირდაპირ ამბობს: რედაქტირების შემდეგ გაუშვი /essentials reload (ან /ess reload). სერვერის კონსოლიდან ბრძანება slash-ის გარეშეა - essentials reload - რადგან კონსოლი სერვერის შეყვანაა და არა ჩატის ველი. ეს თავიდან კითხულობს config.yml-ს, kit-ებს, worth-ს და ენის ფაილებს, სერვერის დანარჩენ ნაწილს შეხების გარეშე.
ზოგი ცვლილება reload-ზე არ ვრცელდება:
respawn-listener-priorityდაspawn-join-listener-priority- მათი კომენტარები restart-ს ითხოვს.chat.paper-chat-events- restart.- ნებისმიერი მოდულის jar-ის დამატება, წაშლა ან განახლება - restart.
show-zero-baltop- reload, შემდეგ/baltop force.
რასაც არასოდეს უნდა იყენებდე, არის სერვერის მასშტაბის /reload ან plugin manager, რომელიც jar-ებს hot-load-ით ტვირთავს. ის ყველა plugin-ს ერთდროულად, Essentials-ის ჩათვლით, თავიდან ტვირთავს და listener-ებსა და task-ებს ნახევრად დარეგისტრირებულს ტოვებს ისე, რომ ეს იმ plugin-ის bug-ს ჰგავს, რომელიც პირველი გაფუჭდება. Paper კონსოლში ამის შესახებ საფუძვლიანად აფრთხილებს. restart წამებს გრძელდება.
reload, რომელიც არაფერს აკეთებს, ჩვეულებრივ ნიშნავს, რომ YAML არ დაპარსულა. გაუშვებისას კონსოლს თვალი ადევნე: tab სიმბოლო, ორწერტილის შემდეგ გამოტოვებული ინტერვალი ან გაუექრანებელი აპოსტროფი შეცდომას წარმოქმნის, რომელიც სტრიქონს ასახელებს, და Essentials შენს ცვლილებას არ გამოიყენებს. RE:NODE-ზე ფაილების მენეჯერის რედაქტორი YAML სინტაქსს ანათებს, რაც ჩაღრმავების შეცდომების უმეტესობას შენახვამდე იჭერს, ხოლო კონსოლი reload-ის გამოტანას ცოცხლად აჩვენებს. დიდ რედაქტირებამდე პანელიდან გააკეთე backup - აღდგენა ერთი ღილაკია - და მის გვერდით შეინახე მომუშავე config.yml-ის ასლი. Backing up and restoring a Minecraft world განმარტავს, კიდევ რა უნდა შედიოდეს ამ backup-ში.
პრობლემების მოგვარება#
პარამეტრი სრულიად იგნორირებულია. მისი მოდული არ არის დაყენებული, ან YAML არ დაპარსულა. chat:, newbies: და protect: სექციები ყველა მოდულის jar-ებზეა დამოკიდებული.
მოთამაშეებს რანგის მიუხედავად ერთი სახლი აქვთ. მათ აქვთ რანგის node, მაგალითად essentials.sethome.multiple.vip, მაგრამ არა ძირითადი node essentials.sethome.multiple. ორივე სჭირდებათ.
რანგები ჩატში ორჯერ ჩანს. ფორმატი ერთად იყენებს {PREFIX}-სა და {DISPLAYNAME}-ს. ამოიღე {PREFIX}.
ჯგუფის ფორმატი არასოდეს მოქმედებს. რეგისტრი ან LuckPerms-ის display name. გაუშვი lp user <name> info და ჯგუფის სახელი ზუსტად ისე გადმოიწერე.
განახლების შემდეგ ვერავინ აშენებს. AntiBuild სხვა მოდულებთან ერთად დაყენდა. მიანიჭე essentials.build default-ს ან დააყენე protect.disable.build და use false-ზე.
ვალუტის სიმბოლო კითხვის ნიშნად ჩანს. ფაილი ANSI-ში შეინახა. შეინახე UTF-8-ში და გააკეთე reload.
Teleport-ები განუწყვეტლივ უქმდება. ეს teleport-delay-ის მუშაობაა: მოთამაშემ იმოძრავა ან დაარტყეს. თუ პერსონალს მოძრაობის გაგრძელება სჭირდება, მიანიჭე essentials.teleport.timer.move.
ახალი მოთამაშეები ახალი მოთამაშეების spawn-ზე არ ჩამოდიან. /setspawn newbies არასოდეს გაშვებულა, ან შესვლის ადგილს სხვა plugin განაგებს. შეამოწმე spawn-join-listener-priority და შეცვლის შემდეგ გააკეთე restart.
FAQ#
ჩართულია თუ არა EssentialsX economy ნაგულისხმევად?
დიახ. Economy core jar-ის ნაწილია და პირველივე გაშვებიდან მუშაობს, დასაყენებელი მოდულის გარეშე. ბალანსები, /pay, /balance და /baltop მაშინვე მუშაობს; სხვა plugin-ები მას Vault-ის გავლით წვდებიან.
ვრცელდება თუ არა ყველა ცვლილება /essentials reload-ით?
უმეტესობა. Listener priority-ები, paper-chat-events და დაყენებული მოდულის jar-ების ნებისმიერი ცვლილება სრულ restart-ს საჭიროებს. economy-ის, teleport-ის, სახლებისა და ჩატის ფორმატის სექციებში ყველაფერი reload-ზე ვრცელდება.
როგორ შევუშალო მოთამაშეებს ხელი, სიკვდილის შემდეგ /back გამოიყენონ?
სიკვდილის ადგილმდებარეობები /back-ისთვის მხოლოდ იმ მოთამაშეებისთვის ჩაიწერება, ვისაც აქვს essentials.back.ondeath. არ მიანიჭო ეს node default ჯგუფს, ან command-costs-ში back-ს ფასი დაუწესე, თუ გინდა, რომ ხელმისაწვდომი იყოს, მაგრამ ძვირი.
შემიძლია თუ არა თითოეული რანგისთვის სხვადასხვა spawn დავაყენო?
დიახ. დადექი თითოეულ წერტილში და გაუშვი /setspawn <group> ჯგუფის სახელით. მოთამაშეები თავიანთი ჯგუფის spawn-ზე იგზავნებიან, ხოლო თუ ის არ არის, ნაგულისხმევ spawn-ზე.
მჭირდება თუ არა GeoIP მოდული?
იშვიათად. ის პერსონალს თითოეული მოთამაშის ქვეყანას აჩვენებს, რაც დიდ საჯარო სერვერზე ban-ის გვერდის ავლაში გეხმარება, და ეს პერსონალური მონაცემია, რომელსაც შემდეგ შენ ინახავ. ასევე, მისი ბაზის ჩამოსატვირთად MaxMind-ის ლიცენზიის გასაღები სჭირდება.


