RE:NODE

სახელმძღვანელოები15 წუთის საკითხავი

Unturned-ის Commands.dat და RocketMod პლაგინები ახსნილი

Unturned სერვერის ყველა ბრძანება, რა უნდა იყოს Commands.dat-ში და რა კონსოლში, და RocketMod-ის (LDM) დაყენება: უფლებების ჯგუფები, cooldown-ები, პლაგინები და OpenMod.

0 მკითხველი

Unturned-ს ერთი ბრძანებათა სისტემა აქვს და მასთან მისასვლელი სამი გზა: ხაზი Commands.dat-ში, ხაზი სერვერის კონსოლში, ან ხაზი ჩატში, რომელსაც ადმინისტრატორი წინ / ან @ უწერს. რომელი გზა მუშაობს კონკრეტული ბრძანებისთვის, შემთხვევითი არ არის - ყოველი ბრძანება კლასიფიცირებულია როგორც ჩატვირთვისას მოქმედი, გაშვებულ სერვერზე მოქმედი, ან ორივე, ზოგიერთს კი დამატებით ჩართული cheats სჭირდება. ეს კლასიფიკაცია რომ გაარკვიო, Unturned სერვერის ადმინისტრირებაში არეულობის დიდი ნაწილი გაქრება. საქმის მეორე ნახევარი RocketMod-ია: ის საკუთარ პარალელურ ბრძანებათა სისტემას ამატებს, საკუთარი უფლებების ფაილით, და ჩუმად ასწორებს ვანილა სერვერის ყველაზე გამაღიზიანებელ ხარვეზს - მას autosave აქვს, საბაზო თამაშს კი არა.

როგორ კითხულობს Unturned ბრძანებას#

ბრძანებებში რეგისტრს მნიშვნელობა არ აქვს. როცა ბრძანებას ერთზე მეტი პარამეტრი აქვს, პარამეტრები ირიბი ხაზით (/) გაიყოფა, რაც პირველად უცნაურად გამოიყურება: ban 76561198012345678/Cheating/86400 არის სახელი, მიზეზი და ხანგრძლივობა და არა გზა ფაილამდე.

სად შეიძლება ბრძანების გაცემა, მისი კლასიფიკაციაზეა დამოკიდებული:

  • Config. იკითხება მხოლოდ ჩატვირთვისას, Commands.dat-იდან. ამ ჯგუფშია Map, Port, Owner, Cheats, PvE და Password. გაშვებულ კონსოლში მათი აკრეფა არაფერს გაძლევს.
  • Runtime. მუშაობს მხოლოდ მაშინ, როცა სერვერი ჩართულია: kick, ban, teleport, say, day, weather.
  • Any. მუშაობს ორივე ადგილას. MaxPlayers, Name, Welcome, Save და Shutdown შეიძლება იყოს Commands.dat-ში ან აიკრიფოს პირდაპირ.
  • Runtime cheat. მუშაობს გაშვებულ სერვერზე და მხოლოდ იმ შემთხვევაში, თუ Commands.dat-ში Cheats წერია: give, vehicle, animal, experience.

Commands.dat მდებარეობს Servers/<ServerID>/Server/Commands.dat-ზე, ერთ ხაზზე ერთი ბრძანება, და იკითხება ერთხელ, სერვერის ჩატვირთვისას. //-ით დაწყებული ხაზები კომენტარია. თამაშის რიცხვები - loot-ის სიხშირე, ზომბების ჯანმრთელობა, ტრანსპორტის ხელახლა გაჩენა - აქ არ არის; ისინი ცალკე სირთულის კონფიგურაციაშია, რომელიც აღწერილია Unturned სერვერის დაყენების გზამკვლევში. Commands.dat წყვეტს, რა არის სერვერი. კონფიგურაცია წყვეტს, როგორ თამაშდება ის.

Commands.dat: ყველაფერი, რაც ჩატვირთვისას შეგიძლია დააყენო#

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

ბრძანებანაგულისხმევირას აკეთებს
MapPEIდონის შიდა სახელი. სახელი, რომელიც ვერ მოიძებნა, ჩუმად PEI-ს ტვირთავს
Port27015Query პორტი. თამაშის ტრაფიკი ყოველთვის ამას პლუს ერთია
Owner-SteamID64 მუდმივი ადმინისტრატორის უფლებებით
Password-შესვლის პაროლი, ინახება მხოლოდ SHA-1 hash-ის სახით
ModeNormalEasy, Normal ან Hard; ირჩევს, რომელი კონფიგურაციის ბლოკი მოქმედებს
PvEoffარსებობისას თიშავს მოთამაშე-მოთამაშის ბრძოლას
Perspective-First, Third, Both ან Vehicle
Cheatsoffარსებობისას ადმინისტრატორებს cheat ბრძანებებს უშვებს
Filteroffუარყოფს მოთამაშეებს არაინგლისური, არაალფანუმერული სახელებით
Goldoffსერვერზე შესვლა შეუძლიათ მხოლოდ Gold Upgrade-ის მფლობელებს
Whitelistedoffსერვერზე შესვლა შეუძლიათ მხოლოდ დაშვებულ მოთამაშეებს
Hide_Adminsoffმოთამაშეებისგან მალავს ადმინის ნიშნებს
GSLT-Game Server Login Token
Bind0.0.0.0მიება ერთ შიდა მისამართზე ყველას ნაცვლად
GameMode-საკუთარი თამაშის რეჟიმის კლასის სახელი
Syncoffმოთამაშეებს საშუალებას აძლევს შენს სერვერებს შორის შენახული მონაცემები გაინაწილონ

და ისინი, რომლებიც მუშაობს ფაილშიც და კონსოლშიც:

ბრძანებანაგულისხმევიდიაპაზონირას აკეთებს
NameUnturned5-50 სიმბოლოსერვერის სახელი ბრაუზერში
MaxPlayers81-200ადგილების რაოდენობა
Queue_Size-0-64რამდენ მოთამაშეს შეუძლია ადგილის მოლოდინი
Timeout75050-10000მაქსიმალური ping მილიწამებში kick-მდე
Chatrate0.250-60წამები, რომელიც მოთამაშემ ჩატის შეტყობინებებს შორის უნდა დაიცადოს
Cycle3600-ერთი დღე-ღამის ციკლის ხანგრძლივობა წამებში
Welcome--Text/R/G/B, ჩანს შესვლისას
LogN/N/N/N-Chat/Join-Leave/Death/Anticheat, თითოეული Y ან N
Loadout--SkillsetID/ItemID/ItemID...; skillset 255 ნიშნავს ყველას
Votifyoff-Allowed/PassCooldown/FailCooldown/Duration/Percentage/Players

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

Servers/MyServer/Server/Commands.dat
// identityName Thursday SurvivalOwner 76561198012345678Welcome Rules are in Discord. No offline raiding./255/200/0// worldMap WashingtonMode NormalPerspective BothMaxPlayers 24Queue_Size 8Cycle 3600// connectionPort 27015Timeout 400Chatrate 1.0FilterLog Y/Y/Y/Y// listingGSLT 0123456789ABCDEF0123456789ABCDEF

ამათგან ოთხს მეორედ დახედვა ღირს. Timeout საერთოდ არ არის timeout - ეს მაქსიმალური ping-ია, და 750 იმდენად ხელგაშლილია, რომ მოთამაშე მსოფლიოს მეორე ბოლოდან დაკავშირებული რჩება, თუმცა ყველა მის გარშემო მყოფისთვის თვალსაჩინოდ ლაგავს. რეგიონულ სერვერზე მისი 400-მდე დაწევა ნამდვილი გაუმჯობესებაა და უპოპულარულიც.

Log Y/Y/Y/Y ჩართავს ჩატის, შესვლა-გასვლის, სიკვდილისა და anti-cheat-ის ლოგირებას, და ნაგულისხმევად გამორთულია. ჩართე ის, სანამ დაგჭირდება, რადგან როცა პირველად გინდა გაიგო, ვინ ააფეთქა ბაზა, ლოგები ან არსებობს, ან არა. ლოგები, რომლებიც ღირს შენახვად აღწერს, რა შეინახო და რამდენ ხანს.

Password-ს ცალკე გაფრთხილება ეკუთვნის: თამაში მას SHA-1 hash-ის სახით ინახავს, ამიტომ მიიჩნიე ის მეგობრების ჯგუფის კარის გასაღებად და ნუ გამოიყენებ პაროლს, რომელსაც სხვაგანაც იყენებ.

Port ორ ზედიზედ პორტს იყენებს: 27015 query-სთვის და 27016 თამაშის ტრაფიკისთვის. იმავე მანქანაზე მეორე სერვერი ნიშნავს Port 27017-ს და არა 27016-ს, თორემ ორივე დაეჯახება. გეიმ სერვერის პორტები ახსნილი ამ ხაფანგის ზოგად ვერსიას შეიცავს. GSLT ხაზი არის credential, რომელსაც თავად ქმნი Unturned-ის app id 304930-ის მიმართ - Steam-ის სერვერის ტოკენები ახსნილი ხსნის, რა არის ასეთი ტოკენი, ვის შეუძლია მისი შექმნა და რის გამო იბლოკება.

Runtime ბრძანებები: მოდერაცია, cheat-ები და კონსოლი#

ისინი აიკრიფება სერვერის კონსოლში, ან ჩატში ადმინისტრატორის მიერ / ან @-ის წინ დამატებით. მოდერაციის ნაკრები:

ბრძანებასინტაქსიეფექტი
admin<SteamID or Player>ადმინისტრატორის უფლებების მიცემა
unadmin<SteamID or Player>მათი ჩამორთმევა
kick<Player>/<Reason>მოთამაშის გათიშვა
ban<Player>/<Reason>/<Duration>ბანი; ცარიელი ხანგრძლივობა ნიშნავს 31536000 წამს
unban<SteamID>ბანის მოხსნა
bansბანების სიის ჩვენება
slay<Player>/<Reason>მოკვლა და დაბანვა ერთი ნაბიჯით
kill<Player>მოკვლა დაბანვის გარეშე
permit<SteamID>/<Tag>დაშვებულთა სიაში დამატება
unpermit<SteamID>მისგან ამოღება
permitsდაშვებულთა სიის ჩვენება
playersვინ არის დაკავშირებული
spy<Player>screenshot-ის მოთხოვნა, ინახება როგორც Spy.jpg
investigate<Player>მოთამაშის SteamID64-ის ჩვენება

სამყაროს და საყოფაცხოვრებო ნაკრები:

ბრძანებასინტაქსიეფექტი
saveსწორი შენახვის იძულებით ჩატარება ახლავე
shutdown<Delay>/<Explanation>შენახვა, ყველას გათიშვა, გაჩერება
say<Text>/<R>/<G>/<B>ჩატში მოცემა ყველასთვის; ნაგულისხმევად მწვანეა
day / nightსაათის გადახტომა
time<Seconds>ციკლის ზუსტი წერტილის დაყენება
weather<None or Storm or Blizzard or GUID>ამინდის იძულებით შეცვლა
airdropთვითმფრინავიდან ტვირთის მყისიერად გამოძახება
teleport<Player>/<Player, place, wp or bed>ვინმეს გადაყვანა
debugსერვერის მდგომარეობის კონსოლში გამოტანა
modulesჩატვირთული მოდულების სია, გამოსადეგია Rocket-ის ჩატვირთვის შესამოწმებლად
help[Command]ბრძანებების სია, ან ერთის ახსნა

და cheat ნაკრები, რომელსაც Commands.dat-ში Cheats სჭირდება: give, vehicle, animal, experience, reputation, flag, quest. საჯარო სერვერზე Cheats-ის ჩართვა გადაწყვეტილებაა და არა გულისყურის ნაკლებობა - ეს ნიშნავს, რომ ყოველ ადმინისტრატორს ყველაფრის შექმნა შეუძლია, ხოლო ამის ერთადერთი ჩანაწერი ისაა, რაც Log-ში დააყენე.

save ხაზგასმას იმსახურებს, რადგან ვანილა სერვერს autosave საერთოდ არ აქვს. არაფერი წერს მოთამაშეების ნაგებობებს, ტრანსპორტსა და ინვენტარს დისკზე ტაიმერით. shutdown ინახავს; kill, crash ან out-of-memory გაჩერება - არა. სანამ RocketMod-ს არ დააყენებ, რომელიც მას ამატებს, დაგეგმილი save ერთადერთი რამაა შენს სერვერსა და დაკარგულ კვირას შორის.

ადმინები, whitelist-ები და ბანები#

სამი უბრალო ტექსტური ფაილი დევს Servers/<ServerID>/Server/-ში, ერთ ხაზზე ერთი იდენტიფიკატორი:

code
Adminlist.dat     administratorsBlacklist.dat     bansWhitelist.dat     the allow list, used when Whitelisted is set

Commands.dat-ის Owner ბრძანება ცალკეა და უფრო ძლიერი: ის ერთ SteamID64-ს მუდმივ ადმინისტრატორის უფლებებს აძლევს Adminlist.dat-ის შეხების გარეშე, და შენი საკუთარი ანგარიშისთვის სწორედ ის არის სწორი ადგილი. დანარჩენები გადიან runtime-ზე admin-ის გავლით, რომელიც სიას შენთვის წერს.

Commands.dat-ში Whitelisted სერვერს მხოლოდ დაშვებულთა რეჟიმზე გადაიყვანს. ამ მომენტიდან ვერავინ შედის, თუ მისი ID არ არის Whitelist.dat-ში ან არ დაემატა permit-ით. permit-ის Tag პარამეტრი შენთვის განკუთვნილი ჭდეა - ის სიის ჩვენებისას ჩანს, რაც 200-ადგილიან whitelist-ზე განსხვავებაა მოხმარებად ფაილსა და რიცხვების კედელს შორის.

მოთამაშის SteamID64-ის გაგება ყველაზე ადვილია investigate <name>-ით, სანამ ის დაკავშირებულია. პროფილის URL-დან კოპირებაც მუშაობს, მაგრამ Unturned-ის მოთამაშეთა ნახევარს რიცხვითის ნაცვლად ლამაზი URL აქვს, და ხალხი ამ სტრიქონს Adminlist.dat-ში სვამს და უკვირს, რატომ არაფერი მოხდა.

RocketMod-ის (LDM) დაყენება#

RocketMod არის პლაგინების framework, რომელზეც თითქმის ყველა Unturned პლაგინია გათვლილი. მისი ისტორია ერთი პრაქტიკული მიზეზით არის მნიშვნელოვანი: ორიგინალმა შემქმნელებმა მუშაობა 2019 წლის დეკემბერში შეწყვიტეს და წყარო MIT ლიცენზიით გამოაქვეყნეს, Smartly Dressed Games-მა ის fork-ად აიღო, რომ თამაშს ფეხი აუწყოს, და 2020 წლის ივნისში fork ორიგინალის ავტორის თხოვნით გადაერქვა Legally Distinct Missile. LDM ის ვერსიაა, რომელიც გჭირდება. ის არსებულ პლაგინებთან თავსებადობას ინარჩუნებს და ძველი Rocket-ის პრობლემების შესწორებებს შეიცავს, მათ შორის multithreading exception-ებს და teleportation ექსპლოიტს.

მისი ჩამოტვირთვა არ გჭირდება. dedicated server მას თან მოაქვს:

  1. გააჩერე სერვერი.
  2. დააკოპირე Rocket.Unturned საქაღალდე სერვერის Extras დირექტორიიდან.
  3. ჩასვი სერვერის Modules დირექტორიაში.
  4. გაუშვი სერვერი და უყურე Rocket-ს ჩატვირთვის ლოგში. კონსოლში modules ადასტურებს, რომ ჩაიტვირთა.

პირველ გაშვებაზე Rocket ინსტანციის შიგნით საკუთარ საქაღალდეს ქმნის, და ამიერიდან პლაგინებთან მუშაობა სწორედ აქ ხდება:

code
Servers/MyServer/Rocket/  Rocket.config.xml              core settings, RCON, automatic shutdown  Rocket.Unturned.config.xml     the Unturned-specific module settings  Permissions.config.xml         groups, members, permissions  Commands.config.xml            enable, disable and re-prioritise commands  Rocket.en.translation.xml      message strings  Plugins/                       plugin DLLs and their config files  Libraries/                     shared dependencies  Logs/                          Rocket.log, rotated on start

RE:NODE-ზე Unturned სერვერები RocketMod-ით უკვე მოდის, ამიტომ მოდული დაყენებულია და ეს საქაღალდე პირველი ჩატვირთვის შემდეგ არსებობს - პლაგინებს file manager-ით ან SFTP-ით ამატებ. დაშვებული პლაგინების სია არ არსებობს; რასაც ატვირთავ, ის მუშაობს, რაც ასევე კარგი მიზეზია, რომ პლაგინის წყარო გადახედო, სანამ მას შენს სერვერს ანდობ.

Rocket.config.xml და რას ჩართავს ის#

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

Servers/MyServer/Rocket/Rocket.config.xml
<RocketSettings>  <RCON Enabled="false" Port="27115" Password="changeme"        EnableMaxGlobalConnections="true" MaxGlobalConnections="10"        EnableMaxLocalConnections="true" MaxLocalConnections="3" />  <AutomaticShutdown Enabled="false" Interval="86400" />  <WebConfigurations Enabled="false" Url="" />  <WebPermissions Enabled="false" Url="" Interval="180" />  <LanguageCode>en</LanguageCode>  <MaxFrames>60</MaxFrames></RocketSettings>

RCON ნაგულისხმევად გამორთულია და პაროლი changeme-ია; თუ მას პაროლის შეცვლის გარეშე ჩართავ, ინტერნეტში დისტანციური კონსოლი გამოაქვეყნე. Rocket-ის RCON არის უბრალო TCP socket პორტზე 27115; ის დაშიფრული არ არის და ზემოთ მოცემული კავშირების რაოდენობის გარდა შეზღუდვა არ აქვს. ჩართე ის მხოლოდ მაშინ, როცა რამეს მართლა სჭირდება, შეცვალე პაროლი და შეზღუდე, ვის შეუძლია პორტამდე მისვლა. RCON უსაფრთხოდ ზოგად წესებს აღწერს, და აქ ისინი ჩვეულებრივზე მეტი ძალით მოქმედებს.

AutomaticShutdown Interval="86400"-ით არის დღეში ერთხელ გადატვირთვა, ნაგულისხმევად გამორთული. survival სერვერზე მისი ჩართვა გონივრულია, თუმცა პანელიდან დაგეგმილი restart გაფრთხილების შეტყობინებას და წინასწარ backup-ს გაძლევს, რასაც ეს არ აკეთებს. Restart გრაფიკები, რომლებიც გეხმარება დროის არჩევას აღწერს.

Unturned-ის მხარის მოდულის ფაილი უფრო საინტერესოა:

Servers/MyServer/Rocket/Rocket.Unturned.config.xml
<UnturnedSettings>  <RocketModObservatory KickLimitedAccounts="true"                        KickTooYoungAccounts="true"                        MinimumAge="604800" />  <AutomaticSave Enabled="true" Interval="1800" />  <CharacterNameValidation>true</CharacterNameValidation>  <LogSuspiciousPlayerMovement>true</LogSuspiciousPlayerMovement>  <EnableItemBlacklist>false</EnableItemBlacklist>  <EnableItemSpawnLimit>false</EnableItemSpawnLimit>  <MaxSpawnAmount>10</MaxSpawnAmount>  <EnableVehicleBlacklist>false</EnableVehicleBlacklist></UnturnedSettings>

AutomaticSave მთავარია: ჩართულია, ყოველ 1800 წამში. RocketMod-ის დაყენება Unturned სერვერს აძლევს ნახევარსაათიან autosave-ს, რომელიც მას სხვაგვარად საერთოდ არ აქვს. თუ სერვერი დატვირთულია და ბევრს აშენებენ, ეს ინტერვალი განახევრე; შენახვა მოკლეა, ნახევარი საათის აშენებული კი არა.

KickLimitedAccounts და KickTooYoungAccounts MinimumAge="604800"-ით უარყოფს Steam ანგარიშებს, რომლებიც შეზღუდულია ან შვიდ დღეზე ახალგაზრდაა. საჯარო სერვერზე ეს უფასოდ აცლის ერთჯერადი griefing ანგარიშების მნიშვნელოვან წილს და, ასევე, ხანდახან კანონიერ ახალ მოთამაშესაც ბლოკავს, ამიტომ ეს გაცვლაა და არა მოგება.

უფლებები: ჯგუფები, მემკვიდრეობა და cooldown-ები#

Permissions.config.xml ის ადგილია, სადაც „პლაგინი არ მუშაობს" ტიპის ანგარიშების უმეტესობა სინამდვილეში მთავრდება. პლაგინის ბრძანებები არავისთვის არ არის ხელმისაწვდომი, სანამ რომელიმე ჯგუფს მათი permission node არ აქვს, ხოლო node უბრალოდ ბრძანების სახელია.

Servers/MyServer/Rocket/Permissions.config.xml
<RocketPermissions>  <DefaultGroup>default</DefaultGroup>  <Groups>    <Group>      <Id>default</Id>      <DisplayName>Guest</DisplayName>      <Color>white</Color>      <Members />      <Permissions>        <Permission>p</Permission>        <Permission>compass</Permission>        <Permission>rocket</Permission>      </Permissions>    </Group>    <Group>      <Id>vip</Id>      <DisplayName>VIP</DisplayName>      <Color>FF9900</Color>      <ParentGroup>default</ParentGroup>      <Members>        <Member>76561198012345678</Member>      </Members>      <Permissions>        <Permission>kit.*</Permission>        <Permission Cooldown="120">heal</Permission>        <Permission Cooldown="30">v</Permission>      </Permissions>    </Group>  </Groups></RocketPermissions>

ამ ყველაფერს ოთხი მექანიზმი აკეთებს:

  • `DefaultGroup` ასახელებს ჯგუფს, სადაც ყველა ხვდება, სადმე ჩამოთვლილი რომ არ იყოს. რასაც ის შეიცავს, ყველა მოთამაშეს აქვს.
  • `ParentGroup` მემკვიდრეობას იძლევა. vip იღებს ყველაფერს, რაც default-ს აქვს, და საკუთარს ამატებს, ამიტომ node-ს არასოდეს იმეორებ.
  • `Members` არის SteamID64-ების სია. მოთამაშე ჯგუფს მხოლოდ აქ უკავშირდება, /p ბრძანების გარდა.
  • `Cooldown` თითოეული permission-ისთვისაა და წამებში. heal-ზე Cooldown="120" ნიშნავს, რომ VIP-ს შეუძლია განკურნება ორ წუთში ერთხელ. ეს ფუნქცია გახდის პრივილეგიების სისტემას გამძლეს და სხვაგან არსად არ ყენდება.

Wildcard-ები მუშაობს წერტილიან node-ებზე: kit.* აძლევს ყველა kit-ს, რომელსაც kit პლაგინი განსაზღვრავს, სადაც kit.starter ერთს მისცემდა. ფერები იღებს სახელს ან hex მნიშვნელობას წინა ჰეშის გარეშე.

ამ ფაილის ცვლილებები restart-ის ნაცვლად /p reload-ით აიღება. /p <player> <group> ვიღაცას ჯგუფებს შორის პირდაპირ გადაიყვანს, ასე ურიგებ რანგს ფაილის გახსნის გარეშე. იგივე ნაკლები-პრივილეგიის აზროვნება, რაც პანელის ანგარიშებზე მოქმედებს, აქაც მოქმედებს - ქვემომხმარებლები და ნაკლები პრივილეგია ზოგად არგუმენტს გამოთქვამს და ეს იგივე არგუმენტია: არავის სჭირდება tp იმის გამო, რომ ჩატს მოდერირებს.

/healჯგუფს აქვს უფლება?yes, if off cooldown/kickadmin onlyPlayer types a commandRocket modulecommand registryUnturned consolebuilt-in commandsPermissions.config.xmlgroup, inheritance, cooldownCommand runs
სად მუშავდება slash ბრძანება

Rocket-ის საკუთარ ბრძანებებს ის ფაილი განაგებს. ადრინდელ ცხრილებში მოცემულ ვანილა ბრძანებებს - არა: ისინი მხოლოდ ადმინისტრატორის სტატუსს ამოწმებს და სხვა არაფერს. ორი სისტემა გვერდიგვერდ, და მოთამაშე შეიძლება იყოს Rocket VIP ვანილა ძალაუფლების გარეშე ან ვანილა ადმინი Rocket-ის უფლებების გარეშე.

Rocket-ის ჩაშენებული ბრძანებები, რომელთაგან ყველა permission node-ია, რომლის გაცემაც შეგიძლია:

ბრძანებასინტაქსიეფექტი
p<player> [group] or reloadმოთამაშის ჯგუფის დაყენება ან ფაილის გადატვირთვა
rocket<plugins or reload>, <load or unload or reload> <plugin>პლაგინების მართვა restart-ის გარეშე
i<id> [amount]ნივთის საკუთარი თავისთვის მიცემა
v<id>ტრანსპორტის საკუთარი თავისთვის მიცემა
more<amount>მეტი იმისა, რაც ხელში გიჭირავს
heal[player]საკუთარი თავის ან სხვისი განკურნება
god / vanishუკვდავება, უჩინარობა
tp<player, place or x y z>საკუთარი თავის გადაყვანა
tphere<player>ვიღაცის შენთან გადმოყვანა
homeუკან ბოლო საწოლთან
broadcast<color> <message>რამის გამოცხადება
investigate<player>მისი SteamID64
compass[direction]მიმართულება, საითაც იყურები
exitგასვლა გათიშვის cooldown-ის გარეშე
rwho / rkick / rflushRCON კლიენტების ჩვენება, გაგდება და გასუფთავება

პლაგინები და OpenMod#

პლაგინი არის .dll, რომელიც Rocket/Plugins/-ში ჩაგდე. პირველ ჩატვირთვაზე ის საკუთარ გვერდით წერს <PluginName>.configuration.xml-ს და <PluginName>.en.translation.xml-ს, რაც შენთვის ნიშანია, რომ საერთოდ ჩაიტვირთა - კონფიგურაციის ფაილი არ არის, ჩატვირთვა არ მომხდარა, და Rocket/Logs/Rocket.log მიზეზს გეტყვის. საერთო დამოკიდებულებები Libraries/-ში მიდის. rocket reload <plugin> შეცვლილ კონფიგურაციას სერვერის გაჩერების გარეშე იღებს.

ოპერაციების თანმიმდევრობა, რომელიც უმეტეს უბედურებას გაგარიდებს:

  1. გააჩერე სერვერი, ან სულ მცირე იცოდე, რომ მერე გადატვირთავ.
  2. ჩააგდე DLL Plugins/-ში და გაუშვი სერვერი.
  3. წაიკითხე ლოგი. დარწმუნდი, რომ პლაგინი ჩაიტვირთა და თავისი კონფიგურაცია დაწერა.
  4. გააჩერე, შეცვალე მის მიერ შექმნილი კონფიგურაცია, ისევ გაუშვი.
  5. მიანიჭე მისი permission node-ები ჯგუფს Permissions.config.xml-ში.
  6. გამოსცადე არაადმინისტრატორის ანგარიშით. ადმინები საკმარის შემოწმებებს გვერდს უვლიან, ამიტომ მათით ტესტი არაფერს ამტკიცებს.

მეხუთე ნაბიჯი ის არის, რომელიც გამოტოვება, და იძლევა კლასიკურ სიმპტომს: პლაგინი, რომელიც სუფთად იტვირთება, არაფერს ლოგავს და მისთვის აკრეფილ ყველა ბრძანებას უგულებელყოფს. სანამ დაასკვნი, რომ პლაგინი გატეხილია, შეამოწმე, არის თუ არა მისი node იმ ჯგუფში, რომელსაც ტესტერი ეკუთვნის.

OpenMod უფრო ახალი framework-ია, დაწერილი Rocket-ის ერთ-ერთი ორიგინალი შემქმნელის მიერ, და ის RocketMod-ს არ ცვლის - მასთან ერთად მუშაობს და თავსებადობის ფენით Rocket-ის პლაგინებსაც ატარებს. მარტივი დაყენება OpenMod-ის installer პლაგინია: ჩააგდე Rocket/Plugins/-ში, გადატვირთე, გაუშვი /openmod install და მიჰყევი მითითებებს. ხელით გზა OpenMod.Unturned საქაღალდეს Modules/-ში აკოპირებს და პირველი გაშვება გრძელია, სანამ საკუთარ კომპონენტებს ჩამოტვირთავს. აირჩიე ის framework, რომლისთვისაც ის პლაგინებია გამოცემული, რომლებიც მართლა გინდა; იდეოლოგიურად არჩევა საჭირო არ არის.

რასაც არ უნდა აყენებდე, ჯერ backup გააკეთე. მოთამაშეების ნაგებობები, ტრანსპორტი და ინვენტარი ინსტანციის შენახვის ფაილებშია და პლაგინს, რომელიც მათ წაშლის, დაბრუნება არ აქვს. ინსტანციის საქაღალდის backup გრაფიკით აკეთე და დროდადრო აღადგინე ერთი, რომ დაამტკიცო, backup მუშაობს, რადგან backup, რომელიც არავის აღუდგენია, ჰიპოთეზაა. მოდიფიცირებული სერვერის ჰიგიენა - ვერსიების დაფიქსირება, წყაროს კითხვა, აღარგამოყენებულის მოშორება - აღწერილია მოდიფიცირებული სერვერის სისუფთავეში, ხოლო workshop-ის კონტენტს საკუთარი წესები აქვს, რომლებიც Steam Workshop-ის მოდებში dedicated სერვერებზე არის განხილული.

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

`Commands.dat`-ში ბრძანება არაფერს აკეთებს. ის runtime ბრძანებაა. kick, ban, say და teleport მხოლოდ სერვერის მუშაობისას არსებობს.

სერვერი მუდამ PEI-ს ტვირთავს. Map არ ემთხვევა დაყენებული დონის სახელს. ეს შიდა სახელია და არა გამოსაჩენი, და გამოტოვებული workshop რუკა იმავე შედეგს იძლევა.

`Commands.dat`-ის ცვლილებები ქრება. სერვერი მუშაობდა, როცა შეინახე. გააჩერე, შეცვალე, გაუშვი.

Rocket არ ჩაიტვირთა. კონსოლში გაუშვი modules. თუ Rocket.Unturned სიაში არ არის, საქაღალდე Extras-იდან Modules-ში არ დაკოპირებულა, ან ერთი დონით ღრმად დაკოპირდა.

პლაგინი ჩაიტვირთა, მაგრამ მისი ბრძანებები უგულებელყოფილია. ათიდან ცხრა შემთხვევაში უფლებებია. დაამატე node ჯგუფს Permissions.config.xml-ში, გაუშვი /p reload და გამოსცადე ჩვეულებრივ მოთამაშედ.

პლაგინმა კონფიგურაციის ფაილი არ დაწერა. ის არ ჩატვირთულა. Rocket/Logs/Rocket.log დაასახელებს გამოტოვებულ დამოკიდებულებას ან ვერსიის შეუსაბამობას.

მოთამაშეები შესვლისთანავე გაიგდება. KickLimitedAccounts ან KickTooYoungAccounts Rocket.Unturned.config.xml-ში, ან Filter Commands.dat-ში, რომელიც მათ სახელს უარყოფს, ან Whitelisted ცარიელი დაშვებულთა სიით.

პროგრესი crash-ის შემდეგ იკარგება. ვანილა Unturned-ს autosave არ აქვს. დააყენე RocketMod მისი 30-წუთიანი AutomaticSave-ისთვის, შეამოკლე ინტერვალი და დაგეგმე save ბრძანებაც.

RCON კავშირებს უარყოფს ან არასწორებს იღებს. პორტი 27115, პაროლი, რომელიც ისევ changeme-ია, და კავშირების ლიმიტები, რომლებიც შენს ვარაუდზე დაბალია. სამივე შეამოწმე, სანამ firewall-ზე იფიქრებ.

FAQ#

რა განსხვავებაა Commands.dat-სა და კონფიგურაციის ფაილს შორის?

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

RocketMod ჯერ კიდევ მხარდაჭერილია?

დიახ, როგორც Legally Distinct Missile, რომელსაც Smartly Dressed Games უჭერს მხარს მას შემდეგ, რაც ორიგინალმა გუნდმა 2019 წლის დეკემბერში განზე გადგა. ის dedicated სერვერთან ერთად მოდის Extras საქაღალდეში, ამიტომ დასაყენებელი ასლი ყოველთვის თამაშის ბილდს შეესაბამება.

რატომ ჩაიტვირთა ჩემი პლაგინი, მაგრამ არაფერს აკეთებს?

მისი ბრძანებებისთვის permission node არ არის მიცემული ჯგუფისთვის, რომელშიც მოთამაშეა. გახსენი Permissions.config.xml, დაამატე ბრძანების სახელი როგორც Permission სწორ ჯგუფში და გაუშვი /p reload. გამოსცადე არაადმინისტრატორით, რადგან ადმინისტრატორები საკმარის შემოწმებებს გვერდს უვლიან პრობლემის დასამალად.

შემიძლია RocketMod და OpenMod ერთად გავუშვა?

დიახ. OpenMod შექმნილია Rocket-ის გვერდით მუშაობისთვის და არა მის ჩასანაცვლებლად, და ის Rocket-ის პლაგინებს თავსებადობის ფენით უშვებს. installer პლაგინის გზა ორივეს რამდენიმე წუთში აყენებს.

აკეთებს Unturned autosave-ს?

ვანილაში - არა. საბაზო სერვერი ინახავს სუფთა shutdown-ზე და როცა save-ს აკრეფ, და სხვა დროს - არასოდეს. RocketMod ამატებს AutomaticSave-ს ყოველ 1800 წამში, რაც ერთადერთი საუკეთესო მიზეზია, რომ ის დააყენო პლაგინების გარეშე სერვერზეც.

როგორ შევზღუდო პრივილეგია მისი ჩუქების გარეშე?

გამოიყენე Cooldown ატრიბუტი permission-ზე და არა პლაგინის პარამეტრი: <Permission Cooldown="120">heal</Permission> ორ წუთში ერთ განკურნებას იძლევა. Cooldown-ები თითოეული permission-ისა და ჯგუფისთვისაა, ამიტომ ერთი ბრძანება შეიძლება თანამშრომლებისთვის ხელგაშლილი იყოს და დონორებისთვის ნორმირებული.


კომენტარები

სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.

0/2000