RE:NODE

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

Squad-ის Server.cfg, ადმინები და ბანები

მართე Squad სერვერის პერსონალი და წესები სწორად: ServerConfig საქაღალდე ფაილ-ფაილ, ადმინების ჯგუფები და უფლებები, ბანები, დაჯავშნილი სლოტები, დისტანციური სიები და როტაცია.

0 მკითხველი

Squad სერვერი SquadGame/ServerConfig/-ში მდებარე პატარა ტექსტური ფაილების საქაღალდით კონფიგურირდება, და იმ ორი ფაილიდან, რომლებიც რეალურად წყვეტს, როგორ იმუშავებს შენი საზოგადოება, ერთია Server.cfg (სახელი, სლოტები, გუნდის წესები, როტაციის რეჟიმი), მეორე კი Admins.cfg (ვის რისი გაკეთება შეუძლია). Admins.cfg-ში განსაზღვრე რამდენიმე ჯგუფი მხოლოდ იმ უფლებებით, რაც თითოეულ როლს სჭირდება, მიაბი მათ SteamID64-ები, წევრებისთვის სლოტები reserve უფლებით დაჯავშნე, ბანები Bans.cfg-ში ან საერთო დისტანციურ სიაში შეინახე, როტაციის რეჟიმად კი LayerList აირჩიე, რომ საღამომ ისე ჩაიაროს, როგორც დაგეგმე. ფაილები გაჩერებულ სერვერზე შეცვალე, გადატვირთე და ლოგში შეამოწმე, რომ ყველა ფაილი ჩაიტვირთა.

ეს გზამკვლევი Squad-ის მართვის ოპერაციული ნახევარია: პერსონალის სტრუქტურა, უფლებების სია თითო-თითო ახსნილი, ბანები და გასაჩივრება, დისტანციური ადმინებისა და ბანების სიები იმ საზოგადოებებისთვის, რომლებსაც ერთზე მეტი სერვერი აქვთ, და როტაციის ფაილები. სერვერის ინსტალაცია, პორტები, ლიცენზია და tick rate განხილულია Squad სერვერის ჰოსტინგში, მოდები და layer-ების დასახელება კი დეტალურად - Squad-ის მოდებსა და layer-ებში.

ServerConfig საქაღალდე, ფაილ-ფაილ#

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

ფაილირას შეიცავსვინ ცვლის
Server.cfgსახელი, სლოტები, რიგი, გუნდის წესები, როტაციის რეჟიმი, თანაგუნდელის მოკვლის წესებიმფლობელი
Admins.cfgუფლებების ჯგუფები და თითოეულში შემავალი SteamID-ებიმფლობელი, მთავარი ადმინი
Bans.cfgლოკალური ბანები, რომლებსაც ბანის ბრძანებები ამატებსსერვერი, ადმინები
RemoteAdminListHosts.cfgადმინების სიების URL-ები, რომლებიც გაშვებისას იტვირთებამფლობელი
RemoteBanListHosts.cfgბანების სიების URL-ები, რომლებიც გაშვებისას იტვირთებამფლობელი
LayerRotation.cfglayer-ების მოწესრიგებული სია LayerList რეჟიმისთვისმფლობელი, რუკების გუნდი
LevelRotation.cfgრუკების სია LevelList რეჟიმისთვისმფლობელი
ExcludedLayers.cfg, ExcludedLevels.cfg, ExcludedFactions.cfgის, რაც არასოდეს უნდა აირჩესმფლობელი
VoteConfig.cfgრაუნდის ბოლოს კენჭისყრის წესებიმფლობელი
ServerMessages.cfgტაიმერით გამოცხადებული ხაზებინებისმიერი სანდო ადამიანი
Motd.cfgდღის შეტყობინებანებისმიერი სანდო ადამიანი
Rcon.cfgRCON-ის პაროლი და პორტიმხოლოდ მფლობელი
License.cfgლიცენზიის ID და გასაღები, თუ ლიცენზირებულიამხოლოდ მფლობელი

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

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

Server.cfg: პარამეტრები, რომლებიც საზოგადოებას აყალიბებს#

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

SquadGame/ServerConfig/Server.cfg
ServerName="Longshot Tactical | EU | Comms Required"ShouldAdvertise=trueMaxPlayers=80NumReservedSlots=6PublicQueueLimit=25MapRotationMode=LayerListRandomizeAtStart=falseUseVoteLevel=falseUseVoteLayer=falseUseVoteFactions=falseAllowTeamChanges=truePreventTeamChangeIfUnbalanced=trueNumPlayersDiffForTeamChanges=3RejoinSquadDelayAfterKick=180TKAutoKickEnabled=trueAutoTKBanNumberTKs=7AutoTKBanTime=300AllowCommunityAdminAccess=true

სლოტები და რიგი. MaxPlayers საერთო რაოდენობაა, NumReservedSlots კი მისგან გამოიყოფა და არა მას ემატება. 80-სლოტიანი სერვერი ექვსი დაჯავშნილი სლოტით საზოგადოებიდან 74 ადამიანს უშვებს; როცა ივსება, შემდეგი საჯარო მოთამაშე ელოდება რიგში, რომლის ზომაც PublicQueueLimit-მდეა, ხოლო ნებისმიერი, ვისაც reserve უფლება აქვს, ექვსი შენახული ადგილიდან ერთ-ერთს იკავებს. თუ პიკის დროს უფრო მეტი მუდმივი მოთამაშე გყავს ონლაინ, ვიდრე დაჯავშნილი სლოტია, წევრები საჯარო რიგში ისხდებიან, ამიტომ NumReservedSlots შენი რეალური პიკის მიხედვით აარჩიე და არა წევრების სიის მიხედვით. გაშვების პარამეტრი FIXEDMAXPLAYERS ამ ყველაფერზე მაღლა მდგომი მკაცრი ზღვარია: თუ ის MaxPlayers-ზე ნაკლებია, ის იმარჯვებს.

გუნდის წესები. PreventTeamChangeIfUnbalanced და NumPlayersDiffForTeamChanges=3 ერთად გუნდების გადატვირთვას აჩერებს ისე, რომ გადასვლა არ იკრძალება. RejoinSquadDelayAfterKick განსაზღვრავს, რამდენ ხანს მოქმედებს squad leader-ის გაგდება; 180 წამი საკმარისია კამათის დასასრულებლად ისე, რომ გაგდებული მოთამაშე რაუნდის ბოლომდე არ დაისაჯოს.

თანაგუნდელის მოკვლა. TKAutoKickEnabled ავტომატურ დამუშავებას რთავს, AutoTKBanNumberTKs არის თანაგუნდელების მოკვლის რაოდენობა რაუნდში, რის შემდეგაც ის მოქმედებს, AutoTKBanTime კი ბანის ხანგრძლივობაა წუთებში. შვიდი შემწყნარებელია ჯავშანტექნიკით დატვირთულ როტაციაზე, სადაც მანქანებიდან საკუთარ თავზე სროლა ხშირია; ქვეითთა სერვერზე შეამცირე.

საზოგადოების ადმინების წვდომა. AllowCommunityAdminAccess Offworld-ის საკუთარ community ადმინებს შენს სერვერზე მოქმედების საშუალებას აძლევს. ეს ერთ-ერთი პარამეტრია, რომელიც ლიცენზირებული სერვერებისთვის სავალდებულოდაა მონიშნული. არალიცენზირებულ სერვერზე არჩევანი შენზეა, და ჩართულად დატოვება არაფერი ჯდება.

Admins.cfg: ჯერ ჯგუფები, მერე ადამიანები#

Admins.cfg-ში ორი სახის ხაზია. Group= ხაზი როლს ასახელებს და მის მძიმით გამოყოფილ უფლებებს ჩამოთვლის. Admin= ხაზი ერთ SteamID64-ს ერთ ჯგუფში სვამს. ბოლოში // კომენტარი არასავალდებულოა, მაგრამ ღირს მისი გამოყენება, რადგან ექვს თვეში ვეღარავინ გაიხსენებს, ვისი ID-ია 76561198087654321.

SquadGame/ServerConfig/Admins.cfg
Group=Owner:changemap,pause,cheat,private,balance,chat,kick,ban,config,cameraman,immune,manageserver,reserve,demos,teamchange,forceteamchange,canseeadminchatGroup=SeniorAdmin:changemap,balance,chat,kick,ban,cameraman,immune,reserve,teamchange,forceteamchange,canseeadminchatGroup=Admin:chat,kick,ban,cameraman,reserve,teamchange,forceteamchange,canseeadminchatGroup=Moderator:chat,kick,reserve,canseeadminchatGroup=Member:reserveAdmin=76561198012345678:Owner // Mira, server ownerAdmin=76561198087654321:SeniorAdmin // DaxAdmin=76561198011112222:Admin // TheoAdmin=76561198033334444:Moderator // Kel, trialAdmin=76561198055556666:Member // patron

უფლებების სახელები და ის, რასაც თითოეული რეალურად იძლევა. ფაილის თავში კომენტარებად ისინი ჩამოთვლილია, და შენი ვერსიისთვის სწორედ ეს სიაა ავტორიტეტული - Offworld დროშებს ამატებს და აუქმებს.

უფლებარის საშუალებას იძლევა
changemapმიმდინარე ან შემდეგი layer-ის შეცვლა, მატჩის დასრულება
pauseთამაშის პაუზა
cheatსერვერის cheat ბრძანებები. ცოცხალ სერვერზე ეს არავის სჭირდება
privateსერვერის პაროლით დაცვა
balanceგუნდის ბალანსის შეზღუდვების იგნორირება გადასვლისას
chatადმინების ჩატი და მთელ სერვერზე გამოცხადებები
kickმოთამაშეების გაგდება
banმოთამაშეების დაბანვა
configსერვერის კონფიგურაციის შეცვლა თამაშის შიგნიდან
cameramanადმინის მაყურებლის კამერა
immuneვერ გააგდებენ და ვერ დაბანავენ, კენჭისყრითაც კი
manageserverსერვერის გათიშვა და სერვერის მდგომარეობის სხვა ბრძანებები
reserveდაჯავშნილი სლოტის გამოყენება
demos, clientdemosდემოს ჩაწერა სერვერის ან კლიენტის მხარეს
debugdebug და ადმინის სტატისტიკის გამოტანა
teamchangeგუნდის შეცვლა ტაიმერის გარეშე
forceteamchangeსხვა მოთამაშეების გადაყვანა გუნდებს შორის
canseeadminchatადმინების ჩატის, თანაგუნდელის მოკვლისა და ადმინის შემოსვლის შეტყობინებების ნახვა
featuretestდეველოპერის სატესტო ფუნქციები. არ ჩართო

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

  • `cheat`, `config` და `manageserver` მხოლოდ მფლობელის ჯგუფს ეკუთვნის. საცდელი მოდერატორი, რომელსაც თამაშის შიგნიდან სერვერის გათიშვა ან კონფიგურაციის შეცვლა შეუძლია, არის მოდერატორი, რომელსაც სერვერის დაგდება შემთხვევით შეუძლია, ან განზრახ - იმ დღეს, როცა წავა.
  • `immune` ნდობის განცხადებაა. ეს იმასაც ნიშნავს, რომ პერსონალიდან ვერავინ შეძლებს ამ ადამიანის სწრაფად მოშორებას. რაც შეიძლება ნაკლებ ადამიანს მიეცი.
  • `private` სერვერს ცვლის. ლიცენზირებულ სერვერზე პაროლი ლიცენზიის პირობებს არღვევს. ლიცენზირებულ სერვერზე ის ყველა ჯგუფიდან ამოიღე.
  • `canseeadminchat` ყველაზე იაფი სასარგებლო უფლებაა. ბანის უფლების არმქონე მოდერატორებმაც კი უნდა დაინახონ თანაგუნდელის მოკვლის შეტყობინებები და ადმინების ჩატი, რადგან ცოცხალ რაუნდზე პერსონალი სწორედ ასე კოორდინირდება.

ზემოთ მოცემული სტრუქტურა - მფლობელი, უფროსი ადმინი, ადმინი, მოდერატორი, წევრი - ემთხვევა იმას, თუ როგორ მართავს პერსონალს Squad-ის საზოგადოებების უმეტესობა, და მის უკან იგივე პრინციპი დგას, რაც პანელის მხარეს subuser-ებსა და მინიმალურ პრივილეგიებს: მიეცი ადამიანებს უფლებების ყველაზე მცირე ნაკრები, რომლითაც საქმეს გააკეთებენ, და გააფართოვე, როცა ამას დაიმსახურებენ.

სწორი SteamID-ის მოპოვება

ყოველ Admin= ხაზს SteamID64 სჭირდება - 17-ნიშნა რიცხვი, რომელიც 7656119-ით იწყება. არა პროფილის მორგებული URL და არა მოკლე Steam3 ფორმატი. საიმედო წყარო თავად სერვერია: სთხოვე ადამიანს, ერთხელ შემოვიდეს, შემდეგ RCON-ით გაუშვი ListPlayers ან ლოგში შემოსვლის ხაზი წაიკითხე. არასწორი ID ჩუმად ფუჭდება - ადამიანს უბრალოდ არანაირი უფლება არ აქვს - ამიტომ თუ ახალი ადმინი გეუბნება, რომ არაფერი მუშაობს, სხვა ყველაფრამდე ციფრები შეამოწმე.

დაჯავშნილი სლოტები და წევრების whitelist#

როცა საზოგადოება ამბობს, რომ Squad-ზე whitelist უნდა, თითქმის ყოველთვის ორიდან ერთ განსხვავებულ რამეს გულისხმობს, და სერვერი მათ სხვადასხვაგვარად ამუშავებს.

  1. პრიორიტეტი წევრებისთვის. როცა სერვერი სავსეა, წევრები საჯარო რიგს გვერდს უვლიან. ეს არის reserve Member ჯგუფში პლუს NumReservedSlots Server.cfg-ში, ზუსტად ისე, როგორც ზემოთაა ნაჩვენები. არანაირი plugin, არანაირი გარე ხელსაწყო.
  2. მხოლოდ წევრები. ვინც სიაში ID-ით არ არის, საერთოდ ვერ შემოდის. Squad-ს ამისთვის ნებადართულების სიის ჩაშენებული გადამრთველი არ აქვს. პაროლი ამას უხეშად აკეთებს (და ლიცენზიასთან შეუთავსებელია); SquadJS-ის მსგავს ხელსაწყოს შეუძლია RCON-ით არაწევრები შემოსვლისას გააგდოს. ლიცენზირებულ სერვერზე ეს საერთოდ დაუშვებელია, რადგან სერვერი საჯარო უნდა დარჩეს.

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

ბანები, გასაჩივრება და ბანების ფაილი#

თამაშში ან RCON-ით AdminBan ან AdminBanById ბრძანებით გაცემული ბანები Bans.cfg-ს ემატება. თითოეული ხაზი შეიცავს დაბანილ SteamID64-ს და ვადის ამოწურვის დროს, სადაც 0 სამუდამოს ნიშნავს, შემდეგ კი // კომენტარს, რომელსაც ბრძანება მიზეზით ავსებს, ახალ ვერსიებზე კი იმითაც, ვინ გასცა. სანამ ხაზს ხელით დაწერ, სერვერის დაწერილ ხაზს შეხედე, რადგან ზუსტი ფორმატი ვერსიებს შორის იცვლებოდა, არასწორი ხაზი კი გამოტოვებულია.

ბრძანებებში ბანის ხანგრძლივობა რიცხვს და ერთეულს იღებს; 0 სამუდამოა. უპირატესობა ById ფორმებს მიანიჭე, ListPlayers-იდან აღებული რიცხვითი id-ით:

code
ListPlayersAdminBanById 17 7d Repeated teamkilling after warningsAdminKickById 23 AFK in squad leadAdminWarnById 31 Stop mic-spamming in command chat

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

  • მიზეზი კონკრეტულია. "ტოქსიკური" ისეთი მიზეზი არ არის, რომლის განხილვაც ვინმეს სამ კვირაში შეეძლება. "თანაგუნდელების განმეორებითი მოკვლა ბაზაზე, სამი გაფრთხილება" - არის.
  • არსებობს გასაჩივრების გზა. Discord-ის არხი ან ფორმა, სადაც ბანის მიზეზი იმისთვის ჩანს, ვინც განიხილავს. ბანების უმეტესობა დროებითი უნდა იყოს, სამუდამოს კი მეორე ადმინის თანხმობა უნდა სჭირდებოდეს.
  • არსებობს მტკიცებულება. Squad-ს დემოების ჩაწერა შეუძლია (RecordDemos და demos უფლება), SquadJS-ს ან ლოგის პარსერს კი შეუძლია მკვლელობების, თანაგუნდელების მოკვლისა და ადმინების ქმედებების ჩანაწერის შენახვა. ამ პროცესის დანარჩენი ნაწილის აწყობა განხილულია სტატიაში სერვერის წესები, მოდერაცია და პერსონალი.

ბანის მოსახსნელად წაშალე მისი ხაზი Bans.cfg-დან გაჩერებულ სერვერზე, ან RCON-ით გამოიყენე unban ბრძანება, რომელსაც შენი ვერსია იძლევა. შემდეგ გადატვირთე და დარწმუნდი, რომ ხაზი გაქრა, რადგან სერვერი გათიშვისას ფაილს თავიდან წერს.

ადმინებისა და ბანების დისტანციური სიები რამდენიმესერვერიანი საზოგადოებისთვის#

როგორც კი საზოგადოება ორ სერვერს უშვებს, Admins.cfg-ის ორი ასლი ერთ თვეში ერთმანეთს შორდება. Squad-ის პასუხი დისტანციური სიების ფაილებია: RemoteAdminListHosts.cfg-ში ყოველი ხაზი არის URL, რომელიც Admins.cfg ფორმატის უბრალო ტექსტურ ფაილს აბრუნებს, RemoteBanListHosts.cfg-ში ყოველი ხაზი კი URL, რომელიც ბანების სიას აბრუნებს. სერვერი მათ გაშვებისას ჩამოტვირთავს და ლოკალურ ფაილებს უერთებს.

SquadGame/ServerConfig/RemoteAdminListHosts.cfg
https://lists.example-community.org/squad/admins.cfghttps://lists.example-community.org/squad/members.cfg
აქვეყნებსHTTPS fetchHTTPS fetchპერსონალის ხელსაწყოცვლის სიასსტატიკური ჰოსტიadmins.cfg, ბანებიSquad სერვერი 1იღებს გაშვებისასSquad სერვერი 2იღებს გაშვებისას
პერსონალის ერთი სია, ბევრი Squad სერვერი

რა უნდა იცოდე, სანამ მას დაეყრდნობი:

  • ის გაშვებისას იტვირთება. დისტანციურ სიაში ადმინის დამატება არაფერს ცვლის, სანამ თითოეული სერვერი არ გადაიტვირთება, ამიტომ დააწყვილე ის დაგეგმილ ყოველდღიურ გადატვირთვასთან.
  • URL უსაფრთხოების საზღვარია. ნებისმიერს, ვისაც ამ მისამართზე ფაილის შეცვლა შეუძლია, შეუძლია თავი შენს ყველა სერვერზე მფლობელად აქციოს. განათავსე ის იქ, სადაც მხოლოდ მფლობელს შეუძლია ჩაწერა, HTTPS-ით, და paste-საიტს ნუ გამოიყენებ.
  • დაყავი სიები დანიშნულების მიხედვით. ერთი ფაილი პერსონალისთვის, ერთი - წევრებისთვის. პერსონალის ფაილი იშვიათად იცვლება და ფრთხილად მოწმდება; წევრების ფაილი ყოველკვირა იცვლება და შეიძლება სკრიპტმა დააგენერიროს შენი Discord-ის როლებიდან ან პატრონების სიიდან.
  • თუ ჰოსტი მიუწვდომელია, სერვერები მის გარეშე ეშვება. მფლობელის ჯგუფი ყველა სერვერზე ლოკალურ Admins.cfg-ში შეინახე, რომ სიის გათიშულმა ჰოსტმა საკუთარი სერვერიდან არასოდეს ჩაგკეტოს.

სიის ჰოსტს პატარა სტატიკური საიტზე მეტი არ სჭირდება. იგივე ფაილები შეიძლება ბოტმა ან მონაცემთა ბაზამ დააგენერიროს და განრიგით ჩაწეროს - Discord webhook-ები სერვერის სტატუსისთვის აჩვენებს, ზოგადად როგორ დააკავშირო სათამაშო სერვერი იმ ხელსაწყოებთან, რომლებსაც შენი საზოგადოება უკვე იყენებს.

როტაცია, კენჭისყრა და შეტყობინებები, რომლებსაც მოთამაშეები ხედავენ#

MapRotationMode ირჩევს, რომელი როტაციის ფაილი გამოიყენება:

მნიშვნელობაკითხულობსქცევა
LayerListLayerRotation.cfgზუსტად შენ მიერ ჩამოთვლილი layer-ები, თანმიმდევრობით
LayerList_RandomizedLayerRotation.cfgშენი layer-ები, არეული
LevelListLevelRotation.cfgშენ ასახელებ რუკებს, თამაში ირჩევს layer-ს
LevelList_RandomizedLevelRotation.cfgარეული რუკები, თამაშის არჩეული layer-ები

საზოგადოების სერვერისთვის LayerList და RandomizeAtStart=false ის რეჟიმია, რომელიც კონტროლს გაძლევს. შეგიძლია მძიმე ჯავშანტექნიკის layer-ები ქვეითთა layer-ებს მონაცვლეობით დაუსვა, რაც უკეთ თამაშდება და tick rate-ს მთელი საღამოს განმავლობაში უფრო სტაბილურს ინარჩუნებს, ხოლო რუკა, რომელიც შენს მუდმივ მოთამაშეებს უყვართ, პიკის დროს შეგიძლია დასვა. ახალი ვერსიები layer-ის სახელის შემდეგ ორ ფრაქციის ტეგსაც იღებს, რომ ამ ჩანაწერისთვის დაპირისპირება დააფიქსირონ; გამოყენებამდე ზუსტი ფორმისთვის თამაშთან მოყოლილი LayerRotation.cfg-ის კომენტარები შეამოწმე, დასახელების წესებისა და ჩუმად გამოტოვების ხაფანგისთვის კი იხილე Squad-ის მოდები და layer-ები.

კენჭისყრას Server.cfg-ში UseVote* გადამრთველები და VoteConfig.cfg-ის წესები მართავს, რომელმაც ფრაქციების კონფიგურაციის გამორიცხვის ძველი ფაილი ჩაანაცვლა. კენჭისყრა პოპულარულია და ერთი პროგნოზირებადი ეფექტი აქვს: როტაცია ნელ-ნელა იმ სამ layer-მდე იკუმშება, რომლებიც ყოველ კენჭისყრას იგებს. თუ ჩართავ, ExcludedLayers.cfg გამოიყენე, რომ ის layer-ები, რომლებიც არასოდეს გინდა შემოთავაზებული იყოს, კენჭისყრიდან საერთოდ გამორიცხო.

ServerMessages.cfg თითო ხაზზე თითო შეტყობინებას შეიცავს, რომლებიც თანმიმდევრობით ცხადდება ყოველ ServerMessageInterval წამში. შეზღუდე სამი-ოთხი ხაზით: წესების ბმული, Discord-ის მოსაწვევი, ის ერთი წესი, რომელსაც ხალხი ყველაზე ხშირად არღვევს. Motd.cfg შემოსვლისას ჩანს და შეიძლება უფრო გრძელი იყოს. ორივე გაშვებისას იკითხება.

RCON, ადმინის ხელსაწყოები და ცვლილებების კონტროლი#

Rcon.cfg RCON-ის პაროლს და პორტს შეიცავს. RCON TCP-ზე მუშაობს და კონსოლის სრული ძალაუფლება აქვს პაროლის უკან, რომელიც ქსელში ღიად გადადის, ამიტომ გამოიყენე გრძელი შემთხვევითი პაროლი, რომელიც სხვაგან არსად გამოგიყენებია, და შეძლებისდაგვარად პორტი წყარო მისამართით შეზღუდე. უფრო ვრცელი ვერსია არის RCON უსაფრთხოდ.

Squad-ის ჩამოყალიბებული საზოგადოებების უმეტესობა SquadJS-ს იყენებს - ღია კოდის ფრეიმვორკს, რომელიც RCON-ით უერთდება და სერვერის ლოგს მიჰყვება, რათა Discord-ში ლოგირება, გუნდების ავტომატური დაბალანსება, seeding-ის წესები, ადმინის კამერის ლოგები და მსგავსი plugin-ები უზრუნველყოს. მისი ქონა სხვა ყველაფერზე მეტად ერთი მიზეზით ღირს: ის გაძლევს მდგრად ჩანაწერს იმისა, რა გააკეთეს ადმინებმა, და სწორედ ეს ხდის ბანების გასაჩივრებას სამართლიანს. მიეცი მას საკუთარი RCON პაროლი, თუ შენი ვერსია ერთზე მეტს უჭერს მხარს, და მისი კონფიგურაციის ფაილი საიდუმლოდ ჩათვალე.

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

  1. ServerConfig საქაღალდე პირად Git რეპოზიტორიაში შეინახე, ან სულ მცირე თარიღიან ასლებად.
  2. ერთ ჯერზე ერთი ცვლილება გააკეთე, გადატვირთე და ლოგში დარწმუნდი, რომ თითოეული ფაილი ჩაიტვირთა.
  3. პერსონალის არხში ჩაინიშნე, რა შეიცვალა და რატომ.
  4. ყოველი Squad-ის განახლებისა და როტაციის ყოველი გადაკეთების წინ საქაღალდის backup გააკეთე. Backup-ები, რომლებიც ნამდვილად აღდგება ხსნის, რატომ არის აღდგენის ტესტი ასლზე მნიშვნელოვანი.

პანელზე Schedules ჩანართში ცხოვრობს ყოველდღიური გადატვირთვა, რაც ასევე იმას უზრუნველყოფს, რომ დისტანციური სიები და ახალი ადმინები ისე ამოქმედდეს, რომ ვინმეს შესვლა არ დასჭირდეს. მხოლოდ ფაილებზე წვდომის მქონე subuser-ები სწორი გზაა, რომ რუკების გუნდმა LayerRotation.cfg შეცვალოს ისე, რომ Rcon.cfg არ გადასცე.

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

ახალ ადმინს უფლებები არ აქვს. SteamID64 არასწორია, Admin= ხაზზე ჯგუფის სახელი ზუსტად არ ემთხვევა Group= ხაზს, ან ცვლილების შემდეგ სერვერი არ გადატვირთულა. ჯგუფების სახელები რეგისტრზეა დამოკიდებული.

დაჯავშნილი სლოტები არ მუშაობს. მოთამაშის ჯგუფს reserve აკლია, ან NumReservedSlots არის 0. ასევე შეამოწმე, მართლა სავსეა თუ არა სერვერი - ჯავშანს მნიშვნელობა მხოლოდ სრული დატვირთვისას აქვს.

ბანები გადატვირთვის შემდეგ ქრება. ფაილი გაშვებულ სერვერზე შეიცვალა და გათიშვისას გადაიწერა, ან ხელით დაწერილი ხაზი არ ემთხვევა იმ ფორმატს, რომელსაც სერვერი ელის.

დისტანციური ადმინები არასოდეს იტვირთება. URL გადამისამართებს, უბრალო ტექსტის ნაცვლად HTML-ს აბრუნებს, ან ავთენტიფიკაციას ითხოვს. ჩამოტვირთე ის curl-ით shell-იდან და წაიკითხე, ზუსტად რა ბრუნდება.

როტაცია ორ რუკას იმეორებს. LayerRotation.cfg-ში layer-ების სახელები განახლების შემდეგ აღარ არსებობს და გამოტოვებულია. შეადარე მიმდინარე layer-ების სიას.

სერვერის შეტყობინებები არასოდეს ჩანს. ServerMessageInterval არის 0, ან ფაილი ცარიელია, ან ისეთი კოდირებით არის შენახული, რომელსაც სერვერი ვერ კითხულობს. შეინახე უბრალო UTF-8-ად.

FAQ#

როგორ დავამატო ადმინი ჩემს Squad სერვერზე?

დაამატე ხაზი Admin=<SteamID64>:<GroupName> ფაილში SquadGame/ServerConfig/Admins.cfg, სადაც ჯგუფი იმავე ფაილში Group= ხაზით არის განსაზღვრული, შემდეგ გადატვირთე. SteamID64 აიღე ListPlayers-იდან ან სერვერის ლოგიდან და არა პროფილის URL-იდან.

რა განსხვავებაა მოდერატორისა და ადმინის ჯგუფს შორის?

ჩაშენებული არაფერი - სერვერმა მხოლოდ უფლებები იცის. მოდერატორის ჯგუფი არის ის ნაკრები, რომელსაც მას მისცემ; გონივრულს აქვს chat, kick, reserve და canseeadminchat, მაგრამ არა ban, changemap ან immune.

შემიძლია ჩემი Squad სერვერი მხოლოდ წევრებისთვის გავხადო?

ჩაშენებული გადამრთველით - არა. შეგიძლია წევრებს პრიორიტეტი reserve-ით და დაჯავშნილი სლოტებით მისცე, ან პაროლი გამოიყენო, ან RCON-ის ხელსაწყოს არაწევრები შემოსვლისას გააგდებინო. ლიცენზირებული სერვერი საჯარო უნდა დარჩეს, ამიტომ იქ "მხოლოდ წევრები" ვარიანტი არ არის.

Admins.cfg-ის ცვლილებებს გადატვირთვა სჭირდება?

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

როგორ გავაზიარო ბანები ორ Squad სერვერს შორის?

განათავსე ბანების სიის ფაილი HTTPS URL-ზე, სადაც ჩაწერა მხოლოდ შენ შეგიძლია, და ეს URL ორივე სერვერზე RemoteBanListHosts.cfg-ში ჩაწერე. თითოეული სერვერი მას გაშვებისას ჩამოტვირთავს და თავის ლოკალურ Bans.cfg-ს უერთებს.

რატომ შეუძლია ჩემს მოდერატორს რაუნდის დასრულება?

მის ჯგუფში changemap ან manageserver შედის. ამოიღე ორივე უფროს ადმინზე დაბალი ყველა ჯგუფიდან, გადატვირთე და მოდერატორის ანგარიშით შეამოწმე.


კომენტარები

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

0/2000