RE:NODE

EssentialsX-ის kit-ები, warp-ები, home-ები და spawn: სრული გაწერა

ავტორი RE:NODE-ის გუნდი
15 წუთის საკითხავი


EssentialsX-ის kit-ები ინახება plugins/Essentials/kits.yml-ში: თითოეულს აქვს ნივთების სია და delay წამებში, მოთამაშეს კი kit-ის აღება მხოლოდ მაშინ შეუძლია, თუ აქვს essentials.kits.<name>. Warp-ები იქმნება /setwarp-ით და ცალ-ცალკე იკეტება მას შემდეგ, რაც per-warp-permission ჩაირთვება. Home-ების ლიმიტი მოდის config.yml-ის sethome-multiple ცხრილიდან და ემთხვევა essentials.sethome.multiple.<tier> უფლებებს. /spawn მთავარ jar-ში საერთოდ არ არის - მას ცალკე EssentialsX Spawn მოდული სჭირდება. ეს ოთხი ფაქტი თითქმის ყველა "kit არ მუშაობს" შეტყობინებას ხსნის ახალ Paper სერვერზე, ხოლო ამ სტატიის დანარჩენი ნაწილი მათი დეტალებია.

ბალანსები, /pay, worth.yml და მაღაზიები განხილულია EssentialsX-ისა და Vault-ის ეკონომიკის გზამკვლევში. ეს სტატია პლაგინის გადაადგილებისა და საწყისი აღჭურვილობის ნახევარს ეხება - სწორედ აქ ხარჯავს უმეტესი survival სერვერი კონფიგურაციის დროს.

სად ინახავს EssentialsX kit-ებს, warp-ებს, home-ებსა და spawn-ებს#

EssentialsX რამდენიმე jar-ისგან შედგება. მთავარი EssentialsX jar-ი შეიცავს kit-ებს, warp-ებს, home-ებს, ტელეპორტის მოთხოვნებსა და ეკონომიკას. EssentialsXSpawn ცალკე ჩამოსატვირთია და ამატებს /spawn-ს, /setspawn-ს, პირველი შესვლის დამუშავებასა და respawn-ის წესებს. დააყენე მთავარი jar და მხოლოდ ის მოდულები, რომლებსაც რეალურად იყენებ - თითოეული მათგანი event listener-ებს ამატებს სერვერზე, რომლის მთავარი thread-იც ყველაფერს ერთად ემსახურება.

თითოეული ფუნქცია მონაცემებს სხვადასხვა ადგილას ინახავს და იმის ცოდნა, რომელი ფაილი რას შეიცავს, გვიცავს გამოცნობისგან, როცა რამე იკარგება:

code
plugins/Essentials/  config.yml        settings for everything, including sethome-multiple  kits.yml          kit definitions and delays  spawn.yml         spawn points, written by /setspawn (Spawn module)  warps/    mine.yml        one file per warp    shop.yml  userdata/    <uuid>.yml      each player's homes and kit cooldown timestamps

აქედან სამი დასკვნა გამომდინარეობს. Home-ები მოთამაშის ფაილს ეკუთვნის, ამიტომ მოთამაშის userdata ფაილის წაშლა ბალანსთან ერთად home-ებსა და kit-ის cooldown-ებსაც შლის. Warp-ი თითო პატარა ფაილია, ამიტომ warp-ის გადმოტანა სატესტო სერვერიდან მისი ფაილის კოპირებით შეგიძლია. ხოლო kit-ები მხოლოდ აღწერებია - ვინ რა აიღო და როდის, ინახება თითოეული მოთამაშის ფაილში და არა kits.yml-ში.

EssentialsX-ის ძველ ვერსიებში kit-ები config.yml-ის შიგნით, kits: სექციაში ინახებოდა. მიმდინარე ვერსიები kits.yml-ს კითხულობენ და განახლებისას ძველ სექციას გადააქვთ. თუ ძველი ინსტრუქცია გირჩევს kit-ების config.yml-ში შეცვლას, სწორედ ამიტომ არ იცვლება არაფერი.

kit-ების წერა kits.yml-ში#

Kit არის სახელი, დაყოვნება და ნივთების სია. ნაგულისხმევ ფაილში ერთი kit-ია, სახელად tools, და ის კარგი შაბლონია:

plugins/Essentials/kits.yml
kits:  tools:    delay: 10    items:      - stone_pickaxe 1      - stone_shovel 1      - stone_axe 1  starter:    delay: -1    items:      - iron_sword 1 sharpness:2 name:&bStarter_Sword lore:Given_on_day_one      - bread 16      - torch 32      - leather_chestplate 1 color:139,69,19      - $250      - /broadcast {player} has started their journey

თითოეული ნივთის ხაზი იმავე სინტაქსს იყენებს, რასაც /give EssentialsX-ში: მასალის სახელი, რაოდენობა, შემდეგ არასავალდებულო მეტამონაცემები.

  • Enchantment-ები არის enchantment:level წყვილები, მაგალითად sharpness:2 ან efficiency:4. მიმდინარე ვერსიებზე გამოიყენე თანამედროვე enchantment-ების სახელები.
  • `name:` აყენებს ნივთის საჩვენებელ სახელს. ინტერვალები იწერება ქვედა ტირეებით და & ფერის კოდები მუშაობს.
  • `lore:` აყენებს lore-ის ხაზებს. ქვედა ტირეები ინტერვალებად იქცევა, | კი ახალ ხაზს იწყებს.
  • `color:` იღებს RGB სამეულს ტყავის ჯავშნისთვის.
  • `$`-ით დაწყებული ხაზი ეკონომიკის გავლით ფულს გასცემს, ანუ $250 აღებისას მოთამაშეს 250-ს ურიცხავს. ამისთვის მუშა ეკონომიკა გჭირდება, რომელსაც მთავარი jar იძლევა.
  • `/`-ით დაწყებული ხაზი kit-ის აღებისას console-ის ბრძანებად სრულდება. {player} იცვლება მოთამაშის სახელით. ასე გასცემ სხვა პლაგინების ნივთებს, ანიჭებ უფლებას ან აცხადებ რამეს.

მასალის სახელები სერვერის ვერსიას უნდა ემთხვეოდეს. 1.20-ისთვის დაწერილი kit, რომელიც მოგვიანებით გადარქმეულ ან დამატებულ ნივთს ასახელებს, იმ ხაზს ვერ ჩატვირთავს და console ამას გაშვებისას ან აღებისას აცხადებს. თვითონ kit მაინც იტვირთება, გატეხილი ხაზის გარეშე, ამიტომ მოთამაშეები ხშირად წერენ "kit-ში ხმალი აკლია" და არა "kit გატეხილია".

kits.yml-ის ცვლილებები ძალაში შედის /essentials reload-ის ან გადატვირთვის შემდეგ. Reload kit-ებისთვის რიგზეა, მაგრამ სხვა პლაგინებისთვის ის უნივერსალური საშუალება არ არის.

kit-ების შექმნა თამაშში /createkit-ით

NBT-ით დატვირთული ნივთების ხელით წერა მოსაწყენია, ამიტომ EssentialsX-ს შეუძლია შენი inventory-ის გადაღება. შეავსე inventory ზუსტად იმით, რაც kit-ში უნდა იყოს, და გაუშვი:

bash
/createkit starter -1/createkit daily 86400

პირველი არგუმენტი kit-ის სახელია, მეორე - დაყოვნება წამებში. ბრძანებას სჭირდება essentials.createkit. როცა config.yml-ში pastebin-createkit: false არის (მიმდინარე ვერსიებზე ნაგულისხმევია), kit პირდაპირ kits.yml-ში იწერება; როცა true-ზეა, პლაგინი kit-ს paste სერვისზე ტვირთავს და ბმულს გაძლევს დასაკოპირებლად - სწორედ ამას აღწერენ ძველი გზამკვლევები.

/createkit ინახავს enchantment-ებს, სახელებს, lore-სა და ნივთის მონაცემების უმეტესობას. Paper-ზე ახალ ვერსიებს kit-ის ნივთების სერიალიზებული სახით შენახვაც შეუძლიათ, რაც ნივთის ყველა მონაცემს ინარჩუნებს, სხვა პლაგინების მონაცემების ჩათვლით; ეს იმაზეა დამოკიდებული, რომელი EssentialsX-ის ვერსია გაქვს და რა პარამეტრია config.yml-ში, ამიტომ ინსტრუქციას კი არა, საკუთარ ფაილს დაეყრდენი. ნებისმიერ შემთხვევაში, kit-ის შექმნის შემდეგ გახსენი kits.yml და წაიკითხე, რა ჩაიწერა. მხოლოდ ასე დარწმუნდები, რომ განსაკუთრებული ნივთი გადარჩა.

დანარჩენი kit-ის ბრძანებები:

ბრძანებაუფლებარას აკეთებს
/kit ან /kitsessentials.kitაჩვენებს kit-ებს, რომლებიც მოთამაშეს შეუძლია გამოიყენოს
/kit <name>essentials.kits.<name>იღებს kit-ს
/kit <name> <player>essentials.kit.otherskit-ს სხვას გადასცემს
/showkit <name>essentials.showkitაჩვენებს შიგთავსს აღების გარეშე
/delkit <name>essentials.delkitშლის kit-ის აღწერას
/kitreset <name> [player]essentials.kitresetასუფთავებს cooldown-ს (ახალი ვერსიები)

kit-ის დაყოვნება, ერთჯერადი kit-ები და ფასები#

delay იზომება წამებში ბოლო აღების მომენტიდან. რამდენიმე მნიშვნელობა მუდმივად გვხვდება:

delayმნიშვნელობა
0cooldown საერთოდ არ არის
3600საათში ერთხელ
86400დღეში ერთხელ
604800კვირაში ერთხელ
-1ერთხელ და სამუდამოდ

Cooldown ინახება მოთამაშის userdata ფაილში, timestamps-ის ქვეშ, kit-ის სახელის მიხედვით. აქედან ორი პრაქტიკული შედეგი გამომდინარეობს. Kit-ის გადარქმევა ყველა მოთამაშის cooldown-ს ანულებს, რადგან ძველი დროის ნიშნული აღარაფერს ემთხვევა. ერთჯერადი kit კი მხოლოდ მანამ არის ერთჯერადი, სანამ მოთამაშის ფაილი არსებობს; userdata-ს გასუფთავება ყველას საწყის kit-ებს თავიდან გადასცემს.

მოთამაშეები, რომლებსაც აქვთ essentials.kit.exemptdelay, დაყოვნებას სრულად უგულებელყოფენ. ეს უფლება მისცე სტაფს, რომელიც kit-ებს ტესტავს, და არასოდეს - donor rank-ს შემთხვევით მემკვიდრეობით. შეუზღუდავი ყოველდღიური kit ნივთების დუბლიკატორია, უფლების ნიშნულით.

kit-ში ფულის გადასახდელად გამოიყენე command-costs config.yml-ში. გასაღები არის kit- და kit-ის სახელი:

plugins/Essentials/config.yml
command-costs:  kit-tools: 0  kit-daily: 500  warp: 10  home: 25

ღირებულება ყოველ გამოყენებაზე ეკონომიკის გავლით იხდება და მოთამაშეს, რომელსაც არ ყოფნის თანხა, უარი ეთქმის. განმეორებად kit-ში პატარა თანხის აღება ჩუმი გზაა, რომ ის ფარმად არ იქცეს, და იგივე სექცია ტელეპორტებსაც აფასებს, რაზეც ქვემოთ კიდევ ვისაუბრებთ.

kit-ის უფლებები და პირველი შესვლის kit-ი#

Kit-ზე წვდომა ორი უფლებაა და გაუმართავი კონფიგურაციების უმეტესობას მხოლოდ ერთი აქვს:

  • essentials.kit უშვებს თვით /kit ბრძანებას.
  • essentials.kits.<name> უშვებს კონკრეტულ kit-ს. essentials.kits.* ყველას უშვებს.

მოთამაშე, რომელსაც აქვს essentials.kit, მაგრამ kit-ის უფლებები არა, ცარიელ სიას ხედავს. მოთამაშე, რომელსაც აქვს essentials.kits.starter, მაგრამ essentials.kit არა, ბრძანებას ვერ გაუშვებს. LuckPerms-ში გონივრული დანაწილება ასე გამოიყურება:

bash
/lp group default permission set essentials.kit true/lp group default permission set essentials.kits.starter true/lp group default permission set essentials.kits.tools true/lp group vip permission set essentials.kits.vip true/lp group admin permission set essentials.kit.exemptdelay true

თუ vip იმკვიდრებს default-ს, VIP-ებს starter და tools kit-ებიც ექნებათ, რაც ჩვეულებრივ სასურველია. LuckPerms-ის გზამკვლევი განმარტავს მემკვიდრეობას და იმას, რატომ არის უფლებების ჯგუფებზე და არა ცალკეულ მოთამაშეებზე დაყენება უფრო გადამოწმებადი.

Kit-ის პირველ შესვლაზე ავტომატურად გასაცემად გამოიყენე config.yml-ის newbies სექცია. ის EssentialsX Spawn-ს ეკუთვნის, ამიტომ არაფერს აკეთებს, თუ ეს მოდული დაყენებული არ არის:

plugins/Essentials/config.yml
newbies:  announce-format: '&dWelcome {DISPLAYNAME}&d to the server!'  spawnpoint: newbies  kit: starter

kit ასახელებს kit-ს, რომელიც პირველ შესვლაზე გაიცემა, მოთამაშის kit-ის უფლებების მიუხედავად. ცარიელ სტრიქონზე დაყენებისას არაფერი გაიცემა. spawnpoint ასახელებს spawn-ს, რომელიც /setspawn newbies-ით დაყენდა, ამიტომ ახალი მოთამაშეები შეიძლება ტრენინგის ზონაში გამოჩნდნენ, დანარჩენები კი მთავარ spawn-ზე. თუ starter kit-ს ამ გზით გასცემ, იმავე kit-ს დაუყენე delay: -1 და მისი უფლება default ჯგუფს არ მისცე, თორემ ახალი მოთამაშეები მას მეორედ აიღებენ /kit-იდან.

Warp-ები: /setwarp და warp-ების უფლებები#

Warp არის დასახელებული ადგილი, სადაც უფლების მქონე ნებისმიერს შეუძლია ტელეპორტი. დადექი იქ, სადაც warp უნდა დაეშვას, იმ მიმართულებით, საითაც მოთამაშეები უნდა იყურებოდნენ ჩასვლისას, და გაუშვი /setwarp <name>. პოზიცია, pitch-სა და yaw-ს ჩათვლით, ინახება warps/<name>.yml-ში.

ბრძანებაუფლებარას აკეთებს
/setwarp <name>essentials.setwarpქმნის ან გადააადგილებს warp-ს
/warpessentials.warp.listაჩვენებს warp-ების სიას, გვერდებად
/warp <name>essentials.warpტელეპორტავს warp-ზე
/warp <name> <player>essentials.warp.othersსხვა მოთამაშეს გზავნის
/delwarp <name>essentials.delwarpშლის warp-ს

ნაგულისხმევად, ყველას, ვისაც აქვს essentials.warp, ყველა warp-ის გამოყენება შეუძლია. ეს რიგზეა სერვერისთვის, რომელსაც აქვს shop, mine და end პორტალი, და არასწორია იმ წუთიდან, როცა სტაფის ზონა ან donor-ების კუნძული გაჩნდება. ჩართე warp-ებზე ცალკეული წვდომა config.yml-ში:

plugins/Essentials/config.yml
per-warp-permission: true

ამის შემდეგ თითოეულ warp-ს თავისი უფლება სჭირდება, essentials.warps.<name>, ხოლო essentials.warps.* ყველას ანიჭებს. Warp-ების სია მხოლოდ იმ warp-ებს აჩვენებს, რომლებიც მოთამაშეს შეუძლია გამოიყენოს, და ეს მთავარი მიზეზია, რის გამოც ღირს ამის ჩართვა, თუნდაც ყველა warp საჯარო იყოს: შეგიძლია დამალული staffroom დაამატო და ის ყველას სიაში არ გამოჩნდება.

bash
/lp group default permission set essentials.warps.spawn true/lp group default permission set essentials.warps.shop true/lp group default permission set essentials.warps.mine true/lp group vip permission set essentials.warps.vipisland true/lp group mod permission set essentials.warps.* true

/setwarp არსებულ სახელზე warp-ს უხმოდ გადააადგილებს. essentials.setwarp დატოვე მათთან, ვინც სერვერს აშენებს, essentials.delwarp კი კიდევ უფრო ვიწრო წრეში. Warp, რომელიც აღარ ჩატვირთულ world-ზე მიუთითებს - ეს Multiverse-ის world-ის წაშლის შემდეგ ხშირია - შეცდომას warp-ის კი არა, world-ის შესახებ გვიჩვენებს, და ეს ცოდნად ღირს; რამდენიმე world-ის გაშვება Multiverse-ით განმარტავს world-ების სუფთად ჩატვირთვასა და გამორთვას.

Home-ები და sethome-multiple ლიმიტები#

/sethome დასახელებულ ადგილს მოთამაშის საკუთარ ფაილში ინახავს, /home კი იქ აბრუნებს. ერთი home-ის შემთხვევაში სახელი არასავალდებულოა და ნაგულისხმევად home არის. რამდენიმეს შემთხვევაში მოთამაშეები სახელს აძლევენ: /sethome base, /sethome farm, /home farm. /home რამდენიმე home-ით და სახელის გარეშე სიას აჩვენებს.

ლიმიტს განსაზღვრავს config.yml-ის ეს ცხრილი, აქ ნაგულისხმევი მნიშვნელობებით:

plugins/Essentials/config.yml
sethome-multiple:  default: 3  vip: 5  staff: 10

გასაღებები თვითნებური სახელებია და არა ჯგუფების სახელები. თითოეული გასაღები უფლებას შეესაბამება:

  • essentials.sethome.multiple - საჭიროა, რომ მოთამაშეს საერთოდ ერთზე მეტი home ჰქონდეს.
  • essentials.sethome.multiple.<key> - ანიჭებს იმ დონის რიცხვს, ანუ essentials.sethome.multiple.vip 5-ს უშვებს.
  • essentials.sethome.multiple.unlimited - ლიმიტი არ არის.

მოთამაშე, რომელსაც რამდენიმე დონის უფლება აქვს, მათგან უმაღლეს რიცხვს იღებს, ამიტომ მემკვიდრეობა VIP-ს 3-ზე არ ჩამოაქვეითებს. მოთამაშე, რომელსაც essentials.sethome.multiple არ აქვს, ერთ home-ს იღებს, ცხრილში რაც უნდა იყოს. სწორედ ეს ერთი გამოტოვებული უფლებაა მიზეზი "ჩემს rank-ს ხუთი home უნდა ჰქონდეს" ტიპის უმეტესი თხოვნისა. დაამატე საკუთარი დონეები თავისუფლად - legend: 15 და სწორ ჯგუფზე essentials.sethome.multiple.legend სრულიად საკმარისია.

bash
/lp group default permission set essentials.sethome true/lp group default permission set essentials.home true/lp group default permission set essentials.delhome true/lp group default permission set essentials.sethome.multiple true/lp group vip permission set essentials.sethome.multiple.vip true/lp group mod permission set essentials.home.others true

essentials.home.others სტაფს აძლევს მოთამაშის home-ის მონახულების საშუალებას /home <player>:<homename>-ით, რაც გრიფინგის საჩივრების გამოძიებისას გამოსადეგია და სხვისთვის საჭირო არ არის.

იმავე ფაილის რამდენიმე მონათესავე პარამეტრი შეგნებულ გადაწყვეტილებას იმსახურებს:

  • spawn-if-no-home - როცა true-ა, /home home-ების გარეშე მოთამაშეს შეცდომის ნაცვლად spawn-ზე აგზავნის.
  • update-bed-at-daytime - მოთამაშეებს აძლევს საწოლზე დაწკაპუნებით დღისით bed spawn-ის დაყენების საშუალებას, რომ /home bed გონივრულ ადგილზე მიუთითებდეს.
  • world-home-permissions - როცა true-ა, world-ში home-ს ამ world-ის უფლება სჭირდება. გამოსადეგია home-ების იმ resource world-ისგან მოსაშორებლად, რომელსაც ხელახლა ანულებ.

Home-ები კომფორტია, რომელიც survival სერვერის თამაშის სტილს ცვლის. შეუზღუდავი უფასო home-ები world-ს ტელეპორტის ადგილების ნაკრებად აქცევს და გზებს აღარავინ აშენებს. ჩვეულებრივი კომპრომისია: ახალი მოთამაშეებისთვის მცირე რაოდენობა, rank-ებისთვის ცოტათი მეტი და command-costs-ში პატარა home ფასი.

/spawn EssentialsX Spawn-ით#

Spawn მოდულის გარეშე EssentialsX-ისგან /spawn ბრძანება არ არსებობს. ჩამოტვირთე EssentialsXSpawn მთავარი jar-ის იმავე ვერსიით - ვერსიების შეუსაბამობა გაშვების შეცდომების გავრცელებული მიზეზია - და ორივე ჩადე plugins/-ში.

შემდეგ დადექი შენს spawn-ზე და გაუშვი /setspawn. ეს ადგილს spawn.yml-ში წერს. /setspawn <group> ცალკე spawn-ს ადგენს ერთი უფლებების ჯგუფისთვის, ამიტომ VIP ჯგუფი საკუთარ hub-ზე შეიძლება გამოჩნდეს, ხოლო /setspawn newbies ქმნის პირველი შესვლის წერტილს, რომელზეც newbies სექცია მიუთითებს.

ბრძანებაუფლებარას აკეთებს
/setspawn [group]essentials.setspawnაყენებს ნაგულისხმევ ან ჯგუფის spawn-ს
/spawnessentials.spawnტელეპორტავს შენს spawn-ზე
/spawn <player>essentials.spawn.othersსხვა მოთამაშეს spawn-ზე აგზავნის

მოდული ასევე განსაზღვრავს, სად გამოჩნდებიან მოთამაშეები სიკვდილის შემდეგ და შესვლისას. მნიშვნელოვანი პარამეტრები:

plugins/Essentials/config.yml
respawn-at-home: falsespawn-on-join: falserespawn-listener-priority: highspawn-join-listener-priority: high

თითოეული რას წყვეტს:

  • respawn-at-home გარდაცვლილ მოთამაშეებს spawn-ის ნაცვლად მათ home-ზე აგზავნის. უმეტესი survival სერვერი მას გამორთულს ტოვებს და გადაწყვეტას საწოლს აბარებს.
  • spawn-on-join მოთამაშეებს ყოველ შესვლაზე spawn-ზე აგზავნის. ის იღებს true-ს, false-ს ან ჯგუფის სახელს ან ჯგუფების სიას, ამიტომ მხოლოდ default მოთამაშეები გაიგზავნებიან spawn-ზე, rank-ები კი იქ შევლენ, სადაც გავიდნენ. სტაფი, რომელსაც აქვს essentials.spawn-on-join.exempt, გამოტოვებულია.
  • ორი listener-ის პრიორიტეტი წყვეტს, ვინ იმარჯვებს, როცა სხვა პლაგინიც სურს მოთამაშეების გადაადგილება respawn-ზე ან შესვლაზე. თუ lobby პლაგინი ან Multiverse შენს spawn-ს მუდმივად გადაფარავს, ეს არის სარეგულირებელი ღილაკი.

ბოლო საკითხი ბევრ სერვერს ეჭირება: მოთამაშეები ბლოკებს ვერ ტეხენ იქ, სადაც ღია ველს ჰგავს, რადგან უხილავი 16-ბლოკიანი დაცვის კვადრატი თავდაპირველი world spawn-ის გარშემოა და არა იმის, რასაც EssentialsX იყენებს. server.properties-ის განმარტება განიხილავს spawn-protection-სა და იმას, რატომ ვრცელდება ის მხოლოდ არა-ოპერატორებზე.

ტელეპორტის დაყოვნება, cooldown-ები და უსაფრთხოება#

EssentialsX-ის ყველა ტელეპორტი - /home, /warp, /spawn, /tpa, /back - ერთსა და იმავე პარამეტრებზე გადის, ამიტომ ერთხელ დაარეგულირე:

plugins/Essentials/config.yml
teleport-cooldown: 0teleport-delay: 0teleport-invulnerability: 4teleport-safety: true
პარამეტრიეფექტი
teleport-delayწამები, რომლებიც მოთამაშემ ჯერ უძრავად უნდა იდგეს
teleport-cooldownწამები, სანამ ისევ შეძლებს ტელეპორტს
teleport-invulnerabilityდაცვის წამები ჩასვლისას
teleport-safetyუარყოფს ან ასწორებს სახიფათო დანიშნულების ადგილებს

მოკლე teleport-delay, სამიდან ხუთ წამამდე, ტელეპორტით combat logging-ის წინააღმდეგ ყველაზე ეფექტური ერთადერთი პარამეტრია: მოთამაშემ უძრავად უნდა დგას, სანამ მას ურტყამენ, ხოლო მოძრაობა ტელეპორტს აუქმებს. სტაფს მისი გვერდისავლა შეუძლია essentials.teleport.timer.bypass-ით, cooldown-ისა კი essentials.teleport.cooldown.bypass-ით. teleport-safety ჩართული დატოვე; ის იცავს ლავაზე დაყენებულ home-ს ან warp-ს, რომლის იატაკიც ვიღაცამ ამოთხარა, რომ მომხმარებელი არ მოკვდეს.

command-costs-თან ერთად ეს პარამეტრები განსაზღვრავს, რამდენად მნიშვნელოვანია რუკა შენს სერვერზე. უფასო, მყისიერი, შეუზღუდავი ტელეპორტები მანძილს უაზროს ხდის. რამდენიმე წამის დაყოვნება და მცირე საფასური კომფორტის უმეტეს ნაწილს ინახავს და გრძელ გასეირნებას ზოგჯერ უკეთეს არჩევანად აქცევს.

home-ების, warp-ებისა და kit-ების backup#

ამ სტატიაში ყველაფერი პატარა YAML-ია plugins/Essentials/-ის ქვეშ და არც ერთი მათგანი world საქაღალდის ნაწილი არ არის. მარტო world-ის backup რელიეფს აღადგენს და პლაგინის მონაცემების ბოლო შენახვის შემდეგ ყველა home-ს, warp-სა და kit-ის cooldown-ს კარგავს; მარტო პლაგინის backup პირიქით. გააკეთე ორივე ერთად. Minecraft-ის world-ის backup და აღდგენა განმარტავს, რა ჩართო და როგორ დაბრუნდე უსაფრთხოდ.

RE:NODE-ზე Minecraft სერვერები Paper-ზე მუშაობენ შესაბამისი Java ვერსიით, EssentialsX-ის jar-ები კი file manager-ით ან SFTP-ით ადის, ისევე როგორც ნებისმიერი სხვა plugin. File manager-ს აქვს სინტაქსის გამოყოფის მქონე რედაქტორი kits.yml-ისა და config.yml-ისთვის, რაც YAML-ის დაშორებებში გვეხმარება, ხოლო ყველა game plan-ის backup სლოტები მთელ სერვერის დირექტორიას მოიცავს, პლაგინის მონაცემების ჩათვლით. გააკეთე ერთი, სანამ მოქმედ სერვერზე per-warp-permission-ს ჩართავ ან sethome-multiple-ს შეცვლი.

პრობლემების მოგვარება#

"You do not have permission to use that kit." მოთამაშეს აქვს essentials.kit, მაგრამ არა essentials.kits.<name>. შეამოწმე kit-ის ზუსტი სახელი უფლებაში; ეს არის გასაღები kits.yml-ში, პატარა ასოებით.

kit-ების სია ცარიელია. იგივე მიზეზი მეორე მხრიდან: essentials.kits.* უფლებები საერთოდ არ არის ან kit-ები ვერ ჩაიტვირთა. გაშვებისას მოძებნე YAML-ის შეცდომა; tab სიმბოლო ან ორწერტილის შემდეგ გამოტოვებული ინტერვალი მთელი ფაილის ჩატვირთვას აჩერებს.

`config.yml`-ში kit-ების ცვლილებები არაფერს აკეთებს. Kit-ები kits.yml-ში გადავიდა. შეცვალე ის ფაილი და გაუშვი /essentials reload.

აღებისას kit-ის ნივთი აკლია. ერთი ხაზი იყენებს მასალის სახელს, რომელიც სერვერის ვერსიამ არ იცის. Console ხაზს ასახელებს.

მოთამაშეები ერთ home-ზე არიან გაჭედილები. მათ არ აქვთ essentials.sethome.multiple. მარტო დონის უფლება საკმარისი არ არის.

`/spawn` უცნობი ბრძანებაა. EssentialsX Spawn დაყენებული არ არის ან ვერ ჩაიტვირთა, რადგან მისი ვერსია მთავარ jar-ს არ ემთხვევა.

მოთამაშეები არასწორ ადგილას ჩნდებიან respawn-ზე. სხვა პლაგინი respawn-ს უფრო მაღალი პრიორიტეტით ამუშავებს ან respawn-at-home ჩართულია. შეამოწმე Multiverse და ნებისმიერი lobby პლაგინი, მერე შეცვალე respawn-listener-priority.

Warp ამბობს, რომ world არ არსებობს. world, რომელზეც ის მიუთითებს, გადაერქვა ან გამოირთო. ხელახლა შექმენი warp ჩატვირთულ world-ში.

FAQ#

როგორ გავაკეთო kit, რომლის აღებაც მხოლოდ ერთხელ შეიძლება?

დაუყენე delay: -1 ან შექმენი /createkit <name> -1-ით. აღება მოთამაშის userdata ფაილში იწერება, ამიტომ ის ერთჯერადი რჩება, სანამ ეს ფაილი არ წაიშლება ან kit არ გადაერქმევა.

შემიძლია kit ავტომატურად გავცე ახალ მოთამაშეებს?

დიახ, EssentialsX Spawn-ის დაყენებით: config.yml-ის newbies სექციაში kit:-ს მიუთითე kit-ის სახელი. ის პირველ შესვლაზე გაიცემა, მოთამაშის kit-ის უფლებების მიუხედავად.

როგორ მივცე rank-ს მეტი home?

დაამატე ხაზი sethome-multiple-ში, მაგალითად vip: 5, და ამ rank-ს მიანიჭე როგორც essentials.sethome.multiple, ისე essentials.sethome.multiple.vip. მოთამაშე იღებს უმაღლეს დონეს, რომელიც აქვს.

შემიძლია ზოგი warp warp-ების სიიდან დავმალო?

ჩართე per-warp-permission. მაშინ მოთამაშეები ხედავენ და იყენებენ მხოლოდ იმ warp-ებს, რომლებისთვისაც აქვთ essentials.warps.<name>, ამიტომ სტაფის warp საჯარო უფლების გარეშე სხვებისთვის უხილავია.

მჭირდება EssentialsX Spawn, თუ სხვა spawn პლაგინს ვიყენებ?

არა, და ორი პლაგინის გაშვება, რომლებიც ორივე შესვლისა და respawn-ის ადგილს ამუშავებს, კონფლიქტებს იწვევს. აირჩიე ერთი. თუ EssentialsX Spawn-ს ტოვებ, შეცვალე მისი listener-ის პრიორიტეტები და არ ეჭიდავო მეორე პლაგინს.

რატომ ვერ ტეხენ მოთამაშეები ბლოკებს spawn-თან, თუმცა ის დაცული არ არის?

Vanilla spawn-protection world spawn-ზეა ცენტრირებული და არა EssentialsX-ის spawn-ზე. გადაიტანე world spawn /setworldspawn-ით ან დააყენე spawn-protection=0.