Carbon არის Rust-ის მოდინგის framework-ი, რომელიც Oxide-ის plugin-ებს უშვებს. Oxide-ისთვის დაწერილი .cs plugin-ების უმეტესობა Carbon-ზე უცვლელად იტვირთება, უფლებების ბრძანებები იგივენაირად მუშაობს, საქაღალდეების სტრუქტურა კი თითქმის სარკისებური ასლია. განსხვავება სიღრმეშია: Oxide თამაშის საკუთარ assembly-ებს ასწორებს, Carbon კი გაშვებისას თავს ინექციით ამატებს და თამაშის ფაილებს ხელს არ ახლებს. პრაქტიკაში ეს ნიშნავს, რომ Carbon ყოველთვიური განახლების შემდეგ ჩვეულებრივ უფრო მალე ხდება გამოსაყენებელი, დამატებით ჩაშენებულ ფუნქციებს მოიცავს და Oxide-ის ათწლიანი, იშვიათ შემთხვევებთან თავსებადობის ნაწილს თმობს. გადასვლას დაახლოებით ნახევარი საათი სჭირდება: დააბრუნე ვანილა ფაილები SteamCMD-ით, დააყენე Carbon და გადაიტანე ოთხი საქაღალდე. სტატიის დანარჩენი ნაწილი დეტალებია - რა იცვლება, რა ფუჭდება და როგორ აირჩიო.
რით განსხვავდება ეს ორი framework-ი#
ორივე framework-ი ერთსა და იმავე საქმეს აკეთებს: იძახებს შენს plugin-ებს თამაშის შიგნით hook-ის წერტილებში, აძლევს მათ შედეგების შეცვლის საშუალებას და სთავაზობს უფლებების სისტემას, კონფიგურაციის ფაილებსა და მონაცემთა საცავს. ისინი განსხვავდება იმით, როგორ აღწევენ თამაშის შიგნით და რას მოიცავენ.
| Oxide (uMod) | Carbon | |
|---|---|---|
| როგორ იტვირთება | ასწორებს ფაილებს RustDedicated_Data/Managed-ში | გაშვებისას loader-ი ამატებს, თამაშის ფაილები ხელუხლებელია |
| plugin-ის ფორმატი | C# .cs, სერვერზე კომპილირებული | იგივე, პლუს Carbon-ის სპეციფიკური API-ები |
| plugin-ების საქაღალდე | oxide/plugins | carbon/plugins |
| ბრძანებები | oxide.*, მოკლე ფორმა o.* | c.* |
| ჩაშენებული დამატებები | მინიმალური: მხოლოდ framework-ი | არჩევითი მოდულები და profiler-ი |
| განახლების შემდეგ | უნდა დაელოდო Oxide-ის ახალ build-ს | ხშირად ნაკლები ნაბიჯი; build-ი მაინც შეამოწმე |
| კატალოგი | uMod ათასობით plugin-ს მასპინძლობს | იყენებს იმავე plugin-ებს uMod-იდან და სხვა ადგილებიდან |
Oxide ეტალონია. plugin-ების ავტორები მისთვის წერენ, მასზე ტესტავენ, uMod-ის საიტი კი კვლავ ყველაზე დიდი უფასო კატალოგია. Carbon თავს იმავე ეკოსისტემის უფრო სწრაფ, უფრო თანამედროვე მასპინძლად წარმოაჩენს. არცერთი მათგანი სხვა სათამაშო რეჟიმი არ არის და არ ცვლის იმას, რასაც მოთამაშეები ხედავენ; მოთამაშე ვერ გაიგებს, რომელ framework-ზე მუშაობს სერვერი, თუ ამას რომელიმე plugin არ ეტყვის.
თუ plugin-ებთან საერთოდ ახალი ხარ, ცნებებისთვის - hook-ები, კონფიგები, მონაცემები, უფლებები - დაიწყე სტატიით Oxide (uMod) plugin-ები Rust-ზე. იქ ყველაფერი Carbon-საც ეხება, შეცვლილი საქაღალდეების სახელებით.
რა გადადის და რა არა#
გულწრფელი შეჯამება: plugin-ები, რომლებსაც სავარაუდოდ გაუშვებ - ტელეპორტები, kit-ები, კლანები, remover-ის ინსტრუმენტები, ჩატის ფორმატირება, stack-ისა და gather-ის კონტროლერები, ადმინის ინსტრუმენტები - თითქმის ყოველთვის მუშაობს. ფუჭდება ის კოდი, რომელიც plugin API-ის მიღმა აღწევს.
- ჩვეულებრივი Oxide plugin-ები, რომლებიც დოკუმენტირებულ hook-ებსა და უფლებების, კონფიგის, მონაცემებისა და lang API-ებს იყენებენ: მუშაობს.
- plugin-ები, რომლებიც Oxide-ის შიდა ნაწილებს reflection-ით იკვლევენ ან Oxide-ის კლასების ზუსტ სტრუქტურას ეყრდნობიან: შეიძლება ჩავარდეს. კონსოლი ამას ჩატვირთვისას გეტყვის.
- Oxide-ის გაფართოებები - კომპილირებული
.dllფაილები, როგორიცააOxide.Ext.Something.dll, რომლებიცRustDedicated_Data/Managed-შია: Oxide-ის წესით არ იტვირთება. Carbon-ს გაფართოებების საკუთარი მექანიზმი აქვს და ზოგიერთ პოპულარულს თავიდან ახორციელებს. თითოეული ცალკე შეამოწმე, განსაკუთრებით ყველაფერი, რაზეც საკუთარი რუკაა დამოკიდებული. - plugin-ები საკუთარი Harmony patch-ებით: ჩვეულებრივ მუშაობს, მაგრამ ერთსა და იმავე მეთოდზე ორი patch შეიძლება ერთმანეთს შეეჯახოს, framework-ის მიუხედავად.
- plugin-ები, რომელთა ავტორები მხოლოდ Carbon-ზე არიან ორიენტირებული: Oxide-ზე არ გაეშვება. ეს ფასიან plugin-ებში სულ უფრო ხშირია.
ცოცხალი სერვერის გადაყვანამდე ჩამოწერე ყოველი plugin და გაფართოება, რომელსაც უშვებ, და თითოეული შეამოწმე. ავტორების უმეტესობა Carbon-ის მხარდაჭერას plugin-ის გვერდზე ან changelog-ში აღნიშნავს. დანარჩენს სატესტო სერვერზე გაიგებ და არა wipe-ის დღეს.
Carbon-ის ინსტალაცია#
Carbon აქვეყნებს build-ებს Windows-ისა და Linux-ისთვის და ცალკე build-ებს Rust-ის release და staging branch-ებისთვის. აიღე ის, რომელიც ემთხვევა როგორც შენს ოპერაციულ სისტემას, ისე branch-ს, რომელზეც სერვერი მუშაობს. ზოგიერთი გამოცემა შეკვეცილია; პროექტის დოკუმენტაცია აღწერს, რომელ მოდულებს მოიცავს თითოეული.
- სერვერი სუფთად გააჩერე
quit-ით. - წაშალე Oxide, თუ არის. გაუშვი SteamCMD
app_update 258550 validate-ით, რომ თამაშის ორიგინალი assembly-ები აღდგეს.oxideსაქაღალდე წაშლის ნაცვლად უსაფრთხო ადგილას გადაიტანე. - გადაშალე Carbon-ის არქივი სერვერის ძირზე. ის ამატებს
carbonსაქაღალდეს და loader-ის ფაილებს შესრულებადი ფაილის გვერდით. - Windows-ზე loader-ი ავტომატურად ერთვება, როცა
RustDedicated.exeამ საქაღალდიდან ეშვება. - Linux-ზე გარემო ბინარის გაშვებამდე უნდა დაყენდეს. Carbon ამისთვის სკრიპტს მოიცავს:
#!/bin/bashcd /home/rust/serversource carbon/tools/environment.sh./RustDedicated -batchmode -nographics -logfile - \ +server.identity "main" +server.port 28015 \ +rcon.web 1 +rcon.port 28016 +rcon.password "change-me"- გაუშვი და შეამოწმე კონსოლში Carbon-ის გაშვების ბანერი, შემდეგ გაუშვი
c.plugins. უცნობი ბრძანების შეცდომა ნიშნავს, რომ loader-ი არ გაეშვა - Linux-ზე თითქმის ყოველთვის გამოტოვებულიsourceხაზის გამო.
Pterodactyl-ის ტიპის პანელზე egg წყვეტს, გაეშვება თუ არა გარემოს სკრიპტი. Rust-ის ბევრი მიმდინარე egg Startup ჩანართზე framework-ის არჩევანს გთავაზობს (vanilla, Oxide ან Carbon) და ამას შენ მაგივრად აკეთებს. თუ შენი არ აკეთებს, Carbon-ის ხელით ინსტალაცია წარმატებულად გამოჩნდება და არაფერს გააკეთებს, რადგან გაშვების ბრძანება მას არასოდეს ტვირთავს.
საქაღალდეები, ბრძანებები და უფლებები#
| გზა | შიგთავსი | Oxide-ის ეკვივალენტი |
|---|---|---|
carbon/plugins/ | plugin-ების .cs ფაილები | oxide/plugins/ |
carbon/configs/ | plugin-ების JSON კონფიგები | oxide/config/ |
carbon/data/ | plugin-ების მონაცემები, უფლებები | oxide/data/ |
carbon/lang/ | შეტყობინებების ფაილები | oxide/lang/ |
carbon/logs/ | ლოგები | oxide/logs/ |
carbon/modules/ | ჩაშენებული მოდულების კონფიგები | არ აქვს |
carbon/extensions/ | Carbon-ის გაფართოებები | .dll გაფართოებები Managed-ში |
carbon/config.json | framework-ის პარამეტრები | oxide/oxide.config.json |
ყურადღება მიაქციე ერთ ორთოგრაფიულ ხაფანგს: Oxide-ის საქაღალდე config-ია, Carbon-ისა კი configs. Carbon-ში კონფიგების config სახელის საქაღალდეში დაკოპირება არაფერს აკეთებს, და ყოველი plugin ჩუმად თავის ნაგულისხმევ მნიშვნელობებს წერს.
c.plugins list plugins and their statec.load Kits load a pluginc.unload Kits unload itc.reload Kits reload, rereading its configc.grant group default kits.usec.revoke group default kits.usec.group add vipc.usergroup add 76561198012345678 vipc.show user 76561198012345678უფლებების მოდელი Oxide-ისაა: plugin-ების მიერ დარეგისტრირებული უფლებები, ჯგუფები მშობლებით, default ყველასთვის და admin owner-ებისთვის, grant-ები ჯგუფებს ან მომხმარებლებს SteamID64-ით. თუ oxide.grant იცი, c.grant-იც იცი. თავსებადობისთვის Carbon Oxide-ის ბევრ ბრძანების სახელსაც ესმის, მაგრამ საკუთარი სკრიპტები c. ფორმებით დაწერე, რომ ვერავის მოუწიოს გამოცნობა, რომელი framework-ისთვის იყო ბრძანება განკუთვნილი.
ჩაშენებული მოდულები
Carbon მოიცავს არჩევით მოდულებს, რომლებიც იმას ანაცვლებს, რისთვისაც Oxide-ის სერვერები plugin-ებს აყენებენ. ისინი carbon/modules-ში ცხოვრობენ, თითოეული საკუთარი კონფიგით, და გამორთულია, სანამ არ ჩართავ. ნაკრები ვერსიებს შორის იცვლება; მიმდინარე სია, სხვებთან ერთად, მოიცავს მოდულებს gather rate-ებისთვის, stack-ის ზომებისთვის, vanish-ისა და whitelist-ისთვის, ასევე თამაშშიდა ადმინის პანელს.
მოდულების სასარგებლოდ არგუმენტი ნაკლები მოძრავი ნაწილია: ერთი მხარდაჭერილი კომპონენტი მესამე მხარის plugin-ის ნაცვლად, რომელიც შეიძლება მიტოვებული აღმოჩნდეს. საწინააღმდეგო არგუმენტია ის, რომ შენი კონფიგურაცია Carbon-ის სპეციფიკური ხდება, რაც Oxide-ზე დაბრუნებას საქაღალდის გადატანიდან თავიდან აწყობად აქცევს. თუ ფიქრობ, რომ შეიძლება Oxide-ს დაუბრუნდე, ყველაფრისთვის, რაც გეიმპლეის განსაზღვრავს, მაგალითად rate-ებისა და stack-ებისთვის, ჩვეულებრივი plugin-ები გამოიყენე.
Carbon ასევე მოიცავს profiler-ს, რომელიც აღრიცხავს, რამდენ დროს ხარჯავენ plugin-ები და hook-ები. Oxide-ზე hook-ების დროს oxide.plugins-ში და გარე ინსტრუმენტებს ეყრდნობი; Carbon-ზე შეგიძლია პროფილი ჩაიწერო, როცა სერვერი უჭირს, და დაინახო, რომელი plugin და რომელი hook არის პასუხისმგებელი. ეს გადასვლის ერთ-ერთი ყველაზე პრაქტიკული მიზეზია, სხვა რას უნდა შეხედო, კი ხსნის სტატია სერვერის წარმადობა და entity-ების რაოდენობა.
ჯერ გადასვლის ტესტირება ასლზე#
ცოცხალი სერვერის გადაყვანის ყველაზე უსაფრთხო გზაა, თავიდან საერთოდ არ გადაიყვანო. ააწყე ასლი, დაამტკიცე, რომ მუშაობს, მერე კი ნამდვილზე იგივე ნაბიჯები გაიმეორე სიით, რომელსაც უკვე ენდობი.
- შექმენი სატესტო სერვერი ცოცხალის backup-იდან - იგივე Rust-ის ვერსია, იგივე plugin-ები, იგივე კონფიგები, იგივე მონაცემები. VDS-ზე ეს მეორე დირექტორია და პორტების მეორე ნაკრებია; პანელზე ჩვეულებრივ backup-იდან აღდგენილი მეორე სერვერი.
- დააყენე Carbon ასლზე ზემოთ მოცემული ნაბიჯებით და გადაიტანე საქაღალდეები.
- გაუშვი და წაიკითხე გაშვების ლოგის ყოველი ხაზი. plugin-ები, რომლებიც ვერ კომპილირდება, გამოტოვებული დამოკიდებულებები და უფლებების გაფრთხილებები აქ ჩნდება, ერთხელ, და სხვაგან არსად ასე ნათლად.
- შედი ორი ანგარიშით - ერთი ადმინი, ერთი ჩვეულებრივი მოთამაშე - და გაიარე ის ბრძანებები, რომლებსაც მოთამაშეები რეალურად იყენებენ. kit-ები, სახლები, ტელეპორტები, კლანები, remover-ის ინსტრუმენტი, ნებისმიერი მაღაზია. ჩაინიშნე ყველაფერი, რაც სხვანაირად იქცევა.
- დატოვე ის ერთი საღამო ჩართული რამდენიმე მოხალისესთან ერთად. ზოგი პრობლემა მხოლოდ მაშინ ჩნდება, როცა hook-ები რეალური თამაშისას ირთვება: დაზიანება, ძარცვა, მშენებლობა, რეიდი.
თუ ასლი სუფთაა, ნამდვილი გადასვლა შემდეგი wipe-ისთვის დაგეგმე, როცა მოთამაშეები გათიშვას ისედაც ელიან და ახალი რუკა მალავს ნებისმიერ მონაცემს, რომლის გადატანაც გადაწყვიტე, რომ არ გინდა. თუ ასლი სუფთა არ არის, ეს იაფად გაიგე. ორივე შემთხვევაში ასლი შეინახე, სანამ ცოცხალი სერვერი Carbon-ზე სრულ კვირას არ იმუშავებს; თუ რამე გვიან გამოჩნდება, ეს უკან დაბრუნების ყველაზე სწრაფი გზაა.
Oxide-იდან Carbon-ზე გადასვლა#
დაგეგმე ის wipe-ის დღისთვის ან წყნარი საღამოსთვის და ჯერ მთელი სერვერის დირექტორიის backup გააკეთე, oxide საქაღალდის ჩათვლით.
- გააკეთე backup, გააჩერე სერვერი და გაუშვი SteamCMD
validate-ით. - დააყენე Carbon ზემოთ აღწერილი წესით და ერთხელ plugin-ების გარეშე გაუშვი, რომ საქაღალდეები შექმნას. ისევ გააჩერე.
- დააკოპირე
oxide/plugins/*.cscarbon/plugins/-ში. - დააკოპირე
oxide/config/*.jsoncarbon/configs/-ში - მრავლობითში. - დააკოპირე
oxide/data/-ის შიგთავსიcarbon/data/-ში, ხოლოoxide/lang/-carbon/lang/-ში. - წაიკითხე Carbon-ის მიგრაციის შენიშვნები შენი ვერსიის უფლებების მონაცემებზე, შემდეგ გაუშვი სერვერი.
- შეამოწმე, რომ ყოველი plugin ჩაიტვირთა,
c.plugins-ით, და უფლებებიc.show group default-ით,c.show group admin-ით და რამდენიმე რეალური მოთამაშით. - შედი ჩვეულებრივ მოთამაშედ და გამოსცადე ბრძანებები, რომლებსაც ხალხი რეალურად იყენებს - kit-ები, სახლები, ტელეპორტები, remover.
ნაბიჯი, რომელიც გკბენს, უფლებებია. თუ შენი grant-ები წლის განმავლობაში ხელით იყო აწყობილი, ზუსტად ვერავინ იცის, რა ჰქონდა default-ს. გადასვლამდე გაუშვი oxide.show group default და იგივე ყოველი ჯგუფისთვის და შეინახე შედეგი. კიდევ უკეთესი, შეინახე ჩვეულებრივი ტექსტური ფაილი ყოველი grant და group parent ბრძანებით, რაც შენს სერვერს სჭირდება; ის დოკუმენტაციადაც გამოდგება და ნებისმიერ framework-ზე უფლებების ერთ წუთში აღდგენის საშუალებას გაძლევს.
უკან დაბრუნება იგივეა საპირისპიროდ: validate, Oxide-ის ინსტალაცია, carbon/configs-ის oxide/config-ში დაბრუნება და ასე შემდეგ. ყველაფერი, რაც Carbon-ის მოდულებით ააწყვე, plugin-ებით უნდა ჩაანაცვლო.
ყოველთვიური განახლება Carbon-ზე#
პირველი ხუთშაბათის განახლება Carbon-ზეც მოქმედებს. რადგან ის თამაშის assembly-ებს არ ასწორებს, SteamCMD მას არ გადააწერს, მაგრამ hook-ები მაინც შეიძლება გადაადგილდეს და plugin-ები მაინც შეიძლება გაფუჭდეს, როცა Facepunch თამაშის კოდს ცვლის. რუტინა Oxide-ისას ახლოსაა:
- გააჩერე, განაახლე Rust
validate-ით. - შეამოწმე, გამოაქვეყნა თუ არა Carbon-მა build-ი ან hook-ების განახლება თამაშის ახალი ვერსიისთვის, და თუ კი, განაახლე.
- გაუშვი, კონსოლში მოძებნე plugin-ები, რომლებიც ვერ კომპილირდება.
- სერვერის გახსნამდე გაასწორე ან ჩამოტვირთე ჩავარდნილები.
Carbon-ზე შეიძლება გამოტოვო ხელახალი ინსტალაცია და არა შემოწმება. სერვერი, რომელიც Carbon-ით ირთვება, მაგრამ plugin-ების ნახევარი ჩავარდნილი აქვს, იმავე მდგომარეობაშია, როგორც Oxide-ის სერვერი, რომელმაც framework-ი დაკარგა. კალენდარი მოცემულია სტატიაში ყოველთვიური ფორსირებული wipe-ის განრიგი, wipe-ის დღის სამოქმედო გეგმა კი - სტატიაში Rust-ის wipe-ები მოთამაშეების დაკარგვის გარეშე.
რომელი უნდა გაუშვა?#
| სიტუაცია | არჩევანი |
|---|---|
| ახალი modded სერვერი, გავრცელებული plugin-ები | ნებისმიერი; Carbon, თუ მისი მოდულები და profiler-ი გინდა |
| არსებული Oxide-ის სერვერი, რომელიც მუშაობს | დარჩი, თუ გადასვლის მიზეზი არ გაქვს |
| ფასიანი plugin-ები, რომლებიც მხოლოდ Carbon-ზეა | Carbon |
| საკუთარი რუკა, რომელიც Oxide-ის კონკრეტულ გაფართოებას ეყრდნობა | Oxide, თუ Carbon ამ გაფართოებას არ უჭერს მხარს |
| წარმადობის პრობლემები, რომელთა წყაროს ვერ პოულობ | სცადე Carbon-ის profiler-ი სატესტო ასლზე |
| გინდა ყველაზე კარგად შემოწმებული გზა იშვიათი plugin-ისთვის | Oxide |
იმაში, რისი გაკეთებაც შენს მოთამაშეებს შეუძლიათ, განსხვავება არ არის, ხოლო წარმადობის დიდი მატების შესახებ განცხადებები შენს საკუთარ plugin-ების ნაკრებზე უნდა შეამოწმო და არა ნდობით მიიღო: modded სერვერების უმეტესობის ძვირი ნაწილი რამდენიმე მძიმე plugin-ი და entity-ების რაოდენობაა და არა framework-ი. framework-ი მაშინ შეცვალე, როცა ის შენს არსებულ პრობლემას წყვეტს.
გადასვლის ფასი ძირითადად დრო და ყურადღებაა და ის ყველაზე მაღალია სერვერზე, სადაც ბევრი plugin-ი და ხელით აწყობილი უფლებების ხანგრძლივი ისტორიაა. ახალი სერვერი ნებისმიერ framework-ზე დაწყებაში თითქმის არაფერს იხდის, ამიტომ სწორედ ეს არის შეგნებული არჩევანის მომენტი. დამკვიდრებული სერვერი მომუშავე Oxide-ის კონფიგურაციით და გუნდით, რომელმაც ის იცის, გადასვლით ცოტას იგებს, თუ კონკრეტული plugin-ი, profiler-ი ან განახლების რუტინა ნამდვილი პრობლემა არ არის.
სადაც არ უნდა იყოს ჰოსტინგი, plugin-ებსა და framework-ებს თავად ტვირთავ. RE:NODE-ის პანელზე ეს ნიშნავს ფაილების მენეჯერს, რომელიც არქივს იქვე ხსნის, ან SFTP-ს ერთ სერვერზე შეზღუდული მონაცემებით; framework-ის ინსტალატორი ან plugin-ების დაშვებული სია არ არსებობს, ამიტომ ზემოთ მოცემული ინსტალაციის ნაბიჯები სწორედ ისაა, რასაც მიჰყვები. ორივე ინსტრუმენტს განიხილავს სტატია SFTP და ფაილების მენეჯერი.
პრობლემების მოგვარება#
`c.plugins` უცნობი ბრძანებაა. Carbon-ის loader-ი არ გაეშვა. Linux-ზე გაშვების ბრძანებას აკლია source carbon/tools/environment.sh ან სხვა დირექტორიიდან ეშვება. პანელზე შეამოწმე egg-ის framework-ის პარამეტრი.
plugin-ები იტვირთება, მაგრამ ყოველი კონფიგი ნაგულისხმევია. კონფიგები carbon/configs-ის ნაცვლად carbon/config-ში დაკოპირდა.
შეტყობინებები ორჯერ ჩნდება და სერვერი არასტაბილურია. Oxide-ის შესწორებული assembly-ები ჯერ კიდევ ადგილზეა. გააჩერე, გააკეთე validate, თავიდან დააყენე Carbon.
ერთი plugin-ი Carbon-ზე ფუჭდება, Oxide-ზე კი მუშაობდა. ის Oxide-ის შიდა ნაწილებს ან Oxide-ის გაფართოებას იყენებს. მოძებნე განახლება ან Carbon-ის სპეციფიკური ალტერნატივა.
საკუთარი რუკის ფუნქციები აკლია. გაფართოება, რომელსაც რუკა ეყრდნობოდა, არ ჩაიტვირთა. რუკის დადანაშაულებამდე შეამოწმე, უჭერს თუ არა Carbon მას მხარს.
გადასვლის შემდეგ უფლებები ცარიელი ჩანს. შენს ვერსიაზე უფლებების მონაცემები არ გადავიდა. აღადგინე შენახული grant-ების სიიდან.
FAQ#
Facepunch Carbon-ს უშვებს?
Rust-ის სერვერები მესამე მხარის framework-ებს ერთსა და იმავე პირობებით უშვებენ, Oxide-ს იყენებენ თუ Carbon-ს: პრობლემა framework-ი კი არ არის, არამედ ის, როგორ აჩვენებ სერვერს სიაში. სერვერი, რომლის plugin-ები გეიმპლეის ცვლის, ორივე შემთხვევაში Modded ჩანართზე უნდა იყოს.
შემიძლია Oxide და Carbon ერთდროულად გავუშვა?
არა. ისინი თამაშის ერთსა და იმავე კოდს ებმებიან და კონფლიქტში შედიან. აირჩიე ერთი და გადასვლისას გაუშვი SteamCMD validate-ით, რომ თამაშის ფაილები სუფთა იყოს.
სჭირდებათ მოთამაშეებს Carbon-ის დაყენება შესასვლელად?
არა. Oxide-ის მსგავსად, Carbon მხოლოდ სერვერზე მუშაობს. მოთამაშეები ჩვეულებრივი სათამაშო კლიენტით შედიან.
Carbon Oxide-ზე სწრაფია?
ის ნაკლები დანახარჯისთვისაა შექმნილი და profiler-ს მოიცავს, მაგრამ იმუშავებს თუ არა შენი სერვერი უფრო სწრაფად, შენს plugin-ებსა და entity-ების რაოდენობაზეა დამოკიდებული. გაზომე სატესტო ასლზე და ნუ ელი, რომ framework-ის შეცვლა lag-ს გამოასწორებს.
იმუშავებს ჩემი uMod plugin-ები Carbon-ზე?
დიდი უმრავლესობა იმუშავებს. გამონაკლისია plugin-ები, რომლებიც Oxide-ის შიდა ნაწილებს ან .dll გაფართოებებს ეყრდნობა, და მათ ცოცხალი სერვერის გადაყვანამდე ტესტირებით პოულობ.




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