Barotrauma-ს გამოყოფილი სერვერი უფასო ჩამოსატვირთია (Steam app 1026340, ანონიმური შესვლა) Linux-ისა და Windows-ის build-ებით - DedicatedServer და DedicatedServer.exe. მისი პარამეტრები სერვერის საქაღალდეში serversettings.xml-შია; უფლებები Data/clientpermissions.xml-ში; ჩართული მოდები config_player.xml-ში. ნაგულისხმევად ის UDP 27015-ს უსმენს თამაშისთვის და UDP 27016-ს Steam query-სთვის. ის მსუბუქია - 1-2 GB მეხსიერება და ერთი ან ორი ბირთვი თექვსმეტკაციან სრულ ეკიპაჟს ატარებს - ამიტომ ის, მუშაობს თუ არა Barotrauma-ს სერვერი, კონფიგურაციაზეა დამოკიდებული: ვინ რა უფლებებს იღებს, რა მოდები აქვს ყველას და როგორ ინახება კამპანია.
როგორ მუშაობს Barotrauma-ს სერვერები#
Barotrauma რაუნდებზე დაფუძნებული თამაშია. ეკიპაჟი წყალქვეშა ნავში ადის, ასრულებს მისიას (ან კამპანიის მონაკვეთს), და რაუნდი lobby-ში მთავრდება. გამოყოფილი სერვერი lobby-ა, რომელიც ყოველთვის ხელმისაწვდომია, ჰოსტის როლის მატარებელი მოთამაშის გარეშე, რაც თამაშიდან ჰოსტინგთან შედარებით სამ რამეს ცვლის:
- არავის კომპიუტერი არ არის სერვერი. თამაშიდან ჰოსტინგი სერვერის პროცესს ჰოსტის კლიენტის გვერდით უშვებს, და ჰოსტის კავშირი ყველას ატარებს.
- lobby-ს ნაგულისხმევად მფლობელი არ ჰყავს. გამოყოფილ სერვერზე ვიღაცას უნდა მიეცეს უფლებები რაუნდების დასაწყებად, წყალქვეშა ნავების შესაცვლელად და მოთამაშეების გასაგდებად - თორემ სერვერი ან არაფერს აკეთებს, ან ავტომატური დაწყების პარამეტრებს იყენებს.
- კამპანიები სერვერზე ინახება. მრავალმოთამაშიან კამპანიას სერვერი ინახავს, ასე რომ ეკიპაჟს შეუძლია გააგრძელოს მათთან, ვინც გამოჩნდება.
თამაშის რეჟიმებია Sandbox, Mission (ერთჯერადი რაუნდები), Multiplayer Campaign (მუდმივი პროგრესი, ფული და წყალქვეშა ნავი, რომელსაც დროთა განმავლობაში აუმჯობესებ) და PvP. მოღალატეები, karma სისტემა და ხმის მიცემა წყალქვეშა ნავებსა და რეჟიმებზე სერვერის პარამეტრებია, და ისინი საზოგადოებას უფრო აყალიბებს, ვიდრე აპარატურის ნებისმიერი არჩევანი.
შენი სერვერის ტიპის არჩევა
პარამეტრზე შეხებამდე გადაწყვიტე, რისთვისაა სერვერი, რადგან სწორი მნიშვნელობები მეგობრების ეკიპაჟისა და საჯარო სერვერისთვის თითქმის საპირისპიროა.
კერძო კამპანიის ეკიპაჟს - ოთხიდან რვამდე ადამიანი, რომლებიც ერთმანეთს იცნობენ - სჭირდება პაროლი, კამპანიის რეჟიმი, გამორთული მოღალატეები, გამორთული ან ლმობიერი karma და ერთი-ორი ადამიანი სრული უფლებებით. რაუნდები იწყება, როცა ეკიპაჟი მზადაა. წყალქვეშა ნავი ერთად ირჩევა და კვირების განმავლობაში უმჯობესდება. სერვერს შეუძლია დღეობით იჯდეს lobby-ში ყველას გარეშე ისე, რომ არაფერი გაფუჭდეს, და კამპანია იქიდან გრძელდება, სადაც შეჩერდა.
საჯარო მისიის სერვერს საპირისპირო სჭირდება. რაუნდები თავისით უნდა იწყებოდეს, რადგან არავის იმედი არ შეიძლება გქონდეს, რომ Start-ს დააჭერს. ხმის მიცემა წყალქვეშა ნავებსა და რეჟიმზე უცნობებს ხმას აძლევს ძალაუფლების მიცემის გარეშე. karma ჩართული უნდა იყოს, რადგან შედუღებული კარები, დატბორილი რეაქტორები და friendly fire საჯარო Barotrauma-ს სერვერებზე ყოველდღიური griefing-ია, და karma მის უმეტესობას აგვარებს, სანამ მოდერატორი შეამჩნევს. მოღალატეები გემოვნების საქმეა: ისინი იმის ნაწილია, რაც Barotrauma-ს დასამახსოვრებელს ხდის, და ისინი ასევე ის პარამეტრია, რომელიც ახალ მოთამაშეებს ყველაზე სწრაფად აფრთხობს. ბევრი საჯარო სერვერი მოღალატეებს დასახელებული განრიგით ან ცალკე სერვერზე უშვებს, რომ მოთამაშეებმა იცოდნენ, რაში შედიან.
საჯარო კამპანია კარგად მართვისთვის ყველაზე რთულია. პროგრესი იმას ეკუთვნის, ვინც შემთხვევით ონლაინაა, ფული შეიძლება დახარჯონ ადამიანებმა, რომლებიც მეორე დღეს წავლენ, ხოლო ერთმა ცუდმა რაუნდმა შეიძლება ჩაძიროს წყალქვეშა ნავი, რომლის გაუმჯობესებაზეც მუდმივმა მოთამაშეებმა კვირები დახარჯეს. ის საუკეთესოდ მუშაობს whitelist-ის სტილის საზოგადოებით - Discord-ზე გაზიარებული პაროლით - და არა ღია ჩანაწერით.
არჩევანი სერვერის სახელში ჩასვი. "Campaign, no traitors, EU" მოთამაშეს ორ წამში ეუბნება, შემოვიდეს თუ არა, და გიზოგავს lobby-ს, სავსეს ხალხით, რომლებიც სხვა რამეს ელოდნენ.
მოთხოვნები და რესურსების მოხმარება#
Barotrauma-ს სერვერი ერთ-ერთი ყველაზე მსუბუქია, რასაც გაუშვებ. ხარჯი ფიზიკა, არსებებისა და NPC-ების AI და ქსელია; სამყარო თითო რაუნდზე ერთი დონეა, ყოველ ჯერზე ახლად დაგენერირებული.
| ეკიპაჟი | RAM | CPU | შენიშვნები |
|---|---|---|---|
| 2-6 მოთამაშე, vanilla | 1 GB | 1 ბირთვი | პატარა კერძო ეკიპაჟი |
| 8-16 მოთამაშე, vanilla | 1.5-2 GB | 1-2 ბირთვი | ტიპური საზოგადოების სერვერი |
| 16 მოთამაშე, დიდი მოდები | 2-4 GB | 2 ბირთვი | კონტენტის მოდები მეხსიერებას ამატებს |
- CPU: ერთი სწრაფი ბირთვი სიმულაციას ატარებს. დიდი წყალქვეშა ნავები ბევრი მოწყობილობითა და გაყვანილობით, და არსებებით სავსე დონეები ყველაზე ძვირი ჯდება.
- დისკი: სერვერი რამდენიმე გიგაბაიტს იკავებს; მოდები და წყალქვეშა ნავები ამას ემატება.
- ქსელი: ზომიერი, მაგრამ დაყოვნება გავლენას ახდენს, როგორ იგრძნობა ბრძოლა და შეკეთება. latency, jitter და პაკეტების დაკარგვა განიხილავს, რა გაზომო.
თექვსმეტი მოთამაშე ეკიპაჟის ჩვეულებრივი მაქსიმუმია. უფრო დიდი მნიშვნელობები მოდებსა და ზოგიერთ პარამეტრში არსებობს, მაგრამ თამაშის წყალქვეშა ნავები და მისიები ამ ზომამდე ეკიპაჟებზეა დაპროექტებული.
ინსტალაცია და პირველი გაშვება#
Linux-ზე:
$ steamcmd +force_install_dir /home/barotrauma/server +login anonymous +app_update 1026340 validate +quit$ cd /home/barotrauma/server$ ./DedicatedServerWindows-ზე გაუშვი DedicatedServer.exe. SteamCMD-ის ახსნა განიხილავს ინსტალაციის განახლებულად შენარჩუნებას, რასაც აქ მნიშვნელობა აქვს: Barotrauma-ს სერვერები კლიენტის ვერსიას ზუსტად უნდა ემთხვეოდეს.
პირველი გაშვება serversettings.xml-ს ნაგულისხმევი მნიშვნელობებით წერს და lobby-ს ხსნის. სუფთად გააჩერე (პანელის stop-ით, ან კონსოლის საკუთარი გასვლის ბრძანებით - help მას ჩამოთვლის), შეცვალე პარამეტრები და ხელახლა გაუშვი. სერვერი თავის პარამეტრებს თავიდან წერს, როცა ისინი თამაშიდან იცვლება, ამიტომ რედაქტირება გაჩერებულ სერვერზე გააკეთე.
serversettings.xml#
ფაილი ერთი serversettings ელემენტია, რომლის პარამეტრებიც ატრიბუტებია. იმ ნაწილების შემოკლებული მაგალითი, რომლებსაც შეცვლი:
<serversettings name="Europa Salvage Co." public="true" port="27015" queryport="27016" maxplayers="12" password="" enableupnp="false" autorestart="false" startwhenclientsready="false" allowspectating="true" karmaenabled="true" />რას აკეთებს მნიშვნელოვანი ატრიბუტები:
| ატრიბუტი | ნაგულისხმევი | რას აკეთებს |
|---|---|---|
name | ზოგადი | სახელი სერვერების სიაში |
public | - | სერვერის საჯარო სიაში ჩვენება |
port | 27015 | სათამაშო პორტი, UDP |
queryport | 27016 | Steam query პორტი, UDP |
maxplayers | - | მოთამაშეების სლოტები |
password | ცარიელი | მიერთების პაროლი |
enableupnp | - | როუტერის პორტების მიბმა; ჰოსტინგზე გამორთული |
autorestart | false | რაუნდების ავტომატური დაწყება ტაიმერით |
startwhenclientsready | false | დაწყება, როცა საკმარისი მოთამაშე მზადაა |
allowspectating | - | გვიან შემოსულებს დაკვირვების უფლება |
karmaenabled | - | karma სისტემა griefing-ის წინააღმდეგ |
ფაილი ბევრ სხვა ატრიბუტსაც შეიცავს - მოღალატეების პარამეტრები, ხმის მიცემის წესები, წყალქვეშა ნავის არჩევის რეჟიმი, დაშვებული და აკრძალული ნივთები, ხელახლა გაჩენის ქცევა და სხვა - და ნაკრები განახლებებთან ერთად იზრდება. მათი უმეტესობის შეცვლა უფრო ადვილია თამაშში, სერვერის პარამეტრების ეკრანზე, შესაბამისი უფლებების მქონე მოთამაშის მიერ; შემდეგ სერვერი მათ ფაილში წერს. ფაილი პირდაპირ შეცვალე ქსელის პარამეტრებისთვის და ყველაფრისთვის, რისი დაფიქსირებაც პირველი მოთამაშის შემოსვლამდე გინდა.
პორტები და მიერთება#
| პორტი | პროტოკოლი | დანიშნულება |
|---|---|---|
27015 | UDP | სათამაშო ტრაფიკი (port) |
27016 | UDP | Steam query - სერვერების სია (queryport) |
ორივე უნდა იყოს ღია და ორივე UDP-ია. თუ შენი ჰოსტი სხვა ნომრებს გაძლევს, დააყენე port და queryport შესაბამისად. სათამაშო სერვერის პორტების ახსნა განიხილავს, რატომ შეიძლება სერვერი სიაში იყოს, მაგრამ მიერთებებს უარყოფდეს, ან პირიქით.
მოთამაშეები საჯარო სერვერს თამაშის სერვერების სიაში პოულობენ. კერძო სერვერთან მიერთება შეიძლება მისამართითა და პორტით, პირდაპირი მიერთების ოფციით. თუ სია სერვერს აჩვენებს, მაგრამ მიერთებას დრო ეწურება, პრობლემა სათამაშო პორტია; თუ პირდაპირი მიერთება მუშაობს, მაგრამ სერვერი სიაში არ ჩანს, პრობლემა query პორტია.
უფლებები, რანგები და კონსოლის ბრძანებები#
Barotrauma-ს ნამდვილი უფლებების სისტემა აქვს, რაც კარგია, რადგან გამოყოფილ სერვერს, რომელზეც უფლებები არავისთვის მიუციათ, არავინ ჰყავს, ვინც მას მართავს.
უფლებები თითოეულ კლიენტს ცალკე ეძლევა და Data/clientpermissions.xml-ში ინახება. რანგების preset-ები - როგორიცაა Moderator და Admin - უფლებებს აჯგუფებს და Data/permissionpresets.xml-ში ცხოვრობს. ცალკეული უფლებები მოიცავს რაუნდების მართვას, წყალქვეშა ნავებისა და რეჟიმების არჩევას, გაგდებას, დაბანვას, პარამეტრების მართვას და კონსოლის ბრძანებების გამოყენებას, ხოლო კონსოლის ბრძანებების უფლება შეიძლება კონკრეტული ბრძანებების სიით შეიზღუდოს.
პირველი ადმინის დაყენების უმარტივესი გზა სერვერის კონსოლიდანაა:
giverank PlayerName adminამის შემდეგ ადმინებს შეუძლიათ სხვების მართვა თამაშში მოთამაშეების სიიდან: დააწკაპუნე მარჯვენა ღილაკით მოთამაშეზე, მიეცი რანგი ან ცალკეული უფლებები, და სერვერი მათ შეინახავს.
ბრძანებები, რომლებიც სერვერის კონსოლში იწერება (ან თამაშში მოთამაშის მიერ, რომელსაც კონსოლის უფლებები აქვს):
| ბრძანება | ეფექტი |
|---|---|
help | ბრძანებების სია, ან ერთის დეტალები |
giverank <client> <rank> | კლიენტს რანგის preset-ს აძლევს |
giveperm <client> <permission> | ერთ უფლებას აძლევს |
revokeperm <client> <permission> | ერთ უფლებას ართმევს |
showperm <client> | კლიენტის უფლებებს აჩვენებს |
kick <client> | მოთამაშის გაგდება |
ban <client> | მოთამაშის დაბანვა |
ბრძანებების ნაკრები დიდია და ვერსიებს შორის იცვლება; help შენი build-ის ცნობარია. ბანები სერვერის მონაცემებში ინახება, ასე რომ გადატვირთვებს უძლებს.
საჯარო სერვერისთვის უფლებებზე ფენებად იფიქრე: ყველას შეუძლია ხმის მიცემა, სანდო მუდმივ მოთამაშეებს შეუძლიათ რაუნდების დაწყება და წყალქვეშა ნავების არჩევა, მოდერატორებს შეუძლიათ გაგდება, და ძალიან ცოტას შეუძლია დაბანვა ან პარამეტრების შეცვლა. სერვერის წესები, მოდერაცია და პერსონალი ამ სტრუქტურაზე მეტს გეტყვის, ხოლო karma სისტემა გავრცელებულ griefing-ს - კარების შედუღებას, ეკიპაჟზე სროლას - ადმინის გარეშე აგვარებს.
მოდები და content package-ები#
Barotrauma-ს მოდები content package-ებია: საქაღალდეები filelist.xml-ით, რომელიც აღწერს, რას შეიცავს ისინი. გამოყოფილ სერვერზე:
- ჩამოტვირთე მოდი - კლიენტზე გამოიწერე Steam Workshop-ში და დააკოპირე ჩამოტვირთული საქაღალდე, ან აიღე ავტორისგან.
- ჩადე საქაღალდე სერვერის
LocalModsდირექტორიაში. - ჩართე ის
config_player.xml-ში, სადაც სერვერი ჩართული package-ების სიას ინახავს. - გაუშვი სერვერი და ლოგში კონტენტის შეცდომებს თვალი ადევნე.
ჩართული სია ასე გამოიყურება:
<contentpackages> <corepackage path="Content/ContentPackages/Vanilla.xml" /> <regularpackages> <package path="LocalMods/ExampleMod/filelist.xml" /> </regularpackages></contentpackages>საქაღალდის სახელი მხოლოდ ნიმუშია; გამოიყენე მოდის საკუთარი საქაღალდე. რიგს მნიშვნელობა აქვს - სიაში გვიანდელი package-ები ადრინდელებს გადაფარავს, როცა ერთსა და იმავეს ცვლის - ამიტომ დიდი overhaul-ები პირველი დასვი, პატარა patch-ები კი მათ შემდეგ.
როცა მოთამაშეები შემოდიან, თამაში მათ კონტენტს სერვერისას ადარებს და სთავაზობს ჩამოტვირთოს ის, რაც აკლია, Workshop-იდან ან პირდაპირ სერვერიდან. ეს Barotrauma-ს მოდიფიცირებული მრავალმოთამაშიანი თამაშისთვის ერთ-ერთ ყველაზე მარტივ თამაშად აქცევს, მაგრამ მაინც ნიშნავს ჩამოტვირთვას ახალ მოთამაშესა და მის პირველ რაუნდს შორის. საჯარო სერვერებზე სია მსუბუქი შეინარჩუნე.
წესები, რომლებიც მოდიფიცირებულ სერვერს გადაარჩენს:
- მოდები თამაშთან ერთად განაახლე. თამაშის განახლებამ შეიძლება გატეხოს მოდები, რომლებიც ძირითად კონტენტს ცვლის. მოდიფიცირებული სერვერი patch-ის გამოსვლის წუთს ნუ განაახლებ.
- კამპანიის შუაში მოდი არ წაშალო. კამპანიის save, რომელიც მოდიფიცირებულ წყალქვეშა ნავს ან ნივთებს მიმართავს, მის გარეშე შეიძლება ვერ ჩაიტვირთოს.
- საკუთარი წყალქვეშა ნავები ასევე მოდებია, ან
.subფაილები წყალქვეშა ნავების საქაღალდეში; ყველას ერთი და იგივე ფაილი სჭირდება, რომ ეს ნავი ასარჩევი იყოს.
რა ქნა, როცა მოდის განახლება რამეს ტეხავს ზოგად რუტინას აღწერს სერვერისთვის, რომელიც განახლების შემდეგ არ ეშვება.
კამპანიის save-ები და backup-ები#
მრავალმოთამაშიანი კამპანია ის არის, რისი დაცვაც Barotrauma-ს სერვერზე ღირს. სერვერი კამპანიის პროგრესს - ფულს, რეპუტაციას, წყალქვეშა ნავსა და მის გაუმჯობესებებს, ეკიპაჟს - save ფაილში ინახავს თამაშის მრავალმოთამაშიანი save-ების საქაღალდეში, მომხმარებლის მონაცემების დირექტორიის ქვეშ, რაუნდებს შორის და კამპანიის დასრულებისას. ავარიით დასრულებული რაუნდი ჩვეულებრივ მხოლოდ ამ რაუნდის პროგრესი ჯდება და არა კამპანიისა.
- გააკეთე კამპანიის save-ების საქაღალდის backup განრიგით და ყოველ განახლებამდე. განახლებები ზოგჯერ save-ების დამუშავებას ცვლის, ხოლო კამპანია, რომელიც არ იტვირთება, დაკარგული კამპანიაა.
- გააკეთე `serversettings.xml`-ის, `config_player.xml`-ისა და უფლებების ფაილების backup-იც. მათითა და მოდების სიით ახალი ინსტალაცია ისევ შენი სერვერი ხდება.
- შეინახე ასლები მანქანის გარეთ. backup-ები, რომლებიც მართლა აღდგება ხსნის, რატომ არ ითვლება ორიგინალის გვერდით მდებარე ასლები.
რამდენიმე კამპანიას შეუძლია ერთმანეთის გვერდით არსებობა, და lobby უფლებამოსილ მოთამაშეს საშუალებას აძლევს აირჩიოს, რომელი ჩატვირთოს. მკაფიოდ დაარქვი სახელები; "Campaign 3" ექვსი კვირის შემდეგ არაფერს ნიშნავს.
RE:NODE-ზე ყოველ სათამაშო სერვერს აქვს SFTP და ფაილების რედაქტორი XML ფაილებისთვის, მანქანის გარეთ შენახული და ღილაკით აღდგენადი backup-ის სლოტები, და Schedules ჩანართი, რომელსაც შეუძლია backup-ისა და გადატვირთვის ჯაჭვად შეკვრა. Barotrauma კატალოგში არ არის, ამიტომ ეს პანელს აღწერს და არა Barotrauma-ს გეგმას.
პრობლემების მოგვარება#
მოთამაშეები lobby-ში ელოდებიან და არაფერი ხდება. არავის აქვს რაუნდის დაწყების უფლება. მიეცი ვინმეს რანგი, ან ჩართე autorestart ან startwhenclientsready.
სერვერი სიაში არ ჩანს. public არის false, ან query პორტი დახურულია. სცადე პირდაპირი მიერთება, რომ სიაში ჩვენების პრობლემა ქსელის პრობლემისგან გამოარჩიო.
მოთამაშეებს ვერსიის ან კონტენტის შეუსაბამობით უარს ეუბნება. თამაში განახლდა და სერვერი არა, ან რომელიმე მოდი განსხვავდება. განაახლე SteamCMD-ით და შეამოწმე ჩართული package-ების სია.
მოდის დამატების შემდეგ სერვერი გაშვებისას ვარდება. მოდი გატეხილია ან ამ ვერსიასთან შეუთავსებელია. წაშალე მისი ხაზი config_player.xml-იდან და ხელახლა გაუშვი.
ფაილში შეცვლილი პარამეტრები იკარგება. რედაქტირება სერვერის მუშაობისას გააკეთე და მან საკუთარი ასლი შეინახა. გააჩერე, შეცვალე, გაუშვი.
რაუნდები დიდ წყალქვეშა ნავზე lag-ობს. ზედმეტად ბევრი მოწყობილობა და მავთული, ან არსებებით სავსე დონე, ერთ ბირთვზე. პატარა ნავი ან ნაკლები მძიმე მოდი უფრო ეხმარება, ვიდრე მეხსიერება. CPU თუ RAM სათამაშო სერვერებისთვის ხსნის, რატომ.
FAQ#
რამდენ მოთამაშეს იტევს Barotrauma-ს სერვერი?
თექვსმეტი ეკიპაჟის ჩვეულებრივი მაქსიმუმია, და წყალქვეშა ნავები და მისიები ამ ზომამდე ეკიპაჟებზეა დაპროექტებული. საზოგადოების სერვერების უმეტესობა 8-16-ით მუშაობს.
სჭირდებათ მოთამაშეებს მოდების ხელით ჩამოტვირთვა?
არა. როცა მოთამაშე შემოდის, თამაში სთავაზობს დაკლებული კონტენტის ჩამოტვირთვას Workshop-იდან ან სერვერიდან. თამაშამდე მაინც უნდა დაელოდონ ჩამოტვირთვის დასრულებას.
როგორ გავხდე ადმინი გამოყოფილ სერვერზე?
სერვერის კონსოლიდან მიეცი შენს მოთამაშეს ადმინის რანგი giverank-ით. ამის შემდეგ ყველა დანარჩენის მართვა თამაშის მოთამაშეების სიიდან შეგიძლია.
სად ინახავს სერვერი კამპანიის პროგრესს?
სერვერზე, მრავალმოთამაშიანი save-ების საქაღალდეში, თამაშის მომხმარებლის მონაცემების დირექტორიის ქვეშ. გააკეთე ამ საქაღალდის backup და არა მხოლოდ სერვერის ინსტალაციის.
სჭირდება Barotrauma-ს სერვერს Steam ანგარიში?
არა. ის SteamCMD-ით ანონიმურად ჩამოიტვირთება. თამაში მოთამაშეებს სჭირდებათ.




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