RE:NODE

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

Sons of the Forest dedicated server: დაყენება და პარამეტრები

Sons of the Forest-ის dedicated server: დაყენება, dedicatedserver.cfg გასაღები-გასაღების მიხედვით, სამი UDP პორტი, მფლობელები და ადმინები, საკუთარი წესები და შენახვები.

0 მკითხველი

Sons of the Forest-ის dedicated server უფასო SteamCMD ჩამოტვირთვაა (app id 2465200), ეტევა რვა მოთამაშე, კომფორტისთვის უნდა 8 GB მეხსიერება და ორი ბირთვი, და მთლიანად ერთი JSON ფაილით, dedicatedserver.cfg-ით, კონფიგურირდება. დაწყებამდე ორი რამ უნდა იცოდე. სერვერის ხელსაწყო Windows-ის აწყობაა - native Linux ბინარი არ არსებობს, ამიტომ Linux-ზე ის Wine-ით ან Proton-ით მუშაობს, რასაც უმეტესი ჰოსტი შენ მაგივრად უჩუმრად აკეთებს. და რადგან კონფიგურაცია JSON-ია და არა პირველი თამაშის შემწყნარებელი key-value ფორმატი, ერთი ზედმეტი მძიმე საკმარისია, რომ სერვერი ნაგულისხმევი მნიშვნელობებით ჩაირთოს, ხოლო პარსინგის შეცდომა ლოგში მოხვდეს, რომელსაც არავინ კითხულობს. დანარჩენი ყველაფერი დეტალია და უმეტესობა სწორედ ამ ერთ ფაილშია.

რა არის dedicated server და რა შეუძლია#

Sons of the Forest სამი სახის მულტიპლეერს უჭერს მხარს: მასპინძელი თამაშობს თავისი ასლიდან, მხოლოდ მოწვევით სესია და dedicated server. Dedicated server ცალკე უფასო აპლიკაციაა რენდერის გარეშე, რომელიც Steam-ით თამაშის ნაწილად კი არა, ხელსაწყოდ ვრცელდება, და სამიდან ერთადერთია, რომლის სამყაროც მაშინაც არსებობს, როცა არავინ თამაშობს.

რას გაძლევს:

  • მუდმივ სამყაროს. შენახვა ტაიმერით და სუფთა გამორთვისას იწერება. ნაგებობები, მოჭრილი ხეები, მოკლული კანიბალები და სიუჟეტის მდგომარეობა გადატვირთვას გადაურჩება.
  • რვა მოთამაშემდე. ეს თამაშის ზღვარია და არა გეგმის ლიმიტი; მისი გაზრდის მხარდაჭერილი გზა არ არსებობს.
  • თამაშის რეჟიმებს - Normal, Hard, Hard Survival, Peaceful, Creative და Custom, რომლებიც კონფიგში არჩევა.
  • საკუთარ წესებს. Custom რეჟიმში გაქვს დაახლოებით ორი ათეული ცალკეული გადამრთველი მტრის სიცოცხლის, დაზიანების, აგრესიის, სეზონისა და დღის ხანგრძლივობის, გადარჩენის ჯარიმებისა და კონტეინერების ნადავლისთვის.
  • მფლობელის ანგარიშებს, რომლებსაც თამაშში admin პანელი აქვთ kick-ით, ban-ითა და teleport-ით.
  • პაროლს, რომელიც ერთადერთი წვდომის კონტროლია, თუ არ ჩავთვლით მხოლოდ LAN-ზე გაშვებას.

რაც არ აქვს, ისევე მნიშვნელოვანია. არ არსებობს RCON, სერვერის კონსოლი, სადაც ბრძანებებს აკრეფ, ჩატის ბრძანებების ნაკრები, პაროლის გარდა სხვა whitelist და არანაირი მოდის მხარდაჭერა, რომელსაც დეველოპერი აღიარებს. ადმინისტრირება თამაშში ხდება იმ მოთამაშისგან, რომელიც მფლობელადაა მონიშნული. თუ ეს The Forest-ის dedicated server-თან შედარებით მწირად ჟღერს, ასეც არის - ახალი თამაში ძველზე ნაკლები სერვერის ინსტრუმენტებით გამოვიდა და ჯერ არ დაწევია.

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

ეს co-op გადარჩენის თამაშისთვის მძიმე სერვერია და ისეთი რიცხვი, რომელიც ხალხს ამაცებს, მეხსიერებაა. Sons of the Forest სამყაროს დიდ მდგომარეობას მეხსიერებაში ინახავს, და ის იზრდება იმის მიხედვით, რამდენი ტერიტორია აქვს ჯგუფს შესწავლილი და რამდენი აქვთ აშენებული.

ჯგუფიRAMCPUშენიშვნა
2-4 მოთამაშე, თამაშის დასაწყისი8 GB2 ბირთვიქვედა ზღვარი და არა კომფორტული მარაგი
4-6 მოთამაშე, ჩამოყალიბებული ბაზა10 GB2-2.5 ბირთვიყველაზე ხშირი შემთხვევა
8 მოთამაშე, დიდხანს მოქმედი სამყარო12 GB3 ბირთვიაშენებულიც და შესწავლილი ტერიტორიაც ჯდება
Creative რეჟიმი, მძიმე მშენებლობა12 GB+3 ბირთვიგადამწყვეტი ნაგებობების რაოდენობაა

ეს რიცხვები მთელი კონტეინერისთვისაა, ხოლო Linux-ზე მასში შედის Wine-ის ფენა და ვირტუალური ეკრანი, რომელსაც სერვერი აუცილებლად მოითხოვს. Linux-ის საცნობარო დეპლოიმენტები ოთხკაციანი ჯგუფისთვის მინიმუმად 8 GB-ს ითხოვს და მეტს გვირჩევს, სწორედ ამიტომ იწყება ამ თამაშის გეგმები იქიდან, საიდანაც იწყება, და არა იმ 2 ან 3 GB-დან, რასაც co-op გადარჩენის სერვერი ადრე ნიშნავდა.

  • CPU: სიმულაციას ერთი ნაკადი განაპირობებს, როგორც თითქმის ყველა Unity გადარჩენის თამაშში. ბაზასთან ბრძოლა თუ იჭედება, ამას საათური სიხშირე წყვეტს. მეორე და მესამე ბირთვი მაინც ეხმარება - შენახვა, ქსელი და blob sync ერთდროულად მიმდინარეობს.
  • დისკი: ინსტალაცია დაახლოებით 10-15 GB-ია, ხოლო თითოეული შენახვის სლოტი SaveData.zip-ია, ათეულობით მეგაბაიტის, და სამყაროსთან ერთად იზრდება. რამდენიმე სლოტისა და ასლის შენახვისას გონივრული ქვედა ზღვარი 50 GB-ია.
  • ქსელი: ჩვეულებრივ თამაშში მოკრძალებულია. გამონაკლისი მოთამაშის შემოერთებაა, როცა BlobSync პორტით სამყაროს მიმდინარე მდგომარეობა გადმოდის. დაძველებულ სამყაროზე ეს რეალური გადაცემაა და ამიტომ ართმევს პირველ შესვლას დრო.

ზომის საკითხზე პატიოსანი პასუხი: თუ შენს გეგმაში 8 GB-ია, ჩვეულებრივი ჯგუფისთვის საკმარისი გაქვს და არ უნდა ელოდო, რომ Creative რეჟიმში ათასი ნაგებობით ისევ კომფორტულად იქნები. CPU თუ RAM გეიმ სერვერებისთვის გვიჩვენებს, როგორ გაარკვიო, ორიდან რომლის ნაკლებობას განიცდი, სანამ არასწორში გადაიხდი.

დაყენება და პირველი გაშვება#

Dedicated server SteamCMD-ზე ანონიმურია, ამიტომ Steam ანგარიში ან game server token არ გჭირდება:

bash
$ steamcmd +force_install_dir C:\sotf-server +login anonymous \    +app_update 2465200 validate +quit

თუ SteamCMD შენთვის ახალია, SteamCMD ახსნილი გიხსნის app id-ებს, validate-ს და ინსტალაციის განახლებულად შენახვას. შესრულებადი ფაილია SonsOfTheForestDS.exe, გვერდით კი მოყვება StartSOTFDedicated.bat როგორც მზა გამშვები - უნდა იცოდე, რომ ეს batch ფაილი ყოველ განახლებაზე იცვლება, ამიტომ მასში შეტანილი ცვლილებები არ გადარჩება.

გაუშვი ერთხელ. პირველი გაშვება ქმნის მომხმარებლის მონაცემების საქაღალდეს, წერს ნაგულისხმევ dedicatedserver.cfg-ს და ცარიელ ownerswhitelist.txt-ს, გატყობინებს, რომ ეს გააკეთა, და ჩერდება. ეს მოსალოდნელი ქცევაა და არა წარუმატებლობა: სერვერი არ ამუშავდება, სანამ ორივე ფაილი არ არსებობს და მათ ჩასწორებას არ მოასწრებ.

Windows-ზე ეს საქაღალდეა:

code
C:\Users\<user>\AppData\LocalLow\Endnight\SonsOfTheForestDS\

მასში არის dedicatedserver.cfg, ownerswhitelist.txt და Saves დირექტორია. მთლიანად გადატანა შეგიძლია ბრძანების სტრიქონის არგუმენტით, რაც გჭირდება, თუ ერთ მანქანაზე ერთზე მეტ სერვერს უშვებ:

code
SonsOfTheForestDS.exe -userdatapath "C:/sotf-server/userdata"

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

code
SonsOfTheForestDS.exe -dedicatedserver.ServerName "Kelvin's Revenge" -dedicatedserver.MaxPlayers "6"

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

dedicatedserver.cfg, გასაღები-გასაღების მიხედვით#

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

dedicatedserver.cfg
{  "IpAddress": "0.0.0.0",  "GamePort": 8766,  "QueryPort": 27016,  "BlobSyncPort": 9700,  "ServerName": "Sons Of The Forest Server (dedicated)",  "MaxPlayers": 8,  "Password": "",  "LanOnly": false,  "SaveSlot": 1,  "SaveMode": "Continue",  "GameMode": "Normal",  "SaveInterval": 600,  "IdleDayCycleSpeed": 0.0,  "IdleTargetFramerate": 5,  "ActiveTargetFramerate": 60,  "LogFilesEnabled": false,  "TimestampLogFilenames": true,  "TimestampLogEntries": true,  "SkipNetworkAccessibilityTest": false,  "GameSettings": {},  "CustomGameModeSettings": {}}

რას აკეთებს თითოეული საინტერესო გასაღები:

გასაღებინაგულისხმევირას აკეთებს
ServerNameSons Of The Forest Serverსახელი სერვერების სიაში
MaxPlayers8დოკუმენტირებული დიაპაზონია 1-დან 8-მდე
Passwordცარიელიცარიელი ნიშნავს, რომ ნებისმიერს შეუძლია შესვლა. მაქსიმუმ 40 სიმბოლო
LanOnlyfalsetrue სერვერს ინტერნეტისგან მთლიანად მალავს
SaveSlot1რომელი შენახვის საქაღალდე იტვირთება და იწერება
SaveModeContinueContinue სლოტს ტვირთავს, New მასში თავიდან იწყებს
GameModeNormalიხილე შემდეგი თავი
SaveInterval600წამები სამყაროს შენახვებს შორის
IdleDayCycleSpeed0.0რა სისწრაფით გადის დრო, როცა არავინ არ არის ონლაინ
IdleTargetFramerate5tick-ის სამიზნე, როცა სერვერი ცარიელია
ActiveTargetFramerate60tick-ის სამიზნე, როცა მოთამაშეები არიან
LogFilesEnabledfalseწერს ლოგებს დისკზეც და არა მხოლოდ კონსოლში
SkipNetworkAccessibilityTestfalseგამოტოვებს გაშვებისას პორტების შემოწმებას

IdleDayCycleSpeed 0.0-ზე საათს აჩერებს, სანამ სერვერი ცარიელია, რაც თითქმის ყოველთვის სწორედ ის არის, რაც მეგობრების ჯგუფს უნდა - არავინ დაბრუნდება იმის სანახავად, რომ ზამთარი უკვე გავიდა. დააყენე 1.0, თუ გინდა, რომ დრო გაგრძელდეს. IdleTargetFramerate 5-ზე არის მიზეზი, რის გამოც ცარიელი სერვერი თითქმის არ იყენებს CPU-ს, და ღირს, რომ ხელი არ ახლო.

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

თამაშის რეჟიმები და საკუთარი პარამეტრები#

GameMode იღებს ერთ-ერთს: Normal, Hard, HardSurvival, Peaceful, Creative ან Custom. პირველი ხუთი პრესეტია. Custom ის არის, რომელიც CustomGameModeSettings-ს კითხულობს.

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

json
"GameSettings": {  "Gameplay.TreeRegrowth": true,  "Structure.Damage": true}

Gameplay.TreeRegrowth მოჭრილ ხეებს დროთა განმავლობაში ისევ აზრდის, რაც დიდხანს მოქმედ სერვერზე ძალიან მნიშვნელოვანია, სადაც ბაზის ტერიტორია სხვაგვარად ღეროების ველად იქცევა. Structure.Damage აკონტროლებს, შეუძლიათ თუ არა კანიბალებს აშენებულის დანგრევა - გამორთე და ბაზის დაცვაზე ფიქრი აღარ დაგჭირდება, რაც ზოგ ჯგუფს უნდა, ზოგი კი მთელ თამაშად მიიჩნევს.

როცა GameMode არის Custom, დანარჩენი ხელმისაწვდომი ხდება. ეს არის გასაღებები, ყველა GameSetting. პრეფიქსით:

გასაღებიმნიშვნელობები
GameSetting.Vail.EnemySpawntrue, false
GameSetting.Vail.EnemyHealthlow, normal, high
GameSetting.Vail.EnemyDamagelow, normal, high
GameSetting.Vail.EnemyArmourlow, normal, high
GameSetting.Vail.EnemyAggressionlow, normal, high
GameSetting.Vail.EnemySearchPartieslow, normal, high
GameSetting.Vail.AnimalSpawnRatelow, normal, high
GameSetting.Environment.StartingSeasonspring, summer, autumn, winter
GameSetting.Environment.SeasonLengthshort, default, long, realistic
GameSetting.Environment.DayLengthshort, default, long, realistic
GameSetting.Environment.PrecipitationFrequencylow, default, high
GameSetting.Survival.ConsumableEffectsnormal, hard
GameSetting.Survival.PlayerStatsDamageoff, normal, hard
GameSetting.Survival.ColdPenaltiesoff, normal, hard
GameSetting.Survival.StatRegenerationPenaltyoff, normal, hard
GameSetting.Survival.ReducedFoodInContainerstrue, false
GameSetting.Survival.SingleUseContainerstrue, false
GameSetting.Survival.BuildingResistancelow, normal, high
GameSetting.Survival.CreativeModetrue, false
GameSetting.Survival.PlayersImmortalModetrue, false
GameSetting.Survival.OneHitToCutTreetrue, false
GameSetting.Construction.NoCuttingsSpawntrue, false
GameSetting.FreeForm.ForcePlaceFullLoadtrue, false
GameSetting.Multiplayer.Cheatstrue, false

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

json
"GameMode": "Custom","CustomGameModeSettings": {  "GameSetting.Vail.EnemySpawn": true,  "GameSetting.Vail.EnemyAggression": "low",  "GameSetting.Survival.PlayerStatsDamage": "off",  "GameSetting.Survival.ColdPenalties": "off",  "GameSetting.Environment.SeasonLength": "long",  "GameSetting.Survival.OneHitToCutTree": true}

ამ სიაზე ორი რამ ღირს ცოდნად, სანამ მისგან გადაწერ. Endnight-ის დოკუმენტაცია მნიშვნელობებს პატარა ასოებით წერს, სერვერის მიერ გენერირებულ ფაილში კი დიდი ასოებით ფორმებია, მაგალითად "Normal"; ფორმა შენივე გენერირებული ფაილიდან გადაიწერე და არ მოგიწევს გარკვევა, რომელს ამჯობინებს პარსერი. და ოფიციალური ცხრილი და ოფიციალური მაგალითი ერთმანეთს არ ემთხვევა იმაში, ბოლოს წინა გასაღები OneHitToCutTree-ა თუ OneHitToCutTrees, რაც კარგად აჩვენებს, რატომ იმსახურებს -verboseLogging ადგილს - ლოგი გეუბნება, რომელი გასაღებები მიიღო სერვერმა სინამდვილეში.

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

სამი პორტი, ყველა UDP, ყველა საჭიროა:

პორტიპროტოკოლიდანიშნულება
8766UDPთამაშის ტრაფიკი
27016UDPSteam query - სერვერების ბრაუზერი
9700UDPBlobSync - სამყაროს მდგომარეობა შემოსულ მოთამაშეებს
პოვნა და pingსამყარო შესვლისასთამაშიტაიმერითმოთამაშეSteam კლიენტიQuery პორტიUDP 27016BlobSync პორტიUDP 9700თამაშის პორტიUDP 8766სერვერი8 მოთამაშემდეSaveData.zipSaveInterval-ის მიხედვით
სამი პორტი, რომელსაც Sons of the Forest-ის კლიენტი იყენებს

BlobSync პორტი ის არის, რომელსაც ხალხი ივიწყებს, რადგან უმეტეს თამაშში მისი ანალოგი არ არსებობს და ორი Steam პორტი სრულ ნაკრებად გამოიყურება. სერვერი, რომელსაც 8766 და 27016 ღია აქვს, 9700 კი არა, ძალიან კონკრეტულად და დამაბნეველად იქცევა: ბრაუზერში ჩანს, კავშირს იღებს, და შემდეგ მოთამაშე სამუდამოდ ჩატვირთვის ეკრანზე გაიჭედება. თუ სწორედ ამას ხედავ, მიზეზი პორტი 9700-ია. გეიმ სერვერის პორტები ახსნილი განმარტავს, რატომ აქვთ თამაშებს ცალკე სათამაშო, query და გადაცემის პორტები.

მოთამაშეები სერვერს პოულობენ Multiplayer-ში, შემდეგ Dedicated Servers-ში, სადაც სია სახელით ფილტრება. მისამართით შესვლა იმავე ეკრანიდან ხდება. თუ მისამართს სახელი დაარქვი, სია მაინც IP-ს აჩვენებს - დომენი ხალხს ეხმარება დამახსოვრებაში და არა პოვნაში, ხოლო დომენის მიბმა გეიმ სერვერზე-ში არის A ჩანაწერი, რომელიც გჭირდება.

მფლობელები, ადმინები და მოდერაცია#

ადმინისტრატორის ბრძანებების ნაკრები არ არსებობს. სამაგიეროდ, მომხმარებლის მონაცემების საქაღალდეში ownerswhitelist.txt ჩამოთვლის Steam ID-ებს, რომლებიც თამაშში admin პანელს იღებენ, თითო ხაზზე ერთს:

ownerswhitelist.txt
# One SteamID64 per line. Lines starting with # are comments.# Jane7656119801234567876561198087654321

ეს უნდა იყოს 17-ციფრიანი SteamID64. Vanity URL, მეგობრის კოდი ან Steam ID3 ჩუმად იგნორირდება. ფაილი პირველ გაშვებაზე გენერირდება და გაშვებისას იკითხება, ამიტომ ID-ები დაამატე და გადატვირთე - მუშაობად სერვერზე რედაქტირება არაფერს ცვლის. გაითვალისწინე, რომ სერვერი არ ჩაირთვება, სანამ ფაილი არ არსებობს, და ეს ერთ-ერთი ორი მიზეზია, რის გამოც პირველივე გაშვება მაშინვე ჩერდება.

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

შენახვები, შენახვის სლოტები და backup-ები#

სამყარო მომხმარებლის მონაცემების საქაღალდეში ცხოვრობს:

code
Saves/DedicatedServer/Multiplayer/0000000001/

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

ეს შევსებაც არის ხრიკი, რომლითაც სამყაროს სერვერზე გადაიტან. სესია, რომელსაც თამაშის კლიენტიდან თვითონ უმასპინძლე, მდებარეობს AppData\LocalLow\Endnight\SonsOfTheForest\Saves\<SteamID64>\Multiplayer\-ში, რიცხვითი სამყაროს id-ით დასახელებულ საქაღალდეში. გააჩერე სერვერი, დააკოპირე მთელი ეს საქაღალდე Saves/DedicatedServer/Multiplayer/-ში, გადაარქვი სახელი შევსებულ სლოტის ნომერზე, SaveSlot შესაბამისად დააყენე, SaveMode - Continue-ზე, და გაუშვი. სამყარო გადმოვა; მოთამაშეთა ინვენტარი და პოზიციები ჩვეულებრივ არა, ამიტომ ხალხს გააფრთხილე, რომ ცარიელი ხელებით გაიღვიძებენ. სესია, რომელშიც მხოლოდ შეხვედი და არ უმასპინძლე, MultiplayerClient-ში ცხოვრობს და სრული სამყარო არ არის - ის გადატანადი არ არის.

რა უნდა იცოდე იმის შესახებ, როდის იწერება:

  • ტაიმერით. ყოველ SaveInterval წამში, ნაგულისხმევად 600. ათი წუთის პროგრესი ნაგულისხმევი რისკია.
  • სუფთა გაჩერებისას. ჩვეულებრივ გაჩერებას სერვერი ჯერ ინახავს. სანამ ჩათვლი, რომ შეინახა, კონსოლში შენახვის ხაზს დააკვირდი.
  • არა დაკლვისას. მოკლული პროცესი, out-of-memory გაჩერება ან ჰოსტის ავარია კარგავს ყველაფერს ბოლო ტაიმერის შენახვის შემდეგ.

SaveInterval-ის 300-მდე შემცირება ყოველ ხუთ წუთში მოკლე დაყოვნებას ჯდება და ავარიისას დაკარგულს ნახევრად ამცირებს. დიდ სამყაროზე დაყოვნება შესამჩნევია, ამიტომ ეს გარიგებაა და არა უფასო მოგება. ჩაშენებული ქცევა ასე თუ ისე backup არ არის: ის იმავე სლოტს გადაუწერს, ამიტომ სამყარო, რომელიც გატეხილ მდგომარეობაში ინახება, კარგს გადაუწერს.

რეალური backup-ები არის Saves საქაღალდის ასლები, სადმე სხვაგან შენახული, გრაფიკით, და ხანდახან შემოწმებული. Backup-ები, რომლებიც მართლა აღდგება ეხება შემოწმების ნახევარს, რომელსაც ხალხი ტოვებს. RE:NODE-ზე გეგმებში backup სლოტები შედის, backup-ები იმ მანქანის გარეთ ინახება, რომელსაც იცავს, აღდგენა ერთი ღილაკია, ხოლო Schedules ტაბი ღამის ასლს cron გამოსახულებით გადაიღებს. მეხსიერების ქცევასთან ერთად ღირს ცოდნა: თუ სერვერი ლიმიტს მიაღწევს, კონტეინერი ჩერდება და სუფთად გადაიტვირთება და არა swap-ში რჩება, ხოლო Sons of the Forest-ის სერვერის სუფთა გადატვირთვაც ჯდება იმას, რაც ბოლო შენახვის შემდეგ მოხდა.

განახლებები, წარმადობა და პრობლემების მოგვარება#

კლიენტი და სერვერი ერთსა და იმავე build-ზე უნდა იყვნენ. თამაშის პატჩის შემდეგ გაუშვი app_update, სანამ ვინმე შესვლას სცდის, რადგან შეცდომა, რომელსაც არათანხვედრილი კლიენტი იღებს, სასარგებლო არ არის. შენახვების თავსებადობა პატჩებს შორის ზოგადად გაგრძელდა, მაგრამ დიდი განახლება ზუსტად ის მომენტია, როცა ჯერ ხელით backup უნდა გადაიღო.

სერვერი სიაში არ ჩანს. შეამოწმე სამივე UDP პორტი, დარწმუნდი, რომ LanOnly არის false, და მერე მოიცადე - სია ნელა ახლდება. მისამართით პირდაპირ შესვლა ტესტია, რომელიც ბრაუზერის პრობლემას სერვერის პრობლემისგან გამიჯნავს.

მოთამაშეები უერთდებიან და ჩატვირთვაზე ჭედავენ. პორტი 9700 დახურულია. ეს ყველაზე გავრცელებული ჩავარდნაა და პორტის პრობლემას სულაც არ ჰგავს.

სერვერი არ ირთვება და კონფიგს ასახელებს. JSON არ დაიპარსა. The configuration couldn't be read without error ნიშნავს დაზიანებულ JSON-ს - ბოლო გასაღების შემდეგ მძიმეს ან ვებგვერდიდან ჩასმულ ჭკვიან ბრჭყალს. შეტყობინება, რომელიც ერთ პარამეტრს ასახელებს, ნიშნავს დიაპაზონის გარეთ მნიშვნელობას. გადატვირთვამდე ფაილი ნებისმიერ JSON ვალიდატორში გაატარე.

`UDP 8766 is closed` ან მსგავსი, თვითტესტიდან. გაშვებისას სერვერი საკუთარ საჯარო მისამართს ამოწმებს თითოეული პორტისთვის, და ეს შემოწმება მხოლოდ მაშინ გადის, თუ შენი ქსელი ტრაფიკს საკუთარ თავში აბრუნებს. NAT-ის უკან hairpin-ის მხარდაჭერის გარეშე ის ვარდება სერვერზე, რომელიც სრულყოფილად მუშაობს. გარედან დაადასტურე, რომ მოთამაშეს შესვლა შეუძლია, და შემდეგ SkipNetworkAccessibilityTest დააყენე true-ზე.

`Failed to get public ip from Steam`. სერვერს სჭირდება მარშრუტიზებადი საჯარო IPv4 მისამართი. მხოლოდ IPv6 მხარდაჭერილი არ არის.

სამყარო განულდა. SaveMode არის New, ან SaveSlot შეიცვალა. ძველი სლოტი დისკზე ისევ არის - გააჩერე სერვერი, მნიშვნელობები უკან დააბრუნე და ის დაბრუნდება.

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

გაშვების ქსელის ტესტი ვარდება, მაგრამ სერვერი მუშაობს. დააყენე SkipNetworkAccessibilityTest true-ზე, მას შემდეგ, რაც დაადასტურებ, რომ მოთამაშეებს მართლა შეუძლიათ შესვლა.

FAQ#

რამდენი მოთამაშე ეტევა Sons of the Forest-ის სერვერზე?

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

მუშაობს dedicated server Linux-ზე?

native-ად არა. Endnight მხოლოდ Windows აწყობას აწვდის, ამიტომ Linux-ზე ის Wine-ით ან Proton-ით მუშაობს. ეს საკმარისად კარგად მუშაობს და ჰოსტინგის უმეტესობა ზუსტად ასე კეთდება, მაგრამ ნიშნავს, რომ ნებისმიერი გზამკვლევის ბილიკები Windows-ის ბილიკებია და ლოგი Windows-ის ლოგია.

რატომ სჭირდება ჩემს სერვერს 8 GB, როცა The Forest 3-ზე მუშაობდა?

იმიტომ, რომ ეს გაცილებით დიდი სამყაროა, გაცილებით მეტი სიმულირებული დეტალით, ახალ ძრავზე. პირველი თამაშის სერვერი მართლაც მსუბუქია; ეს არა. ჩვეულებრივი ჯგუფისთვის 8 GB გათვალე, ხოლო დიდხანს მოქმედი რვამოთამაშიანი სამყაროსთვის 10-დან 12-მდე.

შემიძლია არსებული სამყარო dedicated server-ზე გადავიტანო?

მულტიპლეერული სამყარო, რომელსაც თვითონ უმასპინძლე - კი. დააკოპირე დანომრილი საქაღალდე შენი Saves\<SteamID64>\Multiplayer დირექტორიიდან სერვერის Saves/DedicatedServer/Multiplayer-ში, გადაარქვი სახელი ათციფრიან სლოტის ნომერზე და SaveSlot მასზე მიმართე. ნაგებობები და სამყაროს მდგომარეობა გადმოდის; ინვენტარი ჩვეულებრივ არა. ერთმოთამაშიანი შენახვა ან სამყარო, რომელშიც მხოლოდ შეხვედი, სხვა ფორმისაა და არ გადავა.

არსებობს ადმინის ბრძანებები ან RCON?

არა. არ არის RCON პორტი, კონსოლის ბრძანებების ნაკრები და ჩატის ბრძანებები. ადმინისტრირება არის თამაშში პანელი, რომელიც ownerswhitelist.txt-ში ჩამოთვლილ Steam ID-ებს აქვთ, და ის kick-სა და ban-ს მოიცავს და სხვა არაფერს.

უჭერს Sons of the Forest მოდებს dedicated server-ზე მხარს?

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


კომენტარები

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

0/2000