RE:NODE

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

Soulmask-ის სერვერის აწყობა და save-ები

Soulmask-ის გამოყოფილი სერვერის გაშვება: ინსტალაცია, გაშვების პარამეტრები, პორტები 8777, 27015 და 18888, GameXishu.json, ადმინის წვდომა, world.db save და backup-ები.

0 მკითხველი

Soulmask-ის გამოყოფილი სერვერი ორ ადგილას კონფიგურირდება: გაშვების პარამეტრებში ყველაფრისთვის, რაც თავად სერვერს ეხება (-SteamServerName, -MaxPlayers, -PSW მიერთების პაროლისთვის, -adminpsw GM პაროლისთვის, -pve ან -pvp, სამი პორტი), და WS/Saved/GameplaySettings/GameXishu.json-ში თამაშის მამრავლებისთვის. მას სჭირდება UDP 8777 თამაშისთვის, UDP 27015 Steam query-სთვის და TCP 18888 მისი მომსახურების კონსოლისთვის. სამყარო ერთი მონაცემთა ბაზის ფაილია, WS/Saved/Worlds/Dedicated/Level01_Main/world.db. და ის მძიმეა: სამყაროს ჩატვირთვის შემდეგ 12 GB ან მეტი გამოყენებული მეხსიერება გელოდება, დატვირთულ სერვერზე კი მეტი - ეს ის თამაში არ არის, რომელიც პატარა გეგმაზე უნდა ჩატენო.

რა არის Soulmask-ის სერვერი#

Soulmask Unreal Engine 5-ის survival თამაშია NPC მიმდევრების ტომებით, და სერვერი სამყაროში ყოველ მიმდევარს, ცხოველსა და ნაგებობას ატარებს. ეს ხსნის მის მადას: ათმოთამაშიანი სერვერი, სადაც თითოეულ მოთამაშეს ათიოდე მუშის ტომი ჰყავს, ასზე მეტ პერსონაჟს სიმულირებს სამუშაოებით, მოთხოვნილებებით და pathfinding-ით, ველური ბუნების დაუთვლელად.

რას გაძლევს სერვერი თამაშის შიგნიდან ჰოსტინგთან შედარებით:

  • სამყარო ჰოსტის გარეშე არსებობს. მიმდევრები მუშაობას აგრძელებენ, crafting-ის რიგები სრულდება და სამყარო ინახება, სანამ ონლაინ არავინაა.
  • 50-მდე მოთამაშე, რასაც -MaxPlayers ადგენს; კერძო ჯგუფები ჩვეულებრივ გაცილებით ნაკლებით მუშაობენ.
  • PvE ან PvP, გაშვების flag-ით ფიქსირებული.
  • სერვერის მხარეს თამაშის მორგება GameXishu.json-ით, გაცილებით მეტი სახელურით, ვიდრე თამაშში ჰოსტის პარამეტრებს აქვს.
  • ადმინის (GM) ხელსაწყოები პაროლითა და კონსოლის ბრძანებებით.

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

კერძო ჯგუფი თუ საჯარო საზოგადოება

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

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

საჯარო სერვერი სხვა საქმეა. მას სჭირდება მკაფიო სახელი და აღწერა, რომლებიც ამბობს PvE-ს თუ PvP-ს, მამრავლებსა და wipe-ის პოლიტიკას, რადგან მოთამაშეები სერვერებს ბრაუზერში წამებში ირჩევენ. მას სჭირდება ტომის ზომის ლიმიტი - -GongHuiMaxMember - რომ ერთმა დიდმა ჯგუფმა რუკაზე არ იბატონოს, და წესები ბაზების განთავსებაზე რესურსების ადგილებისა და spawn წერტილების მახლობლად. მას სჭირდება wipe-ების გეგმა, წინასწარ გამოცხადებული, რადგან მრავალი თვე მომუშავე სამყაროში მიტოვებული ბაზები გროვდება, რომლებიც მეხსიერებასა და ადგილს ხარჯავს. და მას ერთზე მეტი მოდერატორი სჭირდება, GM პაროლის ფრთხილი მოპყრობით და მისი შეცვლით, როცა გუნდი იცვლება.

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

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

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

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

სერვერიRAMCPUშენიშვნები
2-6 მოთამაშე, პატარა ტომები12-14 GB3-4 ბირთვიმინიმალური პრაქტიკული ზომა
6-15 მოთამაშე14-16 GB4 ბირთვიმიმდევრები და ბაზები გროვდება
15-30 მოთამაშე16-24 GB4+ სწრაფი ბირთვიდიდი საჯარო სერვერი
30+ მოთამაშე, ბევრი ტომი24 GB+6+ ბირთვიდაგეგმე გაზომვით
  • CPU: NPC-ების სიმულაცია, pathfinding და ფიზიკა. ძველი survival თამაშებისგან განსხვავებით, მეტი ბირთვი ნამდვილად ეხმარება, მაგრამ სიხშირე მაინც ადგენს, რამდენად გლუვად იგრძნობა ბრძოლა.
  • დისკი: სერვერი დიდია - ინსტალაციისთვის დაგეგმე 30-40 GB, პლუს save-ები და backup-ები. სამყაროს მონაცემთა ბაზა ბაზების გავრცელებასთან ერთად იზრდება.
  • მიმდევრებს მოთამაშეებზე მეტი მნიშვნელობა აქვს. სერვერის ხარჯი იმას მიჰყვება, ტომის რამდენი წევრია აქტიური. ზოგი საზოგადოება ტომების ზომას ნაწილობრივ ამ მიზეზით ზღუდავს.

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

სერვერის ინსტალაცია და გაშვება#

Linux-ზე SteamCMD-ით (app 3017300 არის ის, რომელსაც Linux-ის ინსტალაციები იყენებს):

bash
$ steamcmd +force_install_dir /home/soulmask/server +login anonymous +app_update 3017300 validate +quit$ cd /home/soulmask/server$ ./StartServer.sh -SteamServerName='Tribes of the Hollow' -MaxPlayers=20 \    -PSW='long-join-password' -adminpsw='different-gm-password' -pve \    -Port=8777 -QueryPort=27015 -EchoPort=18888 -saving=600 -backup=900

StartServer.sh ნამდვილ ბინარულ ფაილს, WSServer.sh-ს, ერტყმის გარსად, რომელიც პირველ არგუმენტად რუკის სახელს იღებს (Level01_Main საბაზისო რუკისთვის), შემდეგ კი პარამეტრებს. Windows-ზე ეკვივალენტია StartServer.bat WSServer.exe-ის გარშემო. SteamCMD-ის ახსნა განიხილავს ინსტალაციის განახლებულად შენარჩუნებას.

პირველ გაშვებას დრო სჭირდება: სამყარო გენერირდება და world.db-ში იწერება. დაელოდე, სანამ ლოგი აჩვენებს, რომ სერვერი დარეგისტრირებულია და უსმენს, სანამ მიერთებას ეცდები, და იმავე მომენტში შეამოწმე მეხსიერების გრაფიკი - ის მაშინვე გეუბნება, საკმარისად დიდია თუ არა გეგმა.

გაშვების პარამეტრები#

პარამეტრინაგულისხმევირას აკეთებს
-SteamServerName-სახელი სერვერების ბრაუზერში
-MaxPlayers20მოთამაშეების სლოტები, 50-მდე
-PSWარ არისმიერთების პაროლი; ღია სერვერისთვის გამოტოვე
-adminpswარ არისGM (ადმინის) პაროლი
-pve / -pvp-სამყაროს თამაშის რეჟიმი
-Port8777სათამაშო პორტი, UDP
-QueryPort27015Steam query პორტი, UDP
-EchoPort18888მომსახურების კონსოლი, TCP
-saving600წამები სამყაროს შენახვებს შორის
-backup900წამები backup-ის ჩაწერებს შორის
-GongHuiMaxMember-ტომის (გილდიის) წევრების მაქსიმალური რაოდენობა
-mod-მძიმეებით გამოყოფილი მოდების ID-ები, build-ებზე, რომლებიც მოდებს უჭერს მხარს

რამდენიმე შენიშვნა მათი გამოყენების გამოცდილებიდან:

  • `-PSW` და `-adminpsw` უნდა განსხვავდებოდეს. თუ მიერთებისა და GM პაროლები ერთნაირია, ყოველ მოთამაშეს, ვისაც შემოსვლა შეუძლია, GM-ობაც შეუძლია.
  • `-pve` ან `-pvp` სამყაროს გადაწყვეტილებაა. მოგვიანებით გადართვა შესაძლებელია, მაგრამ PvE წესებით აშენებულ PvP სამყაროში ბაზებია, რომლებიც დასაცავად არავის დაუპროექტებია.
  • `-saving` და `-backup` ორივე წამებში მოცემული ინტერვალია. თამაში სამყაროს პერიოდულად წერს და backup ასლებს ინახავს; -saving-ის შემცირება ზღუდავს, რა დაჯდება ავარია, დიდ სამყაროზე ხანმოკლე შეფერხების ფასად. 600 წამი გონივრული ნაგულისხმევია; დატვირთულ სერვერზე 300.

GameXishu.json: თამაშის პარამეტრები#

თამაშის მორგება WS/Saved/GameplaySettings/GameXishu.json-ში ცხოვრობს. "Xishu" ჩინურად კოეფიციენტს ნიშნავს, და სწორედ ამას ინახავს ფაილი: მამრავლებს თამაშის თითქმის ყველა სისტემისთვის. ტიპური კატეგორიებია:

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

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

განახლებამდე ფაილის ასლი შეინახე. თუ განახლება ახალ გასაღებებს ამატებს, სერვერმა შეიძლება ახალი ფაილი ჩაწეროს, და მაშინ შენს ძველ მნიშვნელობებს მასში ხელით გადაიტან.

პორტები, მიერთება და echo კონსოლი#

პორტიპროტოკოლიდანიშნულება
8777UDPსათამაშო ტრაფიკი
27015UDPSteam query - სერვერების ბრაუზერი
18888TCPecho პორტი - მომსახურების კონსოლი

ორი UDP პორტი მოთამაშეებისთვის ღია უნდა იყოს. echo პორტი telnet-ის სტილის კონსოლია მომსახურებისთვის - ის იღებს ბრძანებებს, მაგალითად დროში გაწერილ გათიშვას (quit 180 მოთამაშეებს სამწუთიან გაფრთხილებას აძლევს). ეს მართვის ინტერფეისია, ამიტომ მხოლოდ შენთვის უნდა იყოს ხელმისაწვდომი: შეზღუდე ის firewall-ით და არა ინტერნეტისთვის გამოაჩინო. სათამაშო სერვერის პორტების ახსნა განიხილავს, რატომ არის query და სათამაშო პორტები ცალ-ცალკე, ხოლო RCON-ის უსაფრთხო გამოყენება echo კონსოლზეც თანაბრად ვრცელდება.

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

ადმინები (GM) და მოდერაცია#

Soulmask-ის ადმინის სისტემა პაროლია. მოთამაშე, რომელმაც -adminpsw-ის მნიშვნელობა იცის, ხსნის თამაშის კონსოლს და შეიყვანს GM-ის გასაღების ბრძანებას ამ პაროლით, რომ თავისი სესიისთვის GM ბრძანებები გახსნას. GM ბრძანებები მოიცავს მოდერაციას (kick, ban), ტელეპორტს, ნივთების შექმნას და სამყაროს ხელსაწყოებს; სრული სია გრძელია და განახლებებთან ერთად იზრდება, ხოლო ცნობარი თამაშის საკუთარი help-ის გამოტანაა შენს ვერსიაზე.

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

save-ები, backup-ები და სამყაროს გადატანა#

სამყარო ერთი მონაცემთა ბაზაა:

code
WS/Saved/Worlds/Dedicated/Level01_Main/world.db

ყველაფერი - რელიეფის ცვლილებები, შენობები, მიმდევრები, საცავები - ამ ფაილსა და მის მეზობლებში ცხოვრობს. გააკეთე მთელი Level01_Main საქაღალდის backup და არა მხოლოდ world.db-ის, რადგან მონაცემთა ბაზის ფაილებს ხშირად თან ახლავს write-ahead ფაილები, რომლებიც ბოლო ცვლილებებს ინახავს.

წესები:

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

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

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

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

რა ანელებს Soulmask-ის სერვერს, დაახლოებით რიგით:

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

გავრცელებული პრობლემები:

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

მოთამაშეები განახლების შემდეგ ვერ შემოდიან. სერვერი ძველ ვერსიაზეა. განაახლე SteamCMD-ით და გადატვირთე.

სერვერი GameXishu.json-ის რედაქტირების შემდეგ არ ეშვება. არავალიდური JSON. აღადგინე შენი ასლი ან შეამოწმე ფაილის ვალიდურობა.

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

ყველა GM გახდა. მიერთებისა და ადმინის პაროლები ერთნაირია. შეცვალე -adminpsw და გადატვირთე.

FAQ#

რამდენი RAM სჭირდება Soulmask-ის სერვერს?

უფრო მეტი, ვიდრე survival თამაშების უმეტესობას. დაგეგმე მინიმუმ 12 GB პატარა ჯგუფისთვისაც და 16 GB ან მეტი დატვირთული სერვერისთვის. ამაზე ნაკლებით ჩავარდნილ გაშვებებსა და ავარიებს ელოდე და არა მხოლოდ lag-ს.

შემიძლია Soulmask-ის სერვერი PvE-სა და PvP-ს შორის გადავრთო?

დიახ, გაშვების flag-ის შეცვლითა და გადატვირთვით. გააკეთე ეს დაგეგმილ მომენტში, რადგან PvP ცვლის, რამდენად დაუცველია ბაზები და მიმდევრები.

სად არის Soulmask-ის სერვერის save?

WS/Saved/Worlds/Dedicated/Level01_Main/-ში, world.db-ის და მისი თანმხლები ფაილების სახით. გააკეთე საქაღალდის backup და არა მხოლოდ ერთი ფაილის.

რისთვის არის echo პორტი?

მომუშავე სერვერისთვის მომსახურების ბრძანებებისთვის, მაგალითად გათიშვისთვის უკუთვლით. მოთამაშეებს ის არასოდეს სჭირდებათ, ამიტომ შეზღუდე შენს მისამართზე.

სჭირდებათ მოთამაშეებს მოდები მოდიფიცირებულ სერვერზე შემოსასვლელად?

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


კომენტარები

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

0/2000