Valheim-ის public test build-ის dedicated სერვერზე გასაშვებად დააინსტალირე სერვერის public-test beta branch იმ პაროლით, რომელსაც Iron Gate აქვეყნებს - ისტორიულად yesimadebackups - ცალკე საქაღალდეში, მიმართე ის შენი world-ის ასლზე ცალკე save დირექტორიაში და ყველა ტესტერს სთხოვე, Steam-ში საკუთარ თამაშს იგივე branch-ზე გადართონ. ტესტისა და release სერვერები ერთმანეთს ვერ ხედავენ: ტესტ build-ზე მყოფი მოთამაშე ჩვეულებრივ სერვერს ვერ უერთდება და პირიქით. ტესტის დასრულებისას მოთამაშეები Steam-ში გამოდიან და შენ უბრალოდ უბრუნდები შეუხებელ release ინსტალაციას. ერთი რამ არასოდეს გააკეთო: ნუ გახსნი შენს რეალურ world-ს ტესტ build-ზე, რადგან უფრო ახალი ვერსიით შენახული world შეიძლება ძველზე არ ჩაიტვირთოს.
ეს პოსტი მთელ ციკლს გადის: რისთვის არის ტესტ branch, როგორ დავაყენოთ ის SteamCMD-ით, Steam კლიენტით, Docker-ით ან პანელით, როგორ მოვამზადოთ world-ის ერთჯერადი ასლი, რა ემართება მოდებს და როგორ დავაბრუნოთ ყველა სტაბილურზე რამის დაკარგვის გარეშე.
რა არის public test branch#
დიდ განახლებამდე Iron Gate მას Steam-ის beta branch-ზე public-test ათავსებს მათთვის, ვისაც სურს ადრე სცადოს და ხარვეზები შეატყობინოს. ტესტი დღეების ან კვირების განმავლობაში შეიძლება გრძელდებოდეს და მასზე არსებული build ამ დროს იცვლება - ზოგჯერ კვირაში რამდენჯერმე - სანამ საბოლოო ვერსია ყველას არ მიეწოდება.
სერვერისთვის ეს სამი მიმართულებით მნიშვნელოვანია:
- ვერსიები ზუსტად უნდა ემთხვეოდეს. ტესტ კლიენტი მხოლოდ იმავე build-ის ტესტ სერვერს ელაპარაკება, ამიტომ ტესტ branch-ის ყოველი patch ნიშნავს როგორც სერვერის, ისე ყველა კლიენტის განახლებას.
- Save-ების ფორმატი შეიძლება შეიცვალოს. დიდმა განახლებამ შეიძლება შეცვალოს, როგორ იწერება world-ები და პერსონაჟები. როცა world ტესტ build-მა შეინახა, release build-მა შეიძლება უარი თქვას მის ჩატვირთვაზე ან უცნაურად იმუშაოს, სანამ განახლება release-ს არ მიაღწევს.
- არაფერი საბოლოოა. კონტენტი, ბალანსი, ახალ ტერიტორიებში world-ის გენერაცია და ხარვეზები შეიძლება შეიცვალოს. რაც ტესტში ააშენე, შემდეგმა ტესტ patch-მა შეიძლება გააუქმოს.
Iron Gate-ის საკუთარი რჩევა პაროლშია: ჯერ backup გააკეთე. ტესტ branch-ები ცნობისმოყვარეობისთვისაა და იმის შესამოწმებლად, გადაიტანს თუ არა შენი ჯგუფის კონფიგურაცია patch-ს - და არა შენი ძირითადი კამპანიის სათამაშოდ.
რატომ იწუხებს თავს სერვერის მფლობელი
ორი კარგი მიზეზი. პირველი, release-მდე გაიგო, გააფუჭებს თუ არა დიდი patch რამეს შენს world-ზე - ბაზა ახლად შეცვლილ biome-ში, portal ჰაბი, ძლიერ გადაკეთებული რელიეფი. მეორე, და უფრო ხშირად, მოდების ავტორების განახლებებისთვის დროის მოსაგებად: თუ შენი ჯგუფი მოდებს იყენებს, ტესტის პერიოდი სწორედ ის დროა, როცა იგებ, რომელი მათგანი გაფუჭდება, რომ release-ის დღე სიურპრიზი არ იყოს. ცუდი მიზეზია ახალი კონტენტის ადრე თამაში მთელი ჯგუფით შენს რეალურ world-ზე. ასე ხვდებიან world-ები ვერსიაზე, რომელსაც არავინ უშვებს.
დაწყებამდე: world-ისა და პერსონაჟების backup#
გააკეთე ეს მაშინაც, თუ ასლის გამოყენებას აპირებ, რადგან ასლი დედნიდან კეთდება და გზების შეცდომამ შეიძლება დედანი გახსნას.
- release სერვერი სუფთად გააჩერე, რომ დისკზე world მიმდინარე იყოს. დაელოდე ლოგში შენახვის ხაზს.
- დააკოპირე world-ის ორივე ფაილი -
Name.dbდაName.fwl-worlds_local-დან სერვერის საქაღალდეებს გარეთ. თუ წინა შენახვაც გინდა,.oldფაილებიც ჩართე. - გააკეთე სრული backup შენი ჩვეული მეთოდით, არა მხოლოდ ასლი. პანელზე ეს backup-ია მოთხოვნით, სასურველია დაბლოკილი, რომ rotation-მა ვერ წაშალოს.
- ყველა ტესტერს სთხოვე პერსონაჟების backup. პერსონაჟები თითოეული მოთამაშის მანქანაზე ინახება და არა სერვერზე, ტესტ კლიენტი კი მათ ტესტ build-ის ფორმატში წერს. Windows-ზე ესაა
.fchფაილები საქაღალდეში%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\characters_local\ან Steam Cloud-შიcharacters-ის ქვეშ.
პერსონაჟების backup ის არის, რასაც ხალხი ივიწყებს. world-ის ასლი world-ს იცავს; სერვერზე არაფერი იცავს მოთამაშის პერსონაჟს ტესტ კლიენტის მიერ შენახვისგან. სად ინახება save ფაილები თითოეულ პლატფორმაზე, ეს არის savedir და ფაილების მდებარეობა, ხოლო მიზეზები, რატომ უნდა გქონდეს რეალურად მომუშავე აღდგენა, Valheim სერვერის backup-ები და world-ის დაზიანება.
სერვერის ტესტ build-ის ინსტალაცია#
dedicated სერვერს (896660) საკუთარი beta branch-ები აქვს, თამაშის კლიენტისგან განცალკევებული. გამოიყენე ცალკე ინსტალაციის დირექტორია, რომ release ინსტალაცია არასოდეს შეეხოს.
SteamCMD-ით Linux-ზე:
$ steamcmd +force_install_dir /home/valheim/ptb \ +login anonymous \ +app_update 896660 -beta public-test -betapassword yesimadebackups validate \ +quit-beta ალამი branch-ს ირჩევს, -betapassword მას ხსნის, validate კი ყველა ფაილს ამოწმებს. ტესტის ყოველი ახალი patch-ის მისაღებად იგივე ხაზი ხელახლა გაუშვი. გამოყენებამდე შეამოწმე branch-ის სახელი და პაროლი ტესტის შესახებ Iron Gate-ის განცხადებაში; წლებია სტაბილურია, მაგრამ მათი შეცვლა Iron Gate-ის ხელშია. როგორ მუშაობს beta ალამები სხვადასხვა თამაშში, განმარტავს SteamCMD app ID-ები და beta branch-ები.
Windows-ზე Steam კლიენტით dedicated სერვერი ბიბლიოთეკაში Tools-ის ქვეშ "Valheim Dedicated Server"-ად ჩანს. დააწკაპუნე მარჯვენა ღილაკით, გახსენი Properties, შემდეგ Betas, შეიყვანე კოდი და აირჩიე public-test. Steam ტესტ build-ს მაშინ იმავე საქაღალდეში ჩამოტვირთავს, სადაც შენი release სერვერია, ზუსტად იმას, რასაც თავი უნდა აარიდო. თუ ამ გზით მიდიხარ, ჯერ release სერვერის საქაღალდე სადმე დააკოპირე, რომ ორივე გქონდეს, ან ტესტ build SteamCMD-ით საკუთარ საქაღალდეში დააინსტალირე.
lloesche/valheim-server Docker image-ში დამატებითი SteamCMD არგუმენტები გარემოს ცვლადშია. გაუშვი მეორე კონტეინერი საკუთარი volume-ებით და არა მთავარის გადაკონფიგურირებით:
SERVER_NAME=Ravenhold PTBWORLD_NAME=MidgardTestSERVER_PASS=spare-anvil-03SERVER_PUBLIC=falseSTEAMCMD_ARGS=-beta public-test -betapassword yesimadebackups validateცვლადის სახელი და მისი ნაგულისხმევი მნიშვნელობა image-ის ცხოვრებაში შეიცვალა, ამიტომ დაადასტურე image-ის README-ში. volume-ებს განიხილავს Valheim Docker-ში.
პანელ-ჰოსტზე სუფთა გზაა ტესტისთვის მეორე სერვერი და არა მთავარის გადართვა. თუ პანელის Valheim ინსტალაციას Startup ჩანართზე beta ან branch ცვლადი აქვს, იქ გამოიყენე; თუ არა, შესაძლოა SteamCMD ბრძანების თავად გაშვება, მაგრამ ეს ჰოსტზეა დამოკიდებული. RE:NODE-ზე მთავარი სერვერის branch-ის შეცვლამდე მხარდაჭერას ჰკითხე; ცალკე, იაფი ტესტ სერვერი შენს რეალურ world-ს სრულიად მიუწვდომლად ტოვებს.
ტესტ სერვერის გაშვება world-ის ასლზე#
ტესტ სერვერი საკუთარი კუნძული უნდა იყოს: საკუთარი ინსტალაცია, საკუთარი save დირექტორია, საკუთარი პორტი და სასურველია საკუთარი world-ის სახელი.
$ cd /home/valheim/ptb$ ./valheim_server.x86_64 -nographics -batchmode \ -name "Ravenhold PTB" -port 2466 -world "MidgardTest" \ -password 'spare-anvil-03' -public 0 \ -savedir /home/valheim/ptb-saves -logFile /home/valheim/logs/ptb.logთითოეული არჩევანი რისგან იცავს:
| არგუმენტი | რატომ |
|---|---|
| ცალკე ინსტალაციის საქაღალდე | release სერვერის binary release build-ზე რჩება |
-savedir ახალ საქაღალდეზე | ტესტ სერვერს რეალური world არც უნახავს და არც გადაუწერია |
განსხვავებული -world სახელი | გზა რომ არასწორი იყოს, რეალურ ფაილებს მაინც ვერ დაემთხვევა |
-port 2466 | release სერვერის გვერდით მუშაობს, რომელიც 2456-ს ინარჩუნებს |
-public 0 | community სიას გარეთ რჩება; ტესტერები მისამართით უერთდებიან |
| განსხვავებული პაროლი | ვინმეს ჩვევით არასწორ სერვერზე შესვლას უშლის |
შენი რეალური world-ის ასლის გამოსაყენებლად გადაარქვი დაკოპირებულ წყვილს ტესტ world-ის სახელი - Midgard.db გახდება MidgardTest.db, Midgard.fwl გახდება MidgardTest.fwl - და ჩადე ისინი ტესტის save დირექტორიაში worlds_local-ში. შემდეგ გაუშვი ტესტ სერვერი და ლოგში ეძებე Load world: MidgardTest. თუ ამბობს, რომ ახალ world-ს აგენერირებს, ფაილების სახელები არ ემთხვეოდა. წყვილის გადარქმევა მუშაობს, რადგან -world-ში world-ის სახელი ფაილის სახელს შედარდება; თუ შენი ვერსია .fwl-შიც ინახავს სახელს და ჩივის, შექმენი ტესტ world ნულიდან იმავე seed-ით.
ერთ მანქანაზე ორ სერვერს ცალკე პორტები და ცალკე save დირექტორიები სჭირდება, crossplay კონფიგურაციაზე კი თითოეულს საკუთარი join კოდი აქვს. უფრო გრძელი ვერსია არის რამდენიმე world ერთ ჰოსტზე, პორტების არითმეტიკა - თითოეული სერვერი თავის პორტს და მის ზემოთ მყოფს იყენებს - კი Valheim-ის პორტები 2456-2458.
თუ ტესტ სერვერზე ადმინის უფლებები გინდა, admin სია გადაიტანე: adminlist.txt, bannedlist.txt და permittedlist.txt save დირექტორიაში ცხოვრობენ, ამიტომ ახალი -savedir მათ გარეშე იწყება.
ტესტერების ტესტ build-ზე გადაყვანა#
ყველა ტესტერი საკუთარ თამაშს ცვლის. Steam-ში: Valheim-ზე მარჯვენა ღილაკი, Properties, Betas, შეიყვანე კოდი, აირჩიე public-test. Steam ტესტ build-ს ჩამოტვირთავს და მას შემდეგ თამაში მასზე იწყება, სანამ უკან არ გადართავენ.
რაც ტესტერებმა უნდა იცოდნენ ამის გაკეთებამდე:
- ტესტ build-ზე ყოფნისას ჩვეულებრივ სერვერს ვერ უერთდებიან. აირჩიე ტესტის საღამო და არ გადაერთო წინ და უკან.
- უნდა დარჩნენ განახლებულნი. როცა ტესტ branch განახლდება, Steam კლიენტს განაახლებს, სერვერიც განახლებას საჭიროებს. ლოგის ვერსიის შეუსაბამობის ხაზი ორივე ნომერს ბეჭდავს და გეუბნება, რომელი მხარე ჩამორჩება.
- კონსოლისა და Game Pass-ის მოთამაშეები ჩვეულებრივ ვერ უერთდებიან. საჯარო ტესტები ისტორიულად Steam-ზე იყო. ელოდე, რომ ტესტ სერვერი მხოლოდ Steam-ისთვის იქნება, თუნდაც შენი მთავარი სერვერი crossplay-ზე მუშაობდეს, და შეამოწმე შენ მიერ გაშვებული ტესტის განცხადება.
- პერსონაჟების backup ჯერ უნდა გაკეთდეს, ან ახალი პერსონაჟი გამოიყენონ.
თუ ტესტერი "Incompatible version"-ს იღებს, ორიდან ერთი არასწორ branch-ზეა ან patch-ით ჩამორჩება. შეცდომას ზოგადად განიხილავს სერვერის განახლება და ვერსიის შეუსაბამობა.
მოდები ტესტ branch-ზე#
BepInEx თავად patch-ს ჩვეულებრივ გადაურჩება; მასზე მდგარი მრავალი მოდი - არა. საჯარო ტესტი ყველაზე კარგი ადრეული გაფრთხილებაა, რასაც მიიღებ.
- დააყენე მოდები ტესტ სერვერზე და ტესტ კლიენტებზე ზუსტად ისე, როგორც release კონფიგურაციაში. თუ შენი ჯგუფი r2modman პროფილს იყენებს, გააექსპორტე და ტესტისთვის ასლი შეიტანე, რომ release პროფილი შეუხებელი დარჩეს - იხილე Thunderstore და r2modman ჯგუფებისთვის.
- გაუშვი სერვერი და წაიკითხე BepInEx-ის გამოსავალი. plugin-ები, რომლებიც ვერ იტვირთება, ჩვეულებრივ გაშვებისას ამას ამბობენ. აღნიშნე, რომელი.
- ითამაშე იმ ნაწილებში, რასაც მოდები ეხება. მოდი შეიძლება სუფთად ჩაიტვირთოს და მაინც გაფუჭდეს, როცა მისი ფუნქცია გამოიყენება - craft-ინგი, საკუთარი არსება, portal-ის წესი.
- შეამოწმე მოდების გვერდები და issue tracker-ები. ავტორები ხშირად ტესტ branch-ის სტატუსს აქვეყნებენ და ზოგი release-მდე ტესტ build-ზე მიმართულ განახლებებს ათავსებს.
შედეგი სიაა: რომელი მოდი მუშაობს, რომელი ტყდება, რომელს აქვს გამოსწორება მომზადებული. release-ის დღეს ეს სია გეუბნება, release სერვერი მაშინვე განაახლო თუ ძველ ვერსიაზე დატოვო, სანამ გაფუჭებული მოდები არ დაეწევიან. ზოგად სახელმძღვანელოს იძლევა რა ვქნათ, როცა მოდის განახლება აფუჭებს.
სტაბილურზე დაბრუნება#
თუ ცალკე ინსტალაციის რჩევას მიჰყევი, დასაბრუნებელი თითქმის არაფერია. release სერვერი არასოდეს შეცვლილა; გააჩერე ტესტ სერვერი, ტესტერები კი Steam-ში გამოდიან - Properties, Betas, აირჩიეთ "None" ან ნაგულისხმევი branch - და Steam release build-ს ჩამოტვირთავს. შემდეგ ისინი, როგორც ადრე, შეძლებენ release სერვერზე შესვლას.
თუ ინსტალაცია ადგილზე გადართე, SteamCMD-ით დააბრუნე ნაგულისხმევ branch-ზე:
$ steamcmd +force_install_dir /home/valheim/server \ +login anonymous \ +app_update 896660 -beta public validate \ +quit-beta public ნაგულისხმევ branch-ს ასახელებს. SteamCMD-ის ქცევა უკან გადართვისას წლების განმავლობაში იცვლებოდა; თუ ამის შემდეგ სერვერის ვერსიის ხაზი მაინც ტესტ build-ს აჩვენებს, წაშალე ინსტალაციის საქაღალდე (არა save დირექტორია) და დააინსტალირე თავიდან ყოველგვარი -beta ალამის გარეშე. ინსტალაცია დაახლოებით 2 GB-ია და რამდენიმე წუთს მოითხოვს; world მასში არ არის.
world უფრო რთული საკითხია. binary-ის უკან დაბრუნება save-ს უკან არ აბრუნებს:
- თუ რეალური world ტესტ build-ზე არასოდეს გაგიხსნია, არაფერი გაქვს გასაკეთებელი.
- თუ გახსენი, release build-მა შეიძლება უარი თქვას მის ჩატვირთვაზე ან პრობლემებით ჩატვირთოს. აღადგინე ტესტამდე გაკეთებული backup. ტესტის დროს მიღწეული პროგრესი იკარგება; ეს არის ფასი.
- თუ ტესტ world-ის პროგრესი გინდა, უნდა დაელოდო, სანამ განახლება release-ს მიაღწევს, და შემდეგ ეს world განახლებულ release სერვერზე ჩატვირთო. ტესტ world-ის ფაილები უსაფრთხოდ შეინახე ამ დრომდე.
პერსონაჟები ასევე მუშაობს. ტესტ კლიენტის მიერ შენახული პერსონაჟი შეიძლება მხოლოდ მაშინ გახდეს ისევ გამოყენებადი, როცა release build დაეწევა. ამიტომ ტესტერები ტესტიდან გასვლისას პერსონაჟების backup-ს აღადგენენ ან თავიდანვე მხოლოდ ტესტისთვის პერსონაჟს იყენებენ.
როცა ტესტი მთავრდება#
როცა განახლება release-ზე გადის, ტესტ branch ჩვეულებრივ იმავე ვერსიაზე მიჰყვება და ტესტ კლიენტებს, როგორც წესი, შეუძლიათ ჩვეულებრივ სერვერებს ისევ შეუერთდნენ, როცა ორივე განახლებულია. ნუ ივარაუდებ, რომ ტესტ world უბრალოდ შეგიძლია შენი მთავარი world-ით ჩაანაცვლო: ტესტმა შეიძლება ახალი ადგილები ადრეული წესებით შექმნა და ტესტ patch-ებმა ობიექტები ისეთ მდგომარეობაში დატოვეს, რომელსაც release ვერსია სხვაგვარად ამუშავებს. დატოვე მთავარი world, განაახლე release სერვერი და ტესტ world დააარქივე - ან დროებით sandbox-ად გააგრძელე, თუ ვინმეს მოეწონა.
RE:NODE-ზე მეორე, პატარა Valheim სერვერი ტესტისთვის კარგი სტენდია: backup-ები ყველა გეგმაზეა და ღილაკით აღდგება, დაბლოკილი backup ტესტის დროს rotation-ისგან დაცულია, ტესტ სერვერის კონსოლი კი ვერსიის ხაზს, BepInEx-ის გამოსავალს და join კოდს shell წვდომის გარეშე აჩვენებს. როცა დაამთავრებ, წაშალე, ისე რომ გახსოვდეს: სერვერის წაშლა მის backup-ებსაც შლის.
FAQ#
რა არის Valheim public test-ის პაროლი?
ისტორიულად yesimadebackups, public-test branch-ისთვის, როგორც თამაშზე, ისე dedicated სერვერზე. Iron Gate მას ყოველ ტესტის განცხადებასთან ერთად აქვეყნებს; გამოყენებამდე შეამოწმე მიმდინარე, რადგან მისი შეცვლა მათი ხელშია.
შეუძლიათ release ვერსიაზე მყოფ მოთამაშეებს public test სერვერზე შესვლა?
არა. კლიენტი და სერვერი ერთსა და იმავე build-ზე უნდა იყვნენ, ტესტ build კი სხვა ვერსიაა. შესასვლელად მოთამაშეებმა თამაში Steam-ში public-test branch-ზე უნდა გადართონ, ჩვეულებრივ სერვერებზე შესასვლელად კი უკან.
გააფუჭებს ტესტირება ჩემს world-ს?
მხოლოდ იმ შემთხვევაში, თუ რეალურ world-ს ტესტ build-ზე გახსნი. უფრო ახალი ვერსიით შენახული world შეიძლება ძველ release build-ზე არ ჩაიტვირთოს. ტესტი ასლზე ჩაატარე ცალკე save დირექტორიაში და რეალურ world-ს არასოდეს შეეხები.
შეუძლიათ Xbox მოთამაშეებს ჩვენთან ერთად ტესტირება?
საჯარო ტესტები ისტორიულად მხოლოდ Steam-ზე იყო, ამიტომ ტესტ სერვერი ჩვეულებრივ მხოლოდ PC-ისთვისაა, თუნდაც შენი მთავარი სერვერი crossplay-ზე მუშაობდეს. შეამოწმე კონკრეტული ტესტის განცხადება.
როგორ დავბრუნდე სტაბილურზე ტესტის შემდეგ?
ტესტერები Steam-ის Betas ჩანართზე ნაგულისხმევ branch-ს ირჩევენ. სერვერზე ან უკან გადადი შეუხებელ release ინსტალაციაზე, ან გაუშვი app_update 896660 -beta public validate. შემდეგ აღადგინე ტესტამდელი world backup, თუ რეალური world ტესტ build-ზე გაიხსნა.


