RE:NODE

LinuxGSM vhserver: Valheim სერვერის დაყენება და ბრძანებები

ავტორი RE:NODE-ის გუნდი
13 წუთის საკითხავი


LinuxGSM-ის vhserver არის მზა მართვის სკრიპტი Valheim-ის dedicated სერვერისთვის Linux-ზე. ქმნი vhserver მომხმარებელს, ჩამოტვირთავ linuxgsm.sh-ს, უშვებ bash linuxgsm.sh vhserver-ს და შემდეგ ./vhserver install-ს, და იღებ ერთ ბრძანებას, რომელიც სერვერს SteamCMD-ით აყენებს, tmux სესიაში უშვებს, სუფთად აჩერებს, Steam-ზე განახლებებს ამოწმებს, backup-ებს არქივირებს, სერვერს, თუ მოკვდა, თავიდან უშვებს და Discord-ზე ან ელფოსტაზე შეტყობინებებს აგზავნის. პარამეტრები იწერება lgsm/config-lgsm/vhserver/vhserver.cfg-ში და არასდროს _default.cfg-ში. სამი cron ხაზი - monitor ყოველ ხუთ წუთში, update ყოველ ოცდაათ წუთში, update-lgsm ყოველკვირეულად - სერვერს ისეთად აქცევს, რომელიც ძირითადად თავს თავად უვლის. ფასი არის shell სკრიპტის ფენა შენსა და თამაშს შორის, და თავისით განახლებადი vhserver მოდიფიცირებული სამყაროსთვის არასწორი ნაგულისხმევია.

ეს პოსტი მოიცავს დაყენებას, კონფიგურაციის ფაილებს და მნიშვნელოვან ცვლადებს, ყველა ბრძანებას, რომელსაც გამოიყენებ, cron განრიგს, backup-ებსა და შეტყობინებებს, მოდებს და გულწრფელ შედარებას systemd-ის ქვეშ მყოფ უბრალო გამშვებ სკრიპტთან.

რა არის LinuxGSM და რას აკეთებს Valheim-ისთვის#

LinuxGSM (Linux Game Server Managers) არის Bash სკრიპტების ღია კოლექცია, რომელიც ასზე მეტ dedicated სერვერს ერთნაირი ბრძანებებით მართავს. vhserver მისი Valheim-ის მოდულია. ის თამაშის სერვერს არ ცვლის და მის მუშაობას არ ცვლის: ქვემოთ ის მაინც Steam-ის აპს 896660-ს ანონიმური შესვლით აყენებს და valheim_server.x86_64-ს იმავე გაშვების არგუმენტებით უშვებს, რომლებსაც შენც ჩაწერდი. რასაც ამატებს, ოპერაციული გარსია:

  • დაყენება და დამოკიდებულებების შემოწმება. გეუბნება, შენი დისტრიბუტივისთვის რომელი პაკეტები აკლია და მომხმარებლისთვის SteamCMD-ს აყენებს.
  • tmux სესია თითო სერვერზე. სერვერი მიუმაგრებლად მუშაობს; ./vhserver console მას აერთებს.
  • განახლებების შემოწმება. დაყენებულ build-ს Steam-ზე არსებულთან ადარებს და სერვერს მხოლოდ მაშინ აჩერებს, როცა რაღაც დასაყენებელია.
  • Backup-ები. შეკუმშული არქივები რაოდენობისა და ასაკის ლიმიტით.
  • მონიტორინგი. შემოწმება, რომ სერვერი მუშაობს და პასუხობს, წინააღმდეგ შემთხვევაში restart და შეტყობინება.
  • შეტყობინებები. Discord, ელფოსტა, Telegram, Slack, Pushover და სხვები, ერთ ფაილში კონფიგურირებული.
  • დეტალები. ./vhserver details პორტებს, პაროლს, გზებსა და გამშვებ ხაზს ერთ ადგილას ბეჭდავს.

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

vhserver-ის დაყენება#

LinuxGSM ჩვეულებრივ სერვერულ დისტრიბუტივებს უჭერს მხარს; Ubuntu LTS და Debian stable ყველაზე ხშირად გამოყენებულია. ყველაფერი ცალკე, უპრივილეგიო მომხმარებლით გააკეთე - LinuxGSM root-ით გაშვებაზე უარს ამბობს.

bash
$ sudo adduser vhserver$ sudo su - vhserver$ curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh$ bash linuxgsm.sh vhserver$ ./vhserver install

დაყენების ეტაპი ჯერ დამოკიდებულებებს ამოწმებს. თუ რამე აკლია, ის შენი დისტრიბუტივის ზუსტ sudo apt install ხაზს ბეჭდავს და ჩერდება; გაუშვი ეს ხაზი sudo უფლებების მქონე მომხმარებლით, შემდეგ კვლავ გაუშვი ./vhserver install. 64-ბიტიან Debian-სა და Ubuntu-ზე სიაში SteamCMD-ისთვის 32-ბიტიანი ბიბლიოთეკებია, რაც ნიშნავს, რომ dpkg --add-architecture i386 წინასწარ უნდა იყოს გაშვებული - დაბეჭდილი ინსტრუქციები მას შეიცავს, როცა საჭიროა. პაკეტების სია LinuxGSM-ის რელიზებსა და დისტრიბუტივის ვერსიებს შორის იცვლება, ამიტომ ის დამყენებლის გამოტანიდან ან linuxgsm.com-ზე vhserver-ის გვერდიდან აიღე და არა ძველი გზამკვლევიდან.

შემდეგ დამყენებელი სერვერს ~/serverfiles-ში ჩამოტვირთავს, დაახლოებით 2 GB, და რამდენიმე კითხვას დაგისვამს. ./vhserver auto-install მათ ნაგულისხმევით პასუხობს, და სწორედ ეს ვერსიაა provisioning სკრიპტისთვის.

დასრულებისას home დირექტორია ასე გამოიყურება:

გზარას შეიცავს
~/vhserverბრძანება, რომლითაც ყველაფერს აკეთებ
~/serverfiles/SteamCMD-დან მიღებული Valheim-ის სერვერი
~/lgsm/config-lgsm/vhserver/ამ სერვერის LinuxGSM-ის კონფიგურაციის ფაილები
~/lgsm/backup/Backup არქივები
~/log/კონსოლისა და LinuxGSM სკრიპტის ლოგები
~/.config/unity3d/IronGate/Valheim/სამყაროები და admin, ban და permitted სიები

ბოლო მწკრივი Valheim-ის საკუთარი ნაგულისხმევი save დირექტორიაა და არა LinuxGSM-ის. სამყაროები მის შიგნით worlds_local-შია, adminlist.txt, bannedlist.txt და permittedlist.txt კი ამ საქაღალდის გვერდით. რა იცვლება -savedir-ის დაყენებისას, სად ინახავს Valheim თავის ფაილებს განმარტავს.

კონფიგურაციის ფაილები და მნიშვნელოვანი ცვლადები#

LinuxGSM სამ ფაილს თანმიმდევრობით კითხულობს, თითოეული წინას გადაფარავს:

  1. _default.cfg - ყველა ცვლადი თავისი ნაგულისხმევით. LinuxGSM-ის თვითგანახლებისას ნაცვლდება. წაიკითხე, არასდროს შეცვალო.
  2. common.cfg - პარამეტრები, რომლებიც ამ მომხმარებლის ქვეშ ყველა LinuxGSM სერვერისთვის საერთოა, მაგალითად შეტყობინებების მონაცემები.
  3. vhserver.cfg - პარამეტრები ამ ერთი ინსტანციისთვის. აქ იწერება შენი ცვლილებები.

ჩვეულებრივი შეცდომა _default.cfg-ის რედაქტირებაა: ცვლილება მუშაობს და შემდეგ update-lgsm-ზე იკარგება. ხაზები, რომელთა შეცვლაც გინდა, _default.cfg-იდან გადაიტანე vhserver.cfg-ში და იქ შეცვალე:

lgsm/config-lgsm/vhserver/vhserver.cfg
servername="Longship Crew"serverpassword="herring-barrel-42"port="2456"gameworld="Midgard"public="1"

ზემოთ მოცემული ცვლადების სახელები ისინია, რომლებსაც vhserver-ის ნაგულისხმევი დიდი ხანია იყენებს, და გამშვები ხაზი მათგან startparameters ცვლადში იკრიბება. სახელები LinuxGSM-ის რელიზებს შორის ზოგჯერ იცვლება, ამიტომ გახსენი საკუთარი _default.cfg და იქიდან გადაიტანე და არა რომელიმე გზამკვლევს ენდე, ამ პოსტსაც:

bash
$ grep -nE '^(servername|serverpassword|port|gameworld|public|startparameters)=' \    ~/lgsm/config-lgsm/vhserver/_default.cfg

არგუმენტების დასამატებლად, რომლებსაც წინასწარ განსაზღვრული ცვლადები არ ფარავს - crossplay, შენახვის ინტერვალი, სამყაროს მოდიფიკატორები - გადაიტანე startparameters vhserver.cfg-ში და გააგრძელე. ცვლადებზე მითითებები დატოვე, რომ ზემოთ მოცემული მარტივი პარამეტრები კვლავ იმუშაოს:

lgsm/config-lgsm/vhserver/vhserver.cfg
startparameters="-name '${servername}' -password '${serverpassword}' -port ${port} -world '${gameworld}' -public ${public} -crossplay -saveinterval 900 -backups 4 -preset casual"

თუ შენს _default.cfg-ში crossplay-ის ცალკე პარამეტრი უკვე არსებობს, არგუმენტის ხელით დამატების ნაცვლად ის გამოიყენე. შემდეგ ./vhserver details გამოთვლილ გამშვებ ხაზს ბეჭდავს, რაც ციტირების გადარჩენის დასადასტურებლად ყველაზე სწრაფი გზაა.

თამაშის საკუთარი წესები LinuxGSM-ის წესებზე მაინც მოქმედებს: query პორტი ყოველთვის თამაშის პორტს პლუს ერთია, ამიტომ port="2456" ნიშნავს, რომ UDP 2456 და 2457 მისაწვდომი უნდა იყოს. firewall-ის წესები Valheim-ის პორტები 2456-2458 განმარტებაშია.

ბრძანებები, რომლებსაც გამოიყენებ#

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

ბრძანებამოკლერას აკეთებს
startstსერვერს tmux სესიაში უშვებს
stopspსუფთად აჩერებს, რათა სამყარო შეინახოს
restartrStop, შემდეგ start
detailsdtპორტები, პაროლი, გზები, გამშვები ხაზი, სტატუსი
consolectmux სესიას უერთდება
monitormამოწმებს, რომ სერვერი მუშაობს; თუ არა, თავიდან უშვებს
updateuსერვერს ანახლებს, თუ Steam-ზე ახალი build არსებობს
check-updatecuაცნობებს, არსებობს თუ არა განახლება, არაფერს ცვლის
force-updatefuანახლებს მაშინაც, როცა build მიმდინარედ ჩანს
validatevსერვერის ფაილებს Steam-თან ადარებს
backupbbackup არქივს ქმნის
update-lgsmulLinuxGSM-ის საკუთარ სკრიპტებს ანახლებს
test-alerttaგამართულ შეტყობინებებზე სატესტო შეტყობინებას აგზავნის
debugdსერვერს წინა პლანზე უშვებს პრობლემების გასარკვევად
mods-installmiჩამოთვლის და აყენებს მოდებს, რომლებიც LinuxGSM-მა იცის

ორ მათგანს გაფრთხილება სჭირდება. console ცოცხალ სერვერის პროცესს გაკავშირებს; გასასვლელად Ctrl+b, შემდეგ d. Ctrl+C-ის დაჭერა კონსოლში სერვერს შეწყვეტის სიგნალს უგზავნის და აჩერებს - LinuxGSM ამ გაფრთხილებას მიერთებისას ბეჭდავს, და ადამიანები მაინც აკეთებენ. Valheim standard input-იდან არაფერს კითხულობს, ამიტომ კონსოლი საყურებლად არის და არა ბრძანებების ჩასაწერად; ადმინისტრატორის ბრძანებებს თამაშის კლიენტის F5 კონსოლიდან adminlist.txt-ში მყოფი მოთამაშეები ასრულებენ.

validate შეცვლილ თამაშის ფაილებს Steam-ის ასლებით ანაცვლებს. ეს start_server.sh-ს მოიცავს და მოდიფიცირებულ ინსტალაციაზე შეიძლება BepInEx-ის ფაილები გააუქმოს. გაუშვი, როცა დაზიანება გეეჭვება და არა როგორც რუტინა.

debug ბრძანებაა, როცა start წარმატებას აცხადებს და სერვერი არ არის. ის სერვერს შენს ტერმინალში აჩვენებს გამოტანით, ამიტომ შეცდომა, რომელიც მიუმაგრებელმა სესიამ დამალა, თვალწინ გაგირბის. ჩვეულებრივი ეჭვმიტანილები - პაროლის წესის დარღვევა, დაკავებული პორტი, დაკარგული ბიბლიოთეკა, სამყარო, რომელიც არ იტვირთება - Valheim სერვერი გაშვებისას ვარდება-შია განხილული.

Cron: monitor, განახლებები და თავად LinuxGSM#

LinuxGSM თავისით განრიგით არაფერს აკეთებს; cron სამუშაოებს vhserver მომხმარებლისთვის crontab -e-ით ამატებ. LinuxGSM-ის დოკუმენტაციის რეკომენდებული ნაკრები, პლუს ღამის backup და ყოველკვირეული restart:

crontab -e (as vhserver)
*/5 * * * * /home/vhserver/vhserver monitor > /dev/null 2>&1*/30 * * * * /home/vhserver/vhserver update > /dev/null 2>&10 0 * * 0 /home/vhserver/vhserver update-lgsm > /dev/null 2>&115 5 * * * /home/vhserver/vhserver backup > /dev/null 2>&10 5 * * 1 /home/vhserver/vhserver restart > /dev/null 2>&1@reboot /home/vhserver/vhserver start > /dev/null 2>&1

რას გაძლევს თითოეული ხაზი:

  • `monitor` ყოველ ხუთ წუთში. თუ tmux სესია გაქრა ან სერვერმა query პორტზე პასუხი შეწყვიტა, LinuxGSM მას თავიდან უშვებს და შეტყობინებას აგზავნის. ეს ხაზი systemd-ის restart-on-failure-ს ცვლის.
  • `update` ყოველ ოცდაათ წუთში. Steam-ზე ახალ build-ს ამოწმებს. თუ არსებობს, სერვერს სუფთად აჩერებს, ანახლებს და თავიდან უშვებს. vanilla სერვერზე ეს ნიშნავს, რომ Valheim-ის patch ნახევარ საათში ინერგება, სანამ შენი მოთამაშეების უმეტესობა განახლებულ კლიენტს გაუშვებს.
  • `update-lgsm` ყოველკვირეულად. სკრიპტებს აქტუალურად ინახავს. შენი vhserver.cfg ხელუხლებელია; _default.cfg იცვლება, ამიტომ არასდროს არედაქტირებ.
  • `backup` ღამით და `restart` ყოველკვირეულად, საათებზე, როცა არავინ თამაშობს. ორშაბათის backup restart-იდან თხუთმეტი წუთის შემდეგ ირთვება. Restart-ის განრიგები, რომლებიც გვეხმარება განმარტავს, რატომ არის ყოველკვირეული Valheim-ისთვის ჩვეულებრივ საკმარისი.
  • `@reboot` სერვერს მანქანის ჩატვირთვისას უშვებს. ალტერნატივა systemd unit-ია, ქვემოთ.

Cron სამუშაოებს მინიმალური გარემოთი უშვებს. გამოიყენე სრული გზები, როგორც ზემოთ, და თუ სამუშაო არაფერს აკეთებს, იგივე ხაზი ხელით vhserver მომხმარებლით გაუშვი და წაიკითხე ~/log/script/. ხუთველიანი სინტაქსი cron გამოსახულებების განმარტებაშია.

ჩატვირთვისას გაშვება systemd-ით @reboot-ის ნაცვლად#

@reboot მუშაობს, მაგრამ მანქანის გამორთვისას სერვერს სუფთად არ აჩერებს - tmux სესია უბრალოდ ყველაფერთან ერთად კვდება. პატარა systemd unit, რომელიც LinuxGSM-ის საკუთარ start-სა და stop-ს იძახებს, ამას აგვარებს:

/etc/systemd/system/vhserver.service
[Unit]Description=LinuxGSM vhserverWants=network-online.targetAfter=network-online.target[Service]Type=forkingUser=vhserverWorkingDirectory=/home/vhserverRemainAfterExit=yesExecStart=/home/vhserver/vhserver startExecStop=/home/vhserver/vhserver stopTimeoutStopSec=180Restart=no[Install]WantedBy=multi-user.target

Restart=no შეგნებულია: ჩავარდნიდან აღდგენა monitor-ს რჩება, და არ გინდა, ორი ზედამხედველი ერთ პროცესს ეჯიბრებოდეს. ამ unit-ის ჩართვის შემდეგ @reboot cron ხაზი ამოიღე. თუ LinuxGSM-ის გამოტოვება და systemd-ისთვის სერვერის უშუალოდ მიბარება გირჩევნია, Valheim-ის გაშვება systemd სერვისად ამ unit-ს ნულიდან აგებს.

Backup-ები და შეტყობინებები#

./vhserver backup შეკუმშულ არქივს ~/lgsm/backup/-ში წერს. ის LinuxGSM-ის დირექტორიას არქივირებს, რაც ნაგულისხმევ ინსტალაციაში vhserver-ის home დირექტორიაა, თავად backup საქაღალდის გარდა - ამიტომ ~/.config/unity3d/IronGate/Valheim-ის ქვეშ სამყაროს ფაილებიც შედის. ეს შენს ინსტალაციაზე გადაამოწმე, სანამ მასზე დაეყრდნობი:

bash
$ ./vhserver backup$ ls -lh ~/lgsm/backup/$ tar -tzf ~/lgsm/backup/vhserver-*.tar.gz | grep -E 'worlds_local/.*\.(db|fwl)$'

თუ ბოლო ბრძანება შენი სამყაროს ფაილებს ბეჭდავს, backup-ს ის აქვს, რაც მნიშვნელოვანია. თუ არაფერს ბეჭდავს, შენი save-ები დაარქივებული ხის გარეთაა - ჩვეულებრივ -savedir-ის გამო - და ცალკე ასლი გჭირდება.

ქცევა vhserver.cfg-ში გადასაფარ ცვლადებზეა დამოკიდებული. სახელები და ნაგულისხმევი მნიშვნელობები _default.cfg-ში შეამოწმე; მნიშვნელოვანია შესანახი არქივების მაქსიმალური რაოდენობა (maxbackups), მაქსიმალური ასაკი დღეებში (maxbackupdays) და არის თუ არა სერვერი არქივირებისას გასაჩერებელი (stoponbackup). გაჩერება უფრო უსაფრთხოა - ახალ შენახვას აგარანტირებს და არც ერთი ფაილი არქივირებისას არ იწერება - ფასად დილის 5 საათზე ერთი წუთის გათიშვა, რასაც არავინ შეამჩნევს.

ორი გაფრთხილება. არქივი სერვერის 2 GB ფაილებსაც შეიცავს, ამიტომ ის იმ სამყაროზე ბევრად დიდია, რომელსაც იცავს; პატარა დისკზე რაოდენობა შეამცირე. და ~/lgsm/backup/ სერვერის იმავე დისკზეა, ამიტომ არქივები სხვაგანაც გადაიტანე. აღდგენას და დაზიანებული სამყაროს ნიშნებს Valheim სერვერის backup-ები და სამყაროს დაზიანება განიხილავს.

შეტყობინებები common.cfg-შია გამართული, რომ მომხმარებლის ქვეშ ყველა სერვერმა გაიზიაროს. Discord-ისთვის დააყენე discordalert="on" და არხის webhook ჩასვი discordwebhook-ში, შემდეგ გაუშვი ./vhserver test-alert. სხვა სერვისები იგივე <service>alert და მონაცემების ნიმუშს მისდევენ; _default.cfg ყველა მხარდაჭერილ სერვისსა და მათ ცვლადებს ჩამოთვლის. monitor-ის restart-ზე შეტყობინება პატარა სერვერისთვის ყველაზე სასარგებლო ერთადერთი შეტყობინებაა - განმეორებითი restart-ები მომაკვდავი სამყაროს ან გატეხილი მოდის პირველი ნიშანია.

მოდები LinuxGSM-ით#

LinuxGSM-ს mods-install ბრძანება აქვს, და ახალი ვერსიები Valheim-ის BepInEx პაკეტს თავის არჩევანში ჩამოთვლიან. ჩამოთვლილია თუ არა ის, რომელ BepInEx build-ს იღებს და როგორ აერთებს გამშვებ სკრიპტს, შენს LinuxGSM რელიზზეა დამოკიდებული, ამიტომ გაუშვი ./vhserver mods-install, წაიკითხე სია და მომდევნო გაშვების შემდეგ ლოგში BepInEx-ის საკუთარი გაშვების ხაზები შეამოწმე. თუ ისინი არ არის, სერვერი vanilla-ზე მუშაობს.

ცალკეულ მოდებს LinuxGSM არ მართავს. მათი .dll ფაილები ~/serverfiles/BepInEx/plugins-ში მიდის, მათი კონფიგურაციები კი პირველი გაშვების შემდეგ ~/serverfiles/BepInEx/config-ში ჩნდება. BepInEx-ის ხელით დაყენება, რომელიც LinuxGSM-ის ქვეშაც მუშაობს, Valheim-ის მოდები BepInEx-ით სერვერზე-შია. იქიდან სამი წესი LinuxGSM-ის ავტომატიზაციის გამო უფრო მნიშვნელოვანია: ავტომატური update cron სამუშაო გამორთე, validate უდარდელად არასდროს გაუშვა და ყოველი განახლების წინ მომუშავე BepInEx საქაღალდის ასლი შეინახე, რომ ერთ წუთში დაბრუნდე.

LinuxGSM თუ უბრალო სკრიპტი: კომპრომისები#

LinuxGSM კარგია. ის ასევე ბევრი shell-ია შენსა და ერთ Unity პროცესს შორის. რომელია უკეთესი, იმაზეა დამოკიდებული, რის პატრონობა გინდა.

LinuxGSM vhserverუბრალო სკრიპტი systemd-ის ქვეშ
მოწყობის დრორამდენიმე წუთითხუთმეტიდან ოცდაათ წუთამდე
განახლებებიupdate build-ს ამოწმებს და მხოლოდ საჭიროებისას უშვებს თავიდანSteamCMD ხელით ან ყოველ გაშვებაზე
ჩავარდნიდან აღდგენაmonitor cron-იდან, ხუთ წუთამდე დაგვიანებითRestart=on-failure, წამებში
ლოგებიფაილები ~/log/-შიjournal ან შენი არჩეული ფაილი
შეტყობინებებიჩაშენებულიშენი სკრიპტი
კონსოლიმიმაგრებადი tmux სესიაარცერთი, რაც Valheim-ს ძლივს სჭირდება
მოძრავი ნაწილებიLinuxGSM, tmux, cronმხოლოდ systemd
რამდენიმე სერვერიbash linuxgsm.sh vhserver ხელახლა ქმნის vhserver-2-სშაბლონური unit

აირჩიე LinuxGSM, თუ განახლებების აღმოჩენა, შეტყობინებები და backup-ები გინდა მათი დაწერის გარეშე, ან თუ უკვე სხვა LinuxGSM სერვერებს უშვებ და ბრძანებების ერთი ნაკრები მოგწონს. აირჩიე უბრალო სკრიპტი, თუ ყველაზე ცოტა ფენა, ჩავარდნიდან უფრო სწრაფი აღდგენა, journal-ში ლოგები და ისეთი ინსტალაცია გინდა, სადაც ყოველი ხაზი შენ დაწერე. არც ერთი არ არის არასწორი; არასწორი მათი შერევაა - ერთი ზედამხედველი თითო სერვერზე.

სადაც არ უნდა მუშაობდეს, მანქანას ჯერ საფუძვლები სწორად უნდა ჰქონდეს: firewall, რომელიც მხოლოდ SSH-ს და ორ UDP პორტს უშვებს, მხოლოდ გასაღებით SSH და საკმარისი მეხსიერება. Valheim Linux VPS-ზე ზომასა და firewall-ს მოიცავს, Linux-ის ბრძანებები სერვერის ადმინისტრატორებისთვის კი კარგი გასახსენებელია, თუ shell-ში ახალი ხარ.

FAQ#

სად არის სამყაროები LinuxGSM-ის Valheim ინსტალაციაში?

vhserver მომხმარებლის Valheim-ის ნაგულისხმევ save დირექტორიაში: ~/.config/unity3d/IronGate/Valheim/worlds_local/, თითო სამყაროზე .db და .fwl წყვილით. LinuxGSM მათ არ გადააქვს, თუ გამშვებ პარამეტრებს -savedir არ დაუმატე.

რატომ გაქრა ჩემი კონფიგურაციის ცვლილება?

შენ _default.cfg შეცვალე, რომელსაც update-lgsm გადააწერს. ცვლილებები ამ სერვერისთვის vhserver.cfg-ში ან მომხმარებლის ქვეშ ყველა სერვერისთვის common.cfg-ში ჩაწერე. ორივე განახლებას გადაურჩება.

ინახავს თუ არა ./vhserver stop სამყაროს?

დიახ, სერვერს სუფთად აჩერებს, რათა Valheim სამყარო გასვლამდე ჩაწეროს. პირველად გაჩერების შემდეგ კონსოლის ლოგი შეამოწმე. tmux სესიის ან პროცესის პირდაპირ მოკვლა შენახვას გამოტოვებს.

როგორ გავუშვა ორი Valheim სერვერი LinuxGSM-ით?

იმავე home დირექტორიაში ხელახლა გაუშვი bash linuxgsm.sh vhserver; ის ქმნის vhserver-2-ს საკუთარი vhserver-2.cfg-ით. მიეცი სხვა პორტი, პირველზე მინიმუმ ორით მაღალი, სხვა სამყაროს სახელი და სხვა სერვერის სახელი.

უსაფრთხოა თუ არა LinuxGSM-ის ავტომატური განახლება მოდიფიცირებულ სერვერზე?

თავად LinuxGSM-ის განახლება update-lgsm-ით კარგია. თამაშის ავტომატური განახლება update-ით - არა, რადგან Valheim-ის patch BepInEx მოდებს ტეხავს, სანამ ისინი თავიდან არ აიგება. გამოიყენე check-update და განაახლე ხელით.