BeamMP-ზე mod-ების დამატება ერთი საქაღალდე და ერთი ხაზია. ყველა vehicle ან map mod ხვდება Resources/Client-ში ორიგინალი .zip-ის სახით, გაუხსნელად, და სერვერი მას თითოეულ მოთამაშეს უგზავნის შეერთებისას. custom რუკას დამატებით სჭირდება Map გასაღები ServerConfig.toml-ში, რომელიც უნდა მიუთითებდეს ამ რუკის info.json-ზე და იწერებოდეს ასე: /levels/<folder>/info.json, სადაც <folder> არის საქაღალდის სახელი zip-ის შიგნით და არა ჩამოტვირთვის გვერდზე მითითებული სახელი. გადატვირთე და მზადაა.
რაზეც არავინ გაფრთხილებს, ისაა, რამდენი ჯდება ეს. Resources/Client-ში ყოველ ბაიტს ჩამოტვირთავს ყველა მოთამაშე, ვისაც ის ჯერ არ აქვს, შენი სერვერის upstream-ით, სანამ ისინი მანქანას მართავდნენ. 3 GB-იანი პაკეტი კარგი კავშირის მქონე პირველად შემსვლელს ხუთი წუთით ამყოფებს მოლოდინში, ცუდი კავშირის მქონეს კი სამუდამოდ კარგავს. ეს სახელმძღვანელო იმას ეხება, როგორ გააკეთო მარტივი ნაწილი სწორად და როგორ მართო ძვირი ნაწილი: zip-ების წესები, რუკის ბილიკი, როგორ გადადის პაკეტის ზომა შეერთების დროსა და ტრაფიკში, როგორ შეინარჩუნო პაკეტი თანმიმდევრული განახლებების დროს და როგორ იპოვო და ამოიღო mod, რომელმაც ყველაფერი გააფუჭა.
თუ სერვერი ჯერ არ მუშაობს, დაიწყე BeamMP სერვერის სახელმძღვანელოთი, სადაც აღწერილია auth key, ServerConfig.toml-ის დანარჩენი ნაწილი, პორტები და Lua-ს საფუძვლები.
როგორ ავრცელებს BeamMP mod-ებს#
BeamMP-ს არ აქვს workshop-ის ინტეგრაცია და სერვერზე არ არის mod-ების მენეჯერი. მოდელი განზრახ მარტივია: სერვერს აქვს zip-ების საქაღალდე, და კლიენტმა, რომელიც უერთდება, ზუსტად ეს zip-ები უნდა ჩატვირთოს.
შეერთებისას სერვერი კლიენტს ეუბნება, რომელ ფაილებს გასცემს. launcher ამ სიას ადარებს იმას, რაც უკვე აქვს, და ჩამოტვირთავს ყველაფერს, რაც აკლია ან განსხვავდება, 30814 პორტის TCP ნაწილით. როცა ყველა ფაილი მივა, მხოლოდ მაშინ ტვირთავს თამაში level-ს და შეჰყავს მოთამაშე. მოთამაშეს, რომელსაც იდენტური ასლი უკვე აქვს, არაფერი უწევს ჩამოტვირთვა. ამიტომ პირველი შეერთება ნელია, შემდგომი კი არა - და ამიტომვე ფაილის ცვლილება, თუნდაც მცირე, ყველა მოთამაშეს ისევ ნელ გზაზე აბრუნებს.
ამ დიზაინიდან ორი შედეგი გამომდინარეობს:
- ნაწილობრივი პაკეტი არ არსებობს. მოთამაშეს არ შეუძლია გამოტოვოს mod, რომელიც არ უნდა. თუ ის
Resources/Client-შია, ყველასთვის სავალდებულო ჩამოტვირთვაა. - სერვერის მხარე და კლიენტის მხარე ცალკე სამყაროებია.
Resources/Clientარის კონტენტი მოთამაშეებისთვის.Resources/Server-ში ინახება Lua plugin-ები, რომლებიც არავის იგზავნება.Resources/Server-ში ჩაგდებული mod zip არაფერს აკეთებს, ხოლოResources/Client-ში ჩაგდებული Lua plugin ყველა მოთამაშეს გაუგზავნება უსარგებლო ჩამოტვირთვად. სერვერის მხარეს განიხილავს BeamMP-ის Lua plugin-ების სახელმძღვანელო.
zip-ების წესები Resources/Client-ისთვის#
BeamNG.drive-ის mod-ები zip არქივებია, რომელთა ძირში თამაშის საკუთარი საქაღალდეების სტრუქტურაა. vehicle mod ასე გამოიყურება: vehicles/<model>/..., რუკა - levels/<mapname>/..., ზოგ mod-ს გვერდით ui/, art/ ან lua/ საქაღალდეებიც აქვს. BeamMP ამ არქივებს ისე აგზავნის, როგორც არის, ამიტომ წესები თამაშის წესებია, ერთი საკუთარის დამატებით.
| წესი | რატომ არის მნიშვნელოვანი |
|---|---|
დატოვე .zip შეფუთული | სერვერი არქივებს აგზავნის და არა საქაღალდეებს |
| სტრუქტურა zip-ის ძირში | vehicles/ ან levels/ უნდა იყოს ზედა დონეზე |
| zip zip-ის შიგნით არ შეიძლება | თამაში მის შიგნით არ ეძებს |
| თითო mod-ის ერთი ასლი | ორი ვერსია ერთსა და იმავე ბილიკებს ეჯიბრება |
| მარტივი ფაილის სახელები | ინტერვალები და უჩვეულო სიმბოლოები პრობლემას ქმნის |
პირველ წესს ყველა იმ ჰოსტზე არღვევენ, სადაც web ფაილ-მენეჯერია. ატვირთავ mod-ს, ხედავ არქივს, ჩვევით აჭერ "unpack"-ს და ახლა გაქვს საქაღალდე, რომელსაც სერვერი არ აგზავნის, და მოთამაშეები, რომლებსაც მანქანა არ უჩანს. თუ შემთხვევით რამე გახსენი, წაშალე საქაღალდე და zip თავიდან ატვირთე.
მეორე წესს არღვევენ ისინი, ვინც forum-ებიდან ჩამოტვირთავს. CoolCar_v2.zip ხანდახან შეიცავს საქაღალდეს CoolCar_v2/, რომელშიც ნამდვილი vehicles/ ერთი დონით ქვემოთაა, ან თავად CoolCar.zip-ს, რადგან ვიღაცამ zip დააზიპა. არც ერთი არ იტვირთება. ატვირთვამდე გახსენი არქივი: პირველი, რასაც შიგნით დაინახავ, უნდა იყოს vehicles, levels ან თამაშის სხვა ზედა დონის საქაღალდე. თუ არა, თავიდან შეფუთე ისე, რომ იყოს. Linux-ზე გამოსწორება ასე გამოიყურება:
$ mkdir fix && cd fix$ unzip ../CoolCar_v2.zip$ lsCoolCar_v2$ cd CoolCar_v2 && zip -r ../../coolcar.zip . && cd ../..$ unzip -l coolcar.zip | headბოლო ბრძანება აჩვენებს თავიდან შეფუთული არქივის შიგთავსს; ბილიკები, რომლებსაც ის დაბეჭდავს, vehicles/-ით უნდა იწყებოდეს.
vehicle mod-ებს სხვა არაფერი სჭირდება. როგორც კი zip Resources/Client-შია და სერვერი გადაიტვირთა, მანქანა vehicle selector-ში ჩნდება ყველასთვის, ვინც გადატვირთვის შემდეგ შემოვიდა. თუ გინდა, რომ ადამიანებს კონკრეტული მოდელის spawn-ი შეუზღუდო, ეს Lua-ს საქმეა, onVehicleSpawn-ში, და mod-ების საქაღალდით ამის გამოხატვა შეუძლებელია.
custom რუკები და Map-ის ბილიკი#
Map გასაღები არის ბილიკი თამაშის ვირტუალურ ფაილურ სისტემაში, რომელიც level-ის info.json-ზე მიუთითებს. სტანდარტული level-ისთვის ეს საბაზისო თამაშის საქაღალდის სახელია:
[General]Map = "/levels/west_coast_usa/info.json"modded რუკა ანალოგიურად მუშაობს. zip ხვდება Resources/Client-ში, ხოლო ბილიკი ასახელებს საქაღალდეს levels/-ის ქვეშ ამ zip-ის შიგნით. ნაბიჯები თანმიმდევრობით:
- ატვირთე რუკის zip
Resources/Client-ში. - გამოიტანე არქივის შიგთავსის სია და იპოვე ხაზი, რომელიც
levels/-ის ქვეშinfo.json-ით მთავრდება. - დააკოპირე ეს საქაღალდის სახელი ზუსტად, რეგისტრის ჩათვლით,
Map-ში. - გადატვირთე სერვერი და თავად შეუერთდი, სანამ ვინმეს ეტყვი.
$ unzip -l Resources/Client/some_map_v3.zip | grep info.json 812 2026-08-02 14:10 levels/somemap/info.jsonამ გამოსავლიდან მიიღებ Map = "/levels/somemap/info.json". შეამჩნიე, რა მცირე კავშირი აქვს საქაღალდის სახელს zip-ის სახელთან: some_map_v3.zip შეიცავს somemap-ს. ჩამოტვირთვის გვერდიდან გამოცნობა ზუსტად ის გზაა, საიდანაც იწყება პოსტების უმეტესობა ტექსტით "ჩემი რუკა არ იტვირთება".
სამი დეტალი ხშირად აბნევს ადამიანებს:
- საწყისი slash და `info.json` მნიშვნელობაში შედის.
levels/somemap,/levels/somemap/დაsomemap- სამივე არასწორია. აიღე ნაგულისხმევი ხაზის ფორმატი და შეცვალე მხოლოდ საქაღალდე. - რეგისტრს მნიშვნელობა აქვს. BeamMP სერვერები ჩვეულებრივ Linux-ზე მუშაობს, სადაც
SomeMapდაsomemapსხვადასხვა საქაღალდეებია. გამოიყენე ზუსტად ის, რასაც არქივი ამბობს. - სერვერზე მხოლოდ ერთი რუკაა. ყველა მოთამაშე იმ level-ზეა, რომელიც
Map-შია მითითებული. მისი შეცვლა ნიშნავს ფაილის რედაქტირებას და გადატვირთვას, რაც ყველას გამოაგდებს. სერვერები, რომლებიც რუკებს ცვლიან, ამას განრიგით და გადატვირთვით აკეთებენ, ან მეორე სერვერს უშვებენ.
ზოგი რუკა ცალკე კონტენტ-პაკეტზეა დამოკიდებული - საერთო assets-ზე, რომლებსაც ერთი ავტორის რამდენიმე რუკა იყენებს და რომლებიც საკუთარ zip-ად ქვეყნდება. რუკის გვერდზე ამას ჩვეულებრივ წერია. თუ რუკა იტვირთება ტექსტურების გარეშე, იისფერი ზედაპირებით ან შენობების გარეშე, dependency აკლია; ის რუკის გვერდით Resources/Client-ში უნდა დაიდოს.
როცა ბილიკი არასწორია, შედეგი ვერსიაზეა დამოკიდებული: ზოგი build ნაგულისხმევ level-ს უბრუნდება, ზოგი კლიენტებს loading screen-ზე ტოვებს. ორივე შემთხვევაში გამოსწორება ერთია: კვლავ გამოიტანე zip-ის სია და შეადარე სიმბოლოები სიმბოლოზე. როცა რუკა მოთამაშეების თამაშის ვერსიისთვის ძალიან ახალია ან ძალიან ძველი, ის ჩვეულებრივ ნაწილობრივ იტვირთება ან შეცდომებს ჩაწერს თამაშის საკუთარ log-ში; ეს ვერსიის პრობლემაა და არა ბილიკის, და zip-ის განზე გადატანა ამას ადასტურებს.
mod-ების ზომა, შეერთების დრო და რას იტანენ მოთამაშეები#
შეერთების დრო არითმეტიკაა. პირველი ჩამოტვირთვა არის Resources/Client-ში ყველაფრის ზომა, გაყოფილი ორი რიცხვიდან უფრო ნელზე: რისი გადაცემა შეუძლია შენს სერვერს ამ მოთამაშისთვის და რისი მიღება შეუძლია მის კავშირს. ერთსა და იმავე მომენტში შემოსული მოთამაშეები სერვერის upstream-ს შორის ინაწილებენ.
| პაკეტის ზომა | 50 Mbit/s-ზე | 10 Mbit/s-ზე |
|---|---|---|
| 300 MB | დაახლოებით 50 წამი | დაახლოებით 4 წუთი |
| 1 GB | დაახლოებით 3 წუთი | დაახლოებით 14 წუთი |
| 3 GB | დაახლოებით 8 წუთი | დაახლოებით 40 წუთი |
ეს იდეალური მაჩვენებლებია ერთი მოთამაშისთვის, რომელსაც ხაზი მარტო აქვს; რეალური ჩამოტვირთვები უფრო ნელია. ეს რიცხვები კონკრეტულს ხდის კომპრომისს. 300 MB-იანი პაკეტი შეუმჩნეველია. 1 GB-იანი პაკეტი კარგია მუდმივი ჯგუფისთვის, რომელიც მას ერთხელ ჩამოტვირთავს. საჯარო სერვერზე 3 GB-იანი პაკეტი ნიშნავს, რომ უმეტესობა, ვინც სერვერების სიაში შენს სახელს დააწკაპუნებს, დასრულებამდე წავა, ზოგი მოგვიანებით კვლავ სცდის და თავიდან იწყებს.
პაკეტს დიდად ხშირად ის არ ხდის, რასაც სერვერის მფლობელები ელიან. ერთი დეტალური vehicle mod ხშირად ათეულობიდან რამდენიმე ასეულ მეგაბაიტამდეა, ხოლო რუკები მძიმე ელემენტებია - დიდი custom რუკა მარტო გიგაბაიტზე მეტი შეიძლება იყოს. ზომები ავტორების მიხედვით ძალიან განსხვავდება, ამიტომ zip-ები თავად გაზომე და არა ცერის წესს ენდე:
$ du -h Resources/Client/*.zip | sort -h$ du -sh Resources/Clientგაუშვი ეს ყოველი ცვლილების წინ და შემდეგ. ზომის მიხედვით დალაგებული სია გეტყვის, სად არის სიმძიმე, და ძალიან ხშირად ეს ერთი რუკა და ორი უზარმაზარი მანქანების პაკეტია, რომლებიც ერთად ჯამის უმეტეს ნაწილს შეადგენს.
პრაქტიკული ლიმიტები, რომლებიც მუშაობს:
- საჯარო სერვერები: მთლიანი ზომა დაახლოებით 1 GB-ზე დაბლა შეინახე და ზომა მიუთითე სერვერის აღწერაში ან
Description-ის ტექსტში, რომ ადამიანებმა იცოდნენ, რაზე თანხმდებიან. - კერძო ჯგუფები: ზომას ნაკლები მნიშვნელობა აქვს, რადგან თითოეული ერთხელ ჩამოტვირთავს. უთხარი ადამიანებს, ღონისძიებამდე საღამოს შემოვიდნენ, რომ ჩამოტვირთვა წინასწარ დასრულდეს.
- event სერვერები: ერთი რუკა, event-ის მანქანები და სხვა არაფერი. რბოლას ორმოცი სათადარიგო მანქანა პაკეტში არ სჭირდება.
თუ გიჩნდება სურვილი, სერვერის მიმზიდველობისთვის "რამდენიმე პოპულარული მანქანა" დაამატო, ჯერ შეერთებების რიცხვებს დახედე. პატარა, სწრაფი სერვერი ივსება; დიდი, ნელი კი ხშირად გამოტოვებენ.
Bandwidth: ვინ იხდის ჩამოტვირთვებს#
ყოველი mod-ის ჩამოტვირთვა სერვერის uplink-ით გადის. გაამრავლე პაკეტი პირველად შემსვლელთა რაოდენობაზე და რიცხვი სწრაფად დიდდება. საჯარო სერვერი 2 GB-იანი პაკეტით და კვირაში ორმოცდაათი ახალი მოთამაშით დაახლოებით 100 GB mod-ტრაფიკს აგზავნის, ჩვეულებრივი vehicle state-ის გარდა. გადატვირთვის შემდეგ, რომელიც ფაილს ცვლის, ყოველი მუდმივი მოთამაშე ისევ პირველად შემსვლელია.
ამას ემატება თამაშის შიდა ტრაფიკი, რომელიც მოთამაშეების რაოდენობას გამრავლებული მანქანების რაოდენობაზე იზრდება, რადგან ყოველი კლიენტი ყველა vehicle-ის განახლებებს იღებს. თამაშის სერვერის bandwidth თითო მოთამაშეზე გვაძლევს მის შეფასების მეთოდს; BeamMP-ისთვის სასარგებლო დასკვნა ისაა, რომ MaxCars გავლენას ახდენს როგორც კლიენტის წარმადობაზე, ისე ტრაფიკზე.
გარდა ჯამისა, პიკიც მნიშვნელოვანია. ათი ადამიანი, რომელიც გადატვირთვის შემდეგ ერთად შემოდის, პაკეტს ერთდროულად იღებს და upstream-ს ინაწილებს, ამიტომ თითოეული მათგანი მარტოსთან შედარებით უფრო ნელ ჩამოტვირთვას ხედავს. მოთამაშეებს timeout ემართებათ, თავიდან ცდილობენ და დატვირთვას ზრდიან. თუ დაგეგმილი გადატვირთვები გაქვს, დააყენე ისინი მშვიდ საათზე, და თუ პაკეტი უნდა შეცვალო, გააკეთე ერთხელ და არა ხუთ პატარა ნაბიჯად საღამოს განმავლობაში.
ჰოსტზე, რომელიც გიგაბაიტით არ ანგარიშობს, არაფერი დამატებით არ ჯდება, მაგრამ uplink მაინც საერთოა, და bandwidth და სამართლიანი გამოყენება განმარტავს, პრაქტიკაში რას ნიშნავს "unmetered". დისკის მხარეც მნიშვნელოვანია: RE:NODE-ზე BeamMP-ის გეგმები 10 GB NVMe-დან უმცირეს გეგმაზე 30 GB-მდე უდიდესზე მუშაობს, და პაკეტი თავისი backup-ებით უნდა ეტეოდეს.
mod-ების პაკეტის თანმიმდევრულობის შენარჩუნება#
BeamMP-ზე mod-ების პრობლემების უმეტესობა ვერსიების პრობლემაა: mod, რომელიც ავტორმა განაახლა, თამაშის patch, რომელმაც შეცვალა ის, რაზეც mod ეყრდნობოდა, ან ერთი mod-ის ორი ვერსია ერთდროულად პაკეტში. ცოტა დისციპლინა თითქმის ყველაფერს თავიდან გვაცილებს.
თითო mod-ის ერთი ასლი შეინახე. mod-ის განახლებისას წაშალე ძველი zip ახლის ატვირთვამდე. ორი არქივი, რომელიც ორივე შეიცავს vehicles/coolcar/-ს, ერთმანეთს იმ თანმიმდევრობით გადააწერს, რომელსაც ვერ აკონტროლებ, და შედეგი მანქანაა, რომელსაც ხან ახალი ნაწილები აქვს, ხან - არა. ეს იგივე პრობლემაა, რომელსაც mod-ების ჩატვირთვის თანმიმდევრობა სხვა თამაშებისთვის აღწერს, იმ განსხვავებით, რომ BeamNG ჩატვირთვის თანმიმდევრობას არ გაძლევს - უბრალოდ დუბლიკატები არ უნდა გქონდეს.
ფაილებს ვერსიებით დაარქვი სახელი. coolcar_v2.1.zip და არა coolcar.zip. როცა რამე გაფუჭდება, ერთი შეხედვით დაინახავ, რა შეიცვალა გასული კვირის შემდეგ.
შეინახე manifest. უბრალო ტექსტური ფაილი სერვერის გვერდით ან შენს Discord-ში, რომელშიც თითოეული zip, მისი ვერსია, ზომა და წყაროა ჩამოთვლილი. სწორედ მას მოეჭიდები, როცა თამაშის განახლება გამოვა და უნდა გადაწყვიტო, რომელი mod-ები შეამოწმო პირველად.
somemap_v3.zip 1.4 GB map, requires somemap_assetssomemap_assets.zip 310 MB dependency of somemapcoolcar_v2.1.zip 180 MB vehiclepickup_pack_v1.0.zip 95 MB vehicleმოთამაშეების ლოკალურ mod-ებს ყურადღება მიაქციე. მოთამაშეს, რომელსაც mod-ის საკუთარი ასლი აქვს თავის ჩვეულებრივ BeamNG mods საქაღალდეში, შენგან განსხვავებული ვერსიით, უცნაური ქცევა შეიძლება შეემთხვეს. BeamMP თავის ჩამოტვირთულ ფაილებს მოთამაშის საკუთარი mod-ებისგან ცალკე ინახავს, მაგრამ ორივეს ურთიერთქმედება launcher-ის ვერსიებს შორის შეიცვალა. როცა ერთი მოთამაშე ისეთ პრობლემას აღწერს, რომელიც სხვას არ აქვს, სთხოვე, ლოკალური mod-ები გამორთოს და თავიდან შემოვიდეს, სანამ სერვერს შეეხები.
განაახლე შეგნებულად. BeamNG.drive-ის გამოშვების შემდეგ მოთამაშეები თამაშს ანახლებენ, BeamMP მისდევს, და ზოგი vehicle და map mod მუშაობას წყვეტს, სანამ ავტორები არ დაეწევიან. განახლებებს ნუ დაედევნები საღამოს, როცა ადამიანები მართვას ელიან. ჯერ გააკეთე Resources/Client-ისა და ServerConfig.toml-ის backup, განაახლე სერვერი, და შემდეგ mod-ები კონტროლირებადად დაამატე. რა უნდა გააკეთო, როცა mod-ის განახლება ტეხს აღწერს ზოგად რუტინას.
გატეხილი mod-ის პოვნა და ამოღება#
გატეხილი BeamMP mod თავს მოთამაშეების მხარეს ამჟღავნებს და არა სერვერის. სერვერი mod-ებს არ ტვირთავს, მხოლოდ აგზავნის, ამიტომ სერვერის კონსოლი ჩვეულებრივ სუფთაა, მოთამაშეები კი ხედავენ მანქანას, რომელიც არ spawn-დება, vehicle-ს ნაწილების გარეშე, Lua-ს შეცდომის ფანჯარას თამაშში, level-ს, რომელიც ვერასოდეს იტვირთება, ან desktop-ზე crash-ს.
უსწრაფესი დიაგნოსტიკა bisection-ია, და ის მუშაობს, რადგან დასაზიანებელი world state არ არსებობს:
- გააჩერე სერვერი და ყველაფერი
Resources/Client-იდან გადაიტანე მის გვერდით საქაღალდეში, მაგალითადResources/Disabled-ში. - გაუშვი სერვერი სტანდარტული რუკით და დარწმუნდი, რომ სუფთა შეერთება მუშაობს.
- mod-ების ნახევარი დააბრუნე, გადატვირთე, შეამოწმე.
- თუ პრობლემა ბრუნდება, დამნაშავე ამ ნახევარშია. თუ არა, მეორე ნახევარშია. გაიმეორე საეჭვო ნახევარზე.
ოცი mod-ის შემთხვევაში ეს დაახლოებით ხუთი გადატვირთვაა. თუ რუკა საეჭვოა, ის პირველ შესამოწმებელ ნახევარში დატოვე, და vehicle-ების შემოწმებისას Map სტანდარტულ level-ზე დააბრუნე, რომ რუკის პრობლემამ vehicle-ის პრობლემა არ დამალოს.
მოთამაშეები მეორე წყაროა. თამაში წერს log-ს, beamng.log-ს, user საქაღალდეში, და მის ბოლოსთან არსებული შეცდომა ჩვეულებრივ mod-ის საქაღალდეს ასახელებს. სთხოვე ერთ დაზარალებულ მოთამაშეს, გამოგიგზავნოს ის და არა იმის აღწერა, რაც დაინახა.
mod-ის სამუდამოდ ამოსაღებად:
- წაშალე zip
Resources/Client-იდან და არა უბრალოდ სახელი გადაარქვი - გადარქმეული.zipმაინც zip-ია და შეიძლება მაინც გაიგზავნოს. - თუ რუკა ამოიღე,
Mapდააბრუნე სტანდარტულ level-ზე ან სხვა რუკაზე, რომელიც ჯერ გაქვს. - გადატვირთე სერვერი.
- განაახლე manifest და უთხარი მოთამაშეებს, რომ არავინ აგრძელებდეს მანქანის შესახებ შეტყობინებას, რომელიც აღარ არსებობს.
ფაილების გვერდით საქაღალდეში, მაგალითად Resources/Disabled-ში, გადატანა mod-ის წაუშლელად გვერდზე გადადების უსაფრთხო გზაა; სერვერი მხოლოდ იმ საქაღალდეებს კითხულობს, რომლებიც წასაკითხადაა გამზადებული. გამორთული mod-ები შეცვლილი გაფართოებით Resources/Client-ში ნუ დატოვებ იმის იმედით, რომ ისინი ყველა ვერსიაზე იგნორირდება.
ჩანაცვლების დამატებამდე დაფიქრდი, საიდან მოვიდა. ყოველი zip, რომელსაც გასცემ, სხვა ადამიანების PC-ზე გაეშვება, და vehicle mod-ები Lua-ს შეიძლება შეიცავდეს. გამოიყენე mod-ები ავტორებისა და საიტებისგან, რომლებსაც სახელით დაასახელებ, და mod, რომელიც მხოლოდ ჩატში გამოგზავნილი ფაილის სახით გაჩნდა, ეჭვით მიიღე. მავნე plugin-ები და mod-ები და modded სერვერის სისუფთავე ამას სათანადოდ განიხილავს.
პაკეტების ატვირთვა და backup-ები#
მრავალგიგაბაიტიანი პაკეტის ბრაუზერით ატვირთვა მუშაობს, მაგრამ ბრაუზერის ატვირთვა, რომელიც 90%-ზე ჩერდება, დაკარგული დროა. რამდენიმე ასეულ მეგაბაიტზე მეტისთვის გამოიყენე SFTP: უმეტეს კლიენტში ის განაგრძობს გაწყვეტილ ატვირთვას და zip-ების მთელ ნაკრებს ერთბაშად ტვირთავ. SFTP და ფაილ-მენეჯერი აღწერს კავშირს; RE:NODE-ზე ყველა სერვერს საკუთარი SFTP credentials აქვს, ბრაუზერის ფაილ-მენეჯერი კი ServerConfig.toml-ის სწრაფი რედაქტირებისთვისაა.
რადგან სერვერი world state-ს არ ინახავს, BeamMP backup კონფიგურაციას ეხება, და მისი დავიწყება მარტივია, სანამ ცუდი განახლება მეხსიერებით თავიდან აგებას არ აგალებს. რის შენახვაა ღირს:
ServerConfig.toml, რომელშიც შენი რუკის არჩევანი და პარამეტრებია.Resources/Server, შენი Lua plugin-ები, რომელთა თავიდან ჩამოტვირთვა არ შეგიძლია.Resources/Client, mod-ების ზუსტი ვერსიები, რომლებიც ბოლოს ერთად მუშაობდა, ან სულ მცირე manifest, რომელიც მათ ჩამოთვლის.
დიდი პაკეტები სრულ backup-ებს მძიმეს ხდის, ამიტომ გონივრული გადანაწილებაა: კონფიგურაციისა და plugin-ების backup ყოველ ცვლილებამდე, და სრული backup Resources/Client-ის ჩათვლით, როცა პაკეტი ცნობილ კარგ მდგომარეობაშია. RE:NODE-ზე game გეგმებს აქვს backup სლოტები, რომლებიც შეგიძლია გაუშვა მოთხოვნით ან განრიგით და აღადგინო ღილაკით; ისინი მანქანის გარეთ ინახება, და პანელის backup-ების სახელმძღვანელო აღწერს მართვის ელემენტებს. Backup-ები, რომლებიც ნამდვილად აღდგება შეგახსენებს, რომ ერთ-ერთი გამოსცადო.
FAQ#
უნდა დააინსტალირონ თუ არა მოთამაშეებმა mod-ები თავად?
არა. ყველაფერს, რაც Resources/Client-შია, BeamMP launcher ავტომატურად ჩამოტვირთავს, როცა მოთამაშე შემოდის, და ტვირთავს ამ სესიისთვის. მოთამაშეებს მხოლოდ BeamNG.drive და BeamMP სჭირდებათ. მათთვის mod-ების ხელით დაყენების თხოვნა ჩვეულებრივ ვითარებას აუარესებს, რადგან მათი ხელით დაყენებული ასლი სხვა ვერსიის შეიძლება იყოს.
შემიძლია თუ არა ერთ BeamMP სერვერზე ორი რუკა ჰქონდეს?
რამდენიმე რუკის zip-ის ატვირთვა შეგიძლია, მაგრამ გამოიყენება მხოლოდ Map-ში დასახელებული და ყველა მასზეა ერთად. დანარჩენები მაინც იგზავნება ყველა მოთამაშესთან, ამიტომ გამოუყენებელი რუკები წმინდა ჩამოტვირთვის ხარჯია. დატოვე მხოლოდ რუკა, რომელსაც გაუშვებ, და გადართე Map-ის რედაქტირებითა და გადატვირთვით.
რატომ იტვირთება ჩემი custom რუკის ნაცვლად ნაგულისხმევი level?
Map ბილიკი არსებულ level-ს არ ემთხვევა. გამოიტანე zip-ის სია, იპოვე საქაღალდე levels/-ის ქვეშ, რომელშიც info.json დევს, და დაწერე ის როგორც /levels/<folder>/info.json იმავე რეგისტრით. შეამოწმე, რომ zip კვლავ შეფუთულია და პირდაპირ Resources/Client-შია.
მხარს უჭერს თუ არა BeamMP Steam Workshop-ს ან თამაშის შიდა repository-ს?
სერვერებისთვის არა. სერვერი გასცემს მხოლოდ zip-ებს საკუთარი Resources/Client საქაღალდიდან. BeamNG-ის repository-დან mod-ის გამოსაყენებლად ჩამოტვირთე zip თავად და ატვირთე, ვერსიის აღნიშვნით.
რატომ უწევთ დაბრუნებულ მოთამაშეებს ყველაფრის თავიდან ჩამოტვირთვა?
რადგან ფაილი შეიცვალა. launcher ჩამოტვირთავს ნებისმიერ ფაილს, რომელიც აკლია ან განსხვავდება მის ასლს. zip-ის ჩანაცვლება, თავიდან შეფუთვა ან განახლება ცვლილებად ითვლება, ამიტომ პაკეტის ცვლილებები ერთად შეაგროვე და არა სათითაოდ გააკეთე.
რამდენად დიდი შეიძლება იყოს BeamMP mod-ების პაკეტი?
დისკის გარდა ფიქსირებული ლიმიტი არ არსებობს, მაგრამ შეერთების დრო პრაქტიკულს ადგენს. დაახლოებით 1 GB-ის ქვემოთ კომფორტულია საჯარო სერვერისთვის; კერძო ჯგუფებს უფრო დიდი შეუძლიათ, რადგან თითოეული ერთხელ ჩამოტვირთავს. გაზომე du -sh Resources/Client-ით და მოთამაშეებს უთხარი ჯამური ზომა.


