RE:NODE

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

Arma 3 dedicated server: დაყენება, server.cfg და მოდები

როგორ დააყენო Arma 3 სერვერი, რას აკეთებს server.cfg-ის ყოველი გასაღები, როგორ მუშაობს მოდები და signature გასაღებები და როგორ დაგიბრუნებს headless client სერვერის FPS-ს.

განახლებულია

1 მკითხველი

Arma 3 ერთნაკადიანი სიმულაციაა, რომელსაც სასიმულაციო ნივთების ძალიან გრძელი სია აქვს, ამიტომ რიცხვი, რომელიც განსაზღვრავს, როგორ იგრძნობა ის, სიხშირეა და არა ბირთვების რაოდენობა. თექვსმეტბირთვიანი მანქანა ზომიერი სიხშირით ყოველთვის წააგებს ოთხ სწრაფ ბირთვთან, და მეხსიერების რაოდენობა ამას ვერ შეცვლის. დანარჩენი სამუშაო სამი ფაილია - server.cfg, basic.cfg და პროფილი - მოდების სია, რომელსაც ყველა კლიენტი ზუსტად უნდა დაემთხვეს, და ხუთი UDP პორტი. ეს გზამკვლევი ყველაფერს ფარავს: სერვერის დაყენებას, ყველა პარამეტრს, რომლის შეცვლაც ღირს, როგორ წყვეტს signature შემოწმება, ვის შეუძლია შემოსვლა, და headless client-ს, რომელიც ყველაზე დიდი ხელმისაწვდომი გაუმჯობესებაა და რომელსაც უმეტესი გზამკვლევი ხელს უქნევს.

რა არის Arma 3 სერვერი და რა განსაზღვრავს, როგორ იგრძნობა ის#

dedicated server უფასო, ცალკე აპლიკაციაა: Arma 3 Dedicated Server, Steam app id 233780, რომლის ჩამოტვირთვაც შესაძლებელია SteamCMD-ის ანონიმური login-ით. ის გრაფიკისა და ხმის გარეშე მუშაობს, ტვირთავს მისიას და ახდენს ყველაფრის სიმულაციას მასში - რელიეფის ობიექტების, ფიზიკის, ბალისტიკის და უპირველესად AI-ის.

სერვერის წარმადობა იზომება server FPS-ში, რომელსაც ადმინად შესულს #monitor 1-ით კითხულობ ჩატში. 30-ზე მაღლა ჯანმრთელია, 20 ის წერტილია, სადაც AI ცუდ გადაწყვეტილებებს იღებს, ხოლო 15-ის ქვემოთ სროლა ხდება ერთეულების სლაიდშოუ, რომლებიც თავშესაფარში ტელეპორტირდებიან. რა განსაზღვრავს ამ რიცხვს, თანმიმდევრობით:

  1. AI-ის რაოდენობა. ყოველი AI ერთეული ყოველ კადრზე ჯდება გზის პოვნას, დამიზნებას და ცოდნის განახლებას. ორასი AI დიდ რელიეფზე სერვერის FPS-ს განახევრებს ერთი მოთამაშის შეერთებამდეც.
  2. სკრიპტინგი. მისია, რომელიც მძიმე ციკლებს ეშვება unscheduled კოდის ბლოკებში, იმავე ნაკადს ბლოკავს, რომელსაც სიმულაცია იყენებს. მისია და არა ჰოსტია ჩვეულებრივ მიზეზი იმისა, რომ სერვერი მესამე საათზე უარესდება.
  3. ობიექტები და ფიზიკა. განადგურებული ტრანსპორტი, დაგდებული იარაღის მფლობელები და ragdoll-ები გროვდება. მისია, რომელიც არასოდეს იწმინდება, მისიაა, რომელიც ნელდება.
  4. მოთამაშეები. გასაკვირად სიის ბოლოსკენ. მოთამაშეები AI-სთან შედარებით იაფია.

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

მოთხოვნები და რესურსების მოხმარება#

კონფიგურაციაRAMCPUდისკი
Vanilla, 20-30 მოთამაშე, მსუბუქი AI3-4 GB2 სწრაფი ბირთვი40 GB
CBA plus ACE, ერთი მისია, 40 მოთამაშე6 GB2-3 სწრაფი ბირთვი55 GB
სრული პაკეტი: CBA, ACE, RHS, CUP Terrains8-12 GB3+ სწრაფი ბირთვი80-100 GB
Headless client სერვერის გვერდითდაამატე 2-4 GBდაამატე 1-2 ბირთვიარაფერი
  • დისკი გასაკვირია. საბაზისო სერვერი დაახლოებით 20 GB-ია. CUP Terrains სრული და RHS ერთად თამაშზე დიდია. ჯგუფს, რომელიც კამპანიის შუაში ორ რუკის პაკეტს დაამატებს, შეუძლია გეგმის დისკი ერთ შუადღეში გამოუშვას, და Arma არ ჩერდება ლამაზად, როცა ჩაწერა არ შეუძლია.
  • CPU წილი ბირთვების რაოდენობაზე მნიშვნელოვანია. თუ შენი ჰოსტი ბირთვის ნაწილზე გზღუდავს, Arma ზუსტად ისე ცუდად იგრძნობა, როგორც ეს ჟღერს. იხილე CPU vs RAM გეიმ სერვერებისთვის, რომ წაიკითხო, რომელი გაკლია სინამდვილეში.
  • გამტარუნარიანობა დაკავებულ მისიაზე დაახლოებით 100-300 KB/s-ია თითო მოთამაშეზე, მეტი - როცა ბევრი AI ჩანს. ეს ბევრი არაა, მაგრამ Arma jitter-ის მიმართ იმ ხერხით მგრძნობიარეა, როგორც უმეტესი თამაში არაა - latency, jitter და packet loss ხსნის, როგორ განასხვავო სამივე.

სერვერის დაყენება SteamCMD-ით#

თავად სერვერს ანგარიში არ სჭირდება:

bash
$ steamcmd +force_install_dir /home/arma/server +login anonymous \    +app_update 233780 validate +quit

Workshop მოდები სხვა საქმეა. ისინი თამაშს ეკუთვნის, app id 107410, და მათ ჩამოსატვირთად Steam ანგარიში გჭირდება, რომელსაც Arma 3 აქვს:

bash
$ steamcmd +force_install_dir /home/arma/server +login your_account \    +workshop_download_item 107410 <item-id> +quit

ჩამოტვირთული ელემენტები ხვდება steamapps/workshop/content/107410/<item-id>/-ში. დააკოპირე ან symlink-ით მიაბი თითოეული სერვერის root-ში @ModName სახელის საქაღალდეზე. RE:NODE-ზე Arma 3-ის ინსტალაცია სწორედ ამიტომ ითხოვს Steam login-ს Setup ჩანართზე და მონაცემები ისე ინახება, როგორც აკრეფ - გამოიყენე სათადარიგო ანგარიში, რომელსაც თამაში აქვს და არა შენი მთავარი.

მუშა Linux გაშვების ხაზი ასე გამოიყურება:

bash
$ ./arma3server_x64 -port=2302 -config=server.cfg -cfg=basic.cfg \    -profiles=./profiles -name=server -world=empty -autoInit \    -bandwidthAlg=2 \    -mod="@CBA_A3;@ace;@RHSAFRF" -serverMod="@ServerTools"
არგუმენტირას აკეთებს
-port=2302თამაშის პორტი. Query პორტი ყოველთვის ეს პლუს ერთია
-config=ქვემოთ აღწერილი server.cfg
-cfg=basic.cfg ქსელის ფაილი
-profiles=სად იწერება სირთულის პროფილი და ჟურნალები
-name=ამ დირექტორიის შიგნით რომელი პროფილი გამოიყენოს
-world=emptyგაშვებისას რელიეფის ჩატვირთვა გამოტოვე. უფრო სწრაფი და მსუბუქი
-autoInitპირველი მისია დაიწყე მოთამაშის ლოდინის გარეშე
-mod=მოდები, რომლებიც ყველა კლიენტმაც უნდა ჩატვირთოს
-serverMod=მოდები, რომლებსაც მხოლოდ სერვერი ტვირთავს
-bandwidthAlg=2ახალი გამტარუნარიანობის შემფასებელი. ღირს ჩართვა
-filePatchingდაუშვი გაუფუთავი ფაილების ჩატვირთვა. გამორთულია, თუ არ გჭირდება

ყოველთვის გამოიყენე arma3server_x64, არასოდეს 32-ბიტიანი arma3server. 32-ბიტიანი ბინარი ჯერ კიდევ არსებობს, ჯერ კიდევ ეშვება და მისამართების სივრცეს ამოწურავს იმ წამს, როცა მოდების სიას დაამატებ.

server.cfg: პარამეტრები, რომლებიც მნიშვნელოვანია#

server.cfg უბრალო ტექსტური ფაილია სერვერის root-ში, Arma-ს საკუთარი კონფიგურაციის სინტაქსით - წერტილ-მძიმე ყოველი დებულების შემდეგ, მასივები []-ით გამოცხადებული.

server.cfg
hostname = "Longship Crew - ACE";password = "";passwordAdmin = "change-me";serverCommandPassword = "also-change-me";maxPlayers = 40;motd[] = {"Rules in the Discord.", "TFAR on channel 1."};motdInterval = 20;admins[] = {"76561198012345678"};logFile = "server_console.log";verifySignatures = 2;BattlEye = 1;kickDuplicate = 1;allowedFilePatching = 0;persistent = 1;timeStampFormat = "short";disconnectTimeout = 90;steamProtocolMaxDataSize = 1024;voteMissionPlayers = 3;voteThreshold = 0.33;onUnsignedData = "kick (_this select 0)";onHackedData = "kick (_this select 0)";headlessClients[] = {"127.0.0.1"};localClient[] = {"127.0.0.1"};class Missions{    class Liberation    {        template = "Liberation.Altis";        difficulty = "custom";    };};

ისინი, რომლებიც წყვეტენ, იმუშავებს თუ არა სერვერი საერთოდ:

  • `passwordAdmin` არის ის, რასაც #login იღებს. `serverCommandPassword` ცალკეა და მხოლოდ # ბრძანებებს იძლევა, რასაც ენდობ მოდერატორს აძლევ, რომელსაც სერვერის გამორთვა არ უნდა შეეძლოს. `password` არის შესვლის პაროლი და ჩვეულებრივ ცარიელია.
  • `admins[]` ჩამოთვლის SteamID64-ებს, რომლებიც ადმინს პაროლის აკრეფის გარეშე იღებენ. უფრო უსაფრთხოა, ვიდრე passwordAdmin-ის ექვს ადამიანთან გაზიარება.
  • `verifySignatures = 2` უარყოფს ყველა addon-ს, რომელიც ხელმოწერილი არ არის სერვერის მფლობელი გასაღებით. სწორედ ეს ინარჩუნებს შეცვლილ PBO-ებს შენი სერვერიდან გარეთ, და ის ასევე "ვერ შევდივარ"-ის ნომერ პირველი მიზეზია - განხილულია ქვემოთ.
  • `persistent = 1` მისიას აგრძელებს, როცა ბოლო მოთამაშე გადის. -autoInit-თან ერთად ის მისიას ჩატვირთვისასაც იწყებს. მის გარეშე შენი კამპანია ნულდება ყოველ ჯერზე, როცა სერვერი დაცარიელდება.
  • `steamProtocolMaxDataSize = 1024` ზრდის სერვერის Steam პასუხის ზომას, რომ Arma-ს launcher-მა გრძელი მოდების სიის ჩვენება მართლა შეძლოს. ნაგულისხმევზე დატოვებით ოცდაათი მოდით მოთამაშეები არასრულ სიას და ჩავარდნილ შესვლას იღებენ.
  • `class Missions` არის როტაცია. template არის მისიის საქაღალდის ან .pbo-ს სახელი რელიეფის სუფიქსის ჩათვლით, ზუსტად ისე, როგორც mpmissions-შია. აქ შეცდომა ნიშნავს, რომ სერვერი ლობიში დგას არჩეული არაფრით.

difficulty = "custom" მიუთითებს სირთულის პარამეტრებზე შენს პროფილის ფაილში, რომელიც -profiles დირექტორიის ქვეშ, -name-ის სახელის საქაღალდეში ცხოვრობს. სწორედ ამ ფაილშია მესამე პირის ხედი, სამიზნე ჯვარი, რუკის მარკერი და AI-ის უნარი. შეცვალე ის გაჩერებული სერვერით; სერვერი მას გამოსვლისას ისევ წერს.

პორტები და დაკავშირება#

პორტიპროტოკოლიდანიშნულება
2302UDPთამაშის ტრაფიკი
2303UDPSteam query. ბრაუზერი და launcher ამასთან საუბრობს
2304UDPSteam master, სერვერის მოხსენება
2305UDPპორტის ბლოკის მიერ დარეზერვებული
2306UDPBattlEye

წესი ისაა, რომ Arma იკავებს -port-იდან -port + 4-მდე ყველაფერს, ყველა UDP, და თამაშის პორტის გადაწევა მთელ ბლოკს წევს. ამიტომაა RE:NODE-ის Arma 3 გეგმებთან ხუთი გამოყოფა და არა ერთი - ნაკლებით ან ბრაუზერი, ან BattlEye ჩუმად მარცხდება. თუ მეტი გჭირდება, Network ჩანართი პორტებს ამატებს და აშორებს. გეიმ სერვერის პორტები ახსნილი ეხება იმას, რატომ არსებობს query პორტი ცალკე.

მოთამაშეები შედიან თამაშში ჩაშენებული სერვერის ბრაუზერით, Arma 3 Launcher-ის პირდაპირი დაკავშირებით ან მისამართის Steam-ის ფავორიტებში დამატებით. launcher არის ის, რასაც ხალხს უნდა მიუთითო, რადგან მას სერვერის მოდების სიის ჩატვირთვა ერთი დაწკაპუნებით შეუძლია - იმ პირობით, რომ steamProtocolMaxDataSize დაყენებულია.

მოდები, გასაღებები და signature შემოწმება#

მოდი არის საქაღალდე, რომელიც @-ით იწყება და შეიცავს addons დირექტორიას .pbo ფაილებით და ჩვეულებრივ keys დირექტორიას ერთი .bikey-ით. ორი წესი თითქმის ყველა შესვლის ჩავარდნას ფარავს:

  1. ყოველი `.bikey` `-mod=`-ის ყოველი მოდიდან უნდა დაკოპირდეს სერვერის root `keys/` საქაღალდეში. verifySignatures = 2-ით და გასაღების გარეშე კლიენტი უარყოფილია შეტყობინებით უხელმოწერო addon-ზე, რომელიც ფაილს ასახელებს და არა მოდს.
  2. კლიენტის მოდების სია უნდა ემთხვეოდეს სერვერის `-mod=` სიას, იგივე მოდები, იგივე ვერსიები. -serverMod= მოდები გამონაკლისია - ისინი მხოლოდ სერვერზე იტვირთება და კლიენტებს არც სჭირდებათ, არც ხედავენ. სერვერის მხარის ადმინ ხელსაწყოები, ლოგირება და წარმადობის მოდები იქ ეკუთვნის.

ჩატვირთვის რიგი შენია და მნიშვნელობა აქვს. CBA_A3 იტვირთება ყველაფრამდე, რაც მასზეა დამოკიდებული; ACE - CBA-ს შემდეგ; რუკის მოდები - იმ მოდებამდე, რომლებიც ამ რუკებს ასწორებენ. Arma დამოკიდებულებების უმეტესობას თავად წყვეტს, მაგრამ მოდი, რომელიც სხვას ასწორებს და პირველი იტვირთება, უბრალოდ არ გამოიყენება.

Linux-ზე კიდევ ერთი ხაფანგია, რომელიც საღამოს გვიჯდება: რეგისტრის მგრძნობელობა. Workshop-ის შიგთავსი შერეული რეგისტრის საქაღალდეებისა და ფაილების სახელებით მოდის, და Linux სერვერი ვერ იპოვის Addons/ACE_Main.pbo-ს, როცა კონფიგი addons/ace_main.pbo-ს ითხოვს. ყოველი ჩამოტვირთვის შემდეგ ყველაფერი პატარა ასოებზე გადაიყვანე:

bash
$ find ./@ace -depth -name '*[A-Z]*' -execdir bash -c 'mv "$0" "${0,,}"' {} \;

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

Creator DLC ღირს ხსენებად: სერვერს CDLC რელიეფის გაშვება შეუძლია და მოთამაშეებს, რომლებსაც ის არ აქვთ, მაინც შეუძლიათ შესვლა, ოღონდ მათთვის შეზღუდული მფლობელი შიგთავსით. იმუშავებს თუ არა ეს შენს მისიაზე, დამოკიდებულია იმაზე, რას იყენებს მისია.

basic.cfg და პარამეტრები, რომლებსაც ხალხი გაზომვის გარეშე აკოპირებს#

basic.cfg შეიცავს ქსელის დარეგულირებას. ეს დოკუმენტირებული ნაგულისხმევებია:

basic.cfg
MaxMsgSend = 128;MaxSizeGuaranteed = 512;MaxSizeNonguaranteed = 256;MinBandwidth = 131072;MaxBandwidth = 2147483647;MinErrorToSend = 0.001;MinErrorToSendNear = 0.01;MaxCustomFileSize = 0;class sockets { maxPacketSize = 1400; };

MaxMsgSend არის შეტყობინებების რაოდენობა, რომელსაც სერვერი ერთ სიმულაციის ციკლში აგზავნის და ის არის ერთადერთი, რომელსაც რეალური ეფექტი აქვს: მისი 256-მდე ზრდა დასახლებულ სერვერზე კარგი CPU რეზერვით desync-ს ამცირებს, ხოლო უკვე CPU-მშიერ სერვერზე ზრდა საქმეს აუარესებს, რადგან შეტყობინებები იმავე ნაკადზე უნდა აიგოს, რომელიც უკვე აგვიანებს. MinErrorToSend და MinErrorToSendNear აკონტროლებს, რამდენად უნდა შეიცვალოს ობიექტი განახლების გაგზავნამდე - მათი შემცირება შორეულ მოძრაობას არბილებს გამტარუნარიანობისა და CPU-ს ხარჯზე.

გულწრფელი პოზიცია ამ ფაილზე ისაა, რომ ის Arma-ში ყველაზე გადაკოპირებული და ყველაზე ნაკლებად გაზომილი კონფიგურაციაა. შეცვალე ერთი მნიშვნელობა, ითამაშე სესია გაშვებული #monitor 1-ით და ჩაიწერე რიცხვები. თუ სერვერის FPS-ში ან ნაჩვენებ desync-ში განსხვავებას ვერ ხედავ, დააბრუნე უკან.

Headless client#

AI არის ის, რაც გრძელ მისიაზე კადრის დროს ჭამს, და headless client არის გზა, რომ ეს სამუშაო სერვერის პროცესიდან გადაიტანო. ეს იგივე ბინარის მეორე ასლია, რომელიც სერვერს ეკრანის გარეშე მოთამაშედ უკავშირდება, და მისია მას AI ჯგუფების მფლობელობას გადასცემს. მანქანაზე, სადაც ბირთვები გვაქვს ზედმეტი, ეს განსხვავებაა მესამე საათის სროლასა, რომელიც თამაშდება და რომელიც ხოხავს, შორის.

bash
$ ./arma3server_x64 -client -connect=127.0.0.1 -port=2302 \    -profiles=./hc -name=hc -nosound \    -mod="@CBA_A3;@ace;@RHSAFRF"
UDP 2302joins as a clienthands over groupsPlayersup to 40 clientsHeadless clientsame machineOffloaded AIgroups it ownsArma 3 serverUDP 2302
სად მუშაობს AI headless client-ით

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

  • headlessClients[] = {"127.0.0.1"}; და localClient[] = {"127.0.0.1"}; server.cfg-ში, რომ სერვერმა მას headless სტატუსი და შეუზღუდავი გამტარუნარიანობა მიანიჭოს.
  • იგივე მოდების სია, რაც სერვერს, -mod=-ით ჩატვირთული.
  • მისია, რომელიც მისთვის არის დაწერილი. ეს ის ნაწილია, რომელსაც უმეტესი გზამკვლევი ტოვებს. თუ მისია AI ჯგუფებს headless client-ზე აშკარად არ გადაიტანს, მისი მიერთება არაფერს ცვლის გარდა შენი მოთამაშეების რაოდენობისა. Liberation, Antistasi და უმეტესი დიდი მუდმივი მისია მას უჭერს მხარს; გასულ კვირას დაწერილი მისია - არა, სანამ გადაცემას არ დაამატებ.

ის ასევე ერთ slot-ს და საკუთარ მეხსიერებას ჭამს, ამიტომ პატარა გეგმაზე headless client-მა შეიძლება საქმე გააუარესოს, რადგან მთელ სისტემას მეხსიერების ლიმიტისკენ უბიძგებს. მიეცი მას საკუთარი 2-4 GB, სანამ მას მოგებად ჩათვლი.

Admin ბრძანებები და მისიის კონტროლი#

შედი ჩატიდან #login <passwordAdmin>-ით, შემდეგ:

ბრძანებარას აკეთებს
#login <password>გახდი ადმინი
#logoutადმინობაზე უარი თქვი
#missionsდაბრუნდი მისიის არჩევის ეკრანზე
#mission <name>ჩატვირთე კონკრეტული მისია
#restartგადატვირთე მიმდინარე მისია
#reassignგადატვირთე და ყველა slot-ის არჩევაზე დააბრუნე
#monitor 1ჩატში ყოველ წამს დაბეჭდე სერვერის FPS და CPS
#userlistჩამოთვალე დაკავშირებული მოთამაშეები
#kick <name>გაწყვიტე მოთამაშის კავშირი
#lock / #unlockშეაჩერე და დაუშვი ახალი კავშირები
#shutdownგააჩერე სერვერი
#exec ban <name>დაბანე მოთამაშე

#monitor 1 არის დიაგნოსტიკა, რომელიც მნიშვნელოვანია. ის ბეჭდავს სერვერის FPS-ს და CPS-ს (პირობების შეფასებები წამში); უყურე მას სესიის განმავლობაში და ზუსტად დაინახავ, როდის იწყებს მისია წაგებას. #monitor 0 მას ისევ ითიშავს. ყველაფრისთვის, რისი შენახვაც გინდა, logFile-ით დასახელებული სერვერის ჟურნალი არის ჩანაწერი - ჟურნალები, რომლებიც ღირს შენახვა ხსნის, რომელი ხაზები ღირს შენარჩუნებად და რამდენ ხანს.

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

"You cannot play/edit this mission; it is dependent on downloadable content." კლიენტს აკლია მოდი, რომელიც მისიას სჭირდება, ან აქვს სხვა ვერსიით. შეცდომა addon-ს ასახელებს და არა მოდს, ამიტომ addon-ის სახელი მოძებნე.

დაუყოვნებლივ გაგდება signature შეცდომით. სერვერის keys/ საქაღალდეში .bikey აკლია, ან კლიენტს შეცვლილი PBO აქვს. დაამატე გასაღები; თუ ეს მხოლოდ ერთ მოთამაშეს რჩება, მას გატეხილი ჩამოტვირთვა აქვს და თავისი მოდი უნდა გადაამოწმოს.

Launcher მხოლოდ მოდების სიის ნაწილს აჩვენებს. steamProtocolMaxDataSize ძალიან პატარაა. დააყენე 1024-ზე.

სერვერი ბრაუზერშია, მაგრამ ვერავინ უკავშირდება. შეამოწმე, რომ მთელი UDP ბლოკი -port-იდან -port + 4-მდე ღიაა და არა მხოლოდ თამაშის პორტი.

სერვერის FPS ყოველი მისიის ერთი საათის შემდეგ ინგრევა. თითქმის ყოველთვის მისიაა და არა ჰოსტი: გაუწმენდავი ნანგრევები, გვამები და დაგდებული ნივთები, ან სკრიპტის ციკლი. ჩართე #monitor 1 და უყურე, როდის ეცემა. თუ ეს მისიის რომელიმე მოვლენას ემთხვევა, მიზეზი მისიაა.

მისია ნულდება, როცა ბოლო მოთამაშე გადის. persistent = 1 აკლია.

მოდები Windows-ზე იტვირთება და Linux-ზე - არა. რეგისტრი. დააპატარავე მოდის საქაღალდეები და მათი შიგთავსი.

სერვერი ჩერდება ავარიის ჟურნალის გარეშე. მეხსიერება. RE:NODE-ზე კონტეინერი, რომელიც ლიმიტს აღწევს, ჩერდება და სუფთად გადაიტვირთება swap-ში დატოვების ნაცვლად, რაც თამაშის შიგნიდან ზუსტად ასე გამოიყურება; შეამოწმე მეხსიერების გრაფიკი მთელ სესიაზე, სანამ ძრავის ხარვეზს ეძებ.

FAQ#

რამდენი RAM სჭირდება Arma 3 სერვერს?

სამი-ოთხი გიგაბაიტი vanilla-სთვის ოცდაათი მოთამაშით, ექვსი CBA-სა და ACE-ით, და რვა-თორმეტი სრული RHS და CUP პაკეტისთვის. მოდები იტვირთება, მისია იყენებს მათ თუ არა, ამიტომ მოდების სია ადგენს ქვედა ზღვარს, მისია კი - რამდენით მაღლა წახვალ.

მართლა უფრო მნიშვნელოვანია სწრაფი CPU, ვიდრე მეტი ბირთვი?

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

რატომ შეუძლიათ ზოგ მოთამაშეს შესვლა და ზოგს - არა?

მათი მოდების სია არ ემთხვევა. იგივე მოდები საკმარისი არ არის - ვერსიებიც უნდა ემთხვეოდეს, სწორედ ამიტომ ტეხავს მოდი, რომელიც შენი ჯგუფის ნახევარზე თავისით განახლდა, დანარჩენ ნახევარს. გაავრცელე launcher preset და არა სახელების სია.

სჭირდებათ თუ არა კლიენტებს -serverMod-ით ჩატვირთული მოდები?

არა, და ეს არის არგუმენტის აზრი. სერვერის მხარის ლოგირების, ადმინისა და წარმადობის მოდები -serverMod=-ში მოთავსდება, რომ არასოდეს გამოჩნდნენ სიაში, რომელსაც მოთამაშე უნდა დაემთხვეს.

შემიძლია ორი Arma 3 სერვერის გაშვება ერთ მანქანაზე?

დიახ, თუ თითოეულს საკუთარი ხუთპორტიანი ბლოკი და საკუთარი -profiles დირექტორია აქვს. გამოიყენე -port=2302 და -port=2312 მეზობელი რიცხვების ნაცვლად, რომ ბლოკები ვერ გადაფაროს, და გახსოვდეს, რომ თითოეული სერვერი მოდების სიის საკუთარ ასლს მეხსიერებაში ინახავს.

ღირს თუ არა headless client-ის დაყენება პატარა ჯგუფისთვის?

მხოლოდ თუ შენი მისია მას უჭერს მხარს და უკვე გაკლია სერვერის FPS. თორმეტმოთამაშიან co-op-ზე სამოც AI-ით სერვერი თავს გაართმევს. მუდმივ მისიაზე ასობით AI-ით ეს ყველაზე დიდი ერთეული გაუმჯობესებაა და სხვა არაფერი ახლოსაც ვერ მოდის.


კომენტარები

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

0/2000