RE:NODE

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

CS2 plugin-ები: Metamod:Source და CounterStrikeSharp

რატომ არ მუშაობს SourceMod CS2-ზე, როგორ დააყენო Metamod:Source და CounterStrikeSharp, მოაწყო ადმინები და flag-ები და გადაიტანო თამაშის განახლება.

1 მკითხველი

Counter-Strike 2-ის plugin-ებზე პირველი, რაც უნდა იცოდე, ის არის, რაც უმეტესს პირველივე დღეს აჩერებს: SourceMod არ მუშაობს. ათი წლის SourcePawn plugin-ები, ყველა .smx, რომელიც ოდესმე ჩამოგიწერია, ადმინის მენიუ, რომელიც ზეპირად იცი - არცერთი არ მუშაობს Source 2-ზე. CS2-ის plugin სტეკი არის Metamod:Source თავისი Source 2 ხაზით და მის თავზე CounterStrikeSharp, რომელიც C#-ზე დაწერილ plugin-ებს უმასპინძლებს .NET-ზე. ეკოსისტემა უფრო ახალგაზრდა და პატარაა, თავიდან აგებული, და ახლა ყველა სერიოზული CS2 community სერვერი სწორედ იქ ცხოვრობს.

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

რა მუშაობს CS2-ზე და რა არა#

რასტატუსი CS2-ზე
Metamod:Source, 2.x ხაზიმუშაობს. ეს საფუძველია
Metamod:Source 1.11 / 1.12მხოლოდ Source 1. არასწორი ძრავა
SourceMod და .smx plugin-ებიარ მუშაობს. Source 2-ის მხარდაჭერა არ არის
CounterStrikeSharpმუშაობს. C# plugin-ები .NET 8-ზე
CS2Fixes და სხვა native Metamod plugin-ებიმუშაობს, დაწერილია C++-ზე პირდაპირ Metamod-ის წინააღმდეგ
Valve-ის სერვერის plugin ინტერფეისი (plugin_load)Source 2-ზე პრაქტიკული გზა არ არის

ორი შედეგი. პირველი, თუ გზამკვლევი გეუბნება, რამე ჩააგდო addons/sourcemod/plugins-ში, ის CS:GO-ს გზამკვლევია და დანარჩენიც არასწორია. მეორე, როცა კონკრეტულს რამეს აკეთებ plugin-ს ეძებ, GitHub-ის გამოშვებებს უყურებ და არა plugin-ების დირექტორიას - არ არსებობს პაკეტების მენეჯერი, პანელში ჩაშენებული ინსტალერი და დახარისხებული ინდექსი. ჩამოტვირთავ zip-ს, კითხულობ, ვინ დაწერა, და თვითონ ხსნი.

Plugin მუშაობს native კოდად სერვერის პროცესში sandbox-ის გარეშე. მას შეუძლია წაიკითხოს ნებისმიერი ფაილი, რომლის წაკითხვაც სერვერს შეუძლია, გახსნას socket-ები და იმუშაოს იმდენ ხანს, რამდენსაც უნდა, თამაშის ერთ tick-ში. მისი დაყენება ისე მოეპყარი, როგორც სკრიპტის root-ით გაშვებას, რადგან ეს არის რეალური პრივილეგიის დონე. მოდიფიცირებული სერვერის სისუფთავეში შენახვა ამ არგუმენტის ზოგადი ვერსიაა.

იკითხება გაშვებისასათვალიერებს plugins/CS2 სერვერიSource 2gameinfo.giამატებს საძიებო გზასMetamod:Sourceaddons/metamodcounterstrikesharp.vdfMetamod ტვირთავსCounterStrikeSharp.NET 8 ჰოსტიშენი pluginMatchZy.dll
როგორ ხვდება C# plugin CS2-ში

Metamod:Source-ის დაყენება#

Metamod არის loader. თავისთავად თამაშს არაფერს უცვლის; ის სხვა კოდს აძლევს მხარდაჭერილ გზას, ძრავასა და თამაშის მოდულს შორის დადგეს.

  1. აიღე Metamod:Source build 2.x დეველოპმენტის ხაზიდან AlliedModders-ის საიტზე. სტაბილური 1.x ჩამოტვირთვები Source 1 თამაშებისთვისაა და არ ჩაიტვირთება. აიღე Linux პაკეტი, თუ შენი სერვერი Linux-ზეა, რაც პანელის ჰოსტზე ასეა.
  2. გახსენი ისე, რომ არქივის addons საქაღალდე game/csgo/-ში მოხვდეს. საბოლოოდ უნდა გქონდეს game/csgo/addons/metamod/, რომელიც შეიცავს metaplugins.ini-სა და bin საქაღალდეს.
  3. შეასწორე game/csgo/gameinfo.gi. იპოვე SearchPaths ბლოკი და დაამატე ერთი ხაზი არსებული Game csgo ჩანაწერის ზემოთ:
game/csgo/gameinfo.gi
		SearchPaths		{			Game_LowViolence	csgo_lv			Game	csgo/addons/metamod			Game	csgo			Game	core
  1. გადატვირთე სერვერი და კონსოლში აკრიფე meta version.

gameinfo.gi-ის რედაქტირება მთელი ხრიკია, და ეს ასევე ყველაზე გავრცელებული მიზეზია, რის გამოც მომუშავე სერვერი plugin-ების ჩატვირთვას წყვეტს. ეს ფაილი თამაშს ეკუთვნის, ამიტომ validate-ის გაშვება ან დიდი განახლება მას ჩაანაცვლებს და შენი ხაზი ქრება. შეცდომა არ არის; Metamod უბრალოდ აღარ არის იქ, plugin-ები არ იტვირთება და სერვერი კარგად ჩანს. თუ plugin-ები განახლების შემდეგ ქრება, სხვა რამის შემოწმებამდე შეამოწმე gameinfo.gi.

code
] meta listListing 1 plugin:  [01] CounterStrikeSharp (1.0.xxx) by roflmuffin

meta list არის მტკიცებულება, რომ Metamod ჩაიტვირთა, და იმის სია, რაც მან ჩატვირთა. ცარიელი სია ვერსიის ბანერით ნიშნავს, რომ Metamod მუშაობს და ჩასატვირთი არაფერი აქვს. პასუხის სრული არარსებობა ნიშნავს, რომ gameinfo.gi არასწორია ან build Source 1-ისაა.

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

CounterStrikeSharp არის Metamod plugin, რომელიც .NET runtime-ს უმასპინძლებს და თამაშს C#-ს აჩვენებს. მისი გამოშვებები ორი ფორმითაა: ერთი, რომელიც .NET runtime-ს ატარებს, და მეორე, რომელსაც მანქანაზე დაყენებული .NET 8 სჭირდება. კონტეინერზე დაფუძნებულ ჰოსტზე აიღე ჩაშენებული build - შენ არ აკონტროლებ, რა არის node-ზე დაყენებული, და ჩაშენებული build რამდენიმე ასეული მეგაბაიტი დისკია და არა support ticket.

  1. გახსენი გამოშვება game/csgo/-ში, რომ addons/counterstrikesharp/ addons/metamod/-ის გვერდით გაჩნდეს.
  2. დარწმუნდი, რომ addons/metamod/counterstrikesharp.vdf არსებობს. ეს ფაილი ეუბნება Metamod-ს, ჩატვირთოს ის.
  3. გადატვირთე. meta list-მა ახლა CounterStrikeSharp უნდა აჩვენოს, და css_plugins list უნდა გიპასუხოს.

ხე, რომლისკენაც მიდიხარ:

code
game/csgo/addons/  metamod/    metaplugins.ini    counterstrikesharp.vdf  counterstrikesharp/    bin/    configs/      core.json      admins.json      admin_groups.json    gamedata/    logs/    plugins/      MatchZy/        MatchZy.dll

Plugin-ები ერთი საქაღალდის სიღრმეში ცხოვრობენ, და საქაღალდის სახელი DLL-ის სახელს უნდა ემთხვეოდეს: plugins/MatchZy/MatchZy.dll იტვირთება, plugins/MatchZy.dll - არა. ეს წესი თითქმის ყველას ერთხელ ემართება.

configs/core.json ღირს სრულად წაკითხვად, რადგან მოკლეა და მისი სამი პარამეტრი ისეთ ქცევას ცვლის, რომლის დევნაშიც წინააღმდეგ შემთხვევაში ერთ საათს დახარჯავ. ჩატის trigger-ები წყვეტს, რომელი პრეფიქსი უშვებს ბრძანებას ჩატში - ! ხილული ბრძანებისთვის და / ჩუმისთვის ნაგულისხმევად. Hot reload წყვეტს, ახალი DLL-ის ადგილზე ჩაგდება გადატვირთვის გარეშე ჩატვირთავს თუ არა მას, რაც სატესტო სერვერზე მოხერხებულია და ცოცხალზე ცუდი იდეა. და არის გადამრთველი Valve-ის community სერვერის სახელმძღვანელო პრინციპების დასაცავად, რომელიც plugin API-ს უზღუდავს იმის კეთებას, რაც სერვერებს პრობლემებში აყოფს; ჩართული დატოვება ნაგულისხმევია მიზეზით, რომელიც ქვემოთაა განხილული.

ადმინები, ჯგუფები და flag-ები#

ადმინები არის JSON ფაილი და არა კონსოლის ბრძანება. configs/admins.json Steam id-ს flag-ების ნაკრებს უკავშირებს:

addons/counterstrikesharp/configs/admins.json
{  "Anna": {    "identity": "76561198012345678",    "flags": ["@css/generic", "@css/kick", "@css/ban", "@css/changemap"],    "immunity": 80  },  "Moderator Jan": {    "identity": "76561198087654321",    "groups": ["#css/moderator"],    "immunity": 40  }}
addons/counterstrikesharp/configs/admin_groups.json
{  "#css/moderator": {    "flags": ["@css/generic", "@css/kick", "@css/chat"],    "immunity": 40  }}
Flagრას იძლევა
@css/rootყველაფერს, მომავალი plugin-ების მიერ დამატებული flag-ების ჩათვლით
@css/genericსაბაზო შემოწმებას "ადმინია თუ არა", რომლითაც უმეტესი plugin იწყებს
@css/kickKick
@css/ban / @css/unbanBan და ban-ის მოხსნა
@css/slaySlay, slap და მსგავსი
@css/changemapრუკის შეცვლა
@css/cvarcvar-ების შეცვლა ჩატიდან
@css/chatGag, mute, ადმინის ჩატი
@css/voteკენჭისყრის დაწყება
@css/reservationდაჯავშნილ სლოტზე წვდომა
@css/cheatssv_cheats-ის გადართვა, სადაც plugin იძლევა ამის საშუალებას

immunity რიცხვია, და უფრო მაღალ რიცხვზე უფრო დაბალი ვერ იმოქმედებს. საკუთარ თავს მიეცი 100, სანდო მოდერატორებს მიეცი 50, ხოლო ადამიანს, რომელმაც თავაზიანად ითხოვა, - 10. Immunity მნიშვნელობების გარეშე ორ ადმინს ციკლში ერთმანეთის kick შეუძლია, რაც სასაცილოა ზუსტად ერთხელ.

css_admins_reload ორივე ფაილს გადატვირთვის გარეშე თავიდან კითხულობს, ამიტომ საღამოს დროს მოდერატორის დამატება არაფერი ღირს. @css/root გამოიყენე ერთი ანგარიშისთვის, შენი, და ყველა დანარჩენი კონკრეტული flag-ებისგან ააგე. identity ველი არის 17-ციფრიანი SteamID64; კონსოლში status ბეჭდავს ყოველი დაკავშირებული მოთამაშის id-ს იმ ფორმით, რომელიც გჭირდება.

plugin-ები, რომლებიც ღირს გაშვებად#

Pluginრას აკეთებსრა სჭირდება
MatchZy5v5 მატჩები: ready-up, დანების რაუნდი, პაუზები, თითო რუკის დემოები, რაუნდის აღდგენაCounterStrikeSharp
CS2-SimpleAdminBan-ები, mute-ები, gag-ები და slay-ები ბაზით, სერვერებს შორის გაზიარებულიCounterStrikeSharp, მონაცემთა ბაზა
cs2-retakesRetakes რეჟიმი ბომბის ადგილებზე spawn-ებითა და იარაღის განაწილებითCounterStrikeSharp
CS2Fixesძრავის დონის შესწორებები და ადმინის ბრძანებები, Zombie Escape სერვერების საფუძველიმხოლოდ Metamod

ეს სია განზრახ მოკლეა. CS2 community სერვერს სჭირდება ადმინის plugin, შემდეგი რუკისთვის კენჭისყრის გზა და ერთი plugin იმისთვის, რისთვისაც სერვერი ნამდვილად არსებობს. ყველაფერი ამის მიღმა წონაა, რომელიც ყოველი თამაშის განახლების შემდეგ ხელახლა უნდა გამოსცადო.

ორი კატეგორია გაფრთხილებას იმსახურებს და არა რეკომენდაციას. ყველაფერი, რაც იარაღის skin-ებს ცვლის, ინვენტარის ნივთებს გასცემს ან კოსმეტიკას აყალბებს, Valve-ის სერვერის სახელმძღვანელო პრინციპების საწინააღმდეგოა, და სასჯელი გეიმ სერვერის შესვლის token-ის ban-ია - რაც სერვერსაც თან მიაქვს და შეიძლება Steam ანგარიშს მომდევნო token-ზეც გაჰყვეს. Skin plugin-ები პოპულარულია და ისინი შენი token-ისთვის ნამდვილი რისკია და არა თეორიული. და ყველაფერი, რაც CS2-ისთვის "anti-cheat"-ს რეკლამირებს, ევრისტიკას აკეთებს სერვერის პროცესის შიგნიდან; ზოგი სასარგებლოა, არცერთი არ არის VAC, და ყველა აწარმოებს ცრუ დადებითებს, რომელთა გადაწყვეტაც შენ მოგიწევს.

მატჩის სერვერისთვის MatchZy მარტო მთელ საღამოს ფარავს, და CS2-ის შეჯიბრებითი მატჩის სერვერი მის კონფიგურაციას გადის.

plugin-ის დაყენება, კონფიგურაცია და გადატვირთვა#

ინსტალაცია ყოველთვის ერთი ფორმისაა. ჩამოტვირთე გამოშვების zip, გახსენი, რომ შეამოწმო, შეიცავს addons/ გზას თუ უბრალო plugin საქაღალდეს, და გახსენი სწორ ადგილას ფაილების მენეჯერით ან SFTP-ით - SFTP და ფაილების მენეჯერი დაკავშირების დეტალებს შეიცავს. შემდეგ:

code
css_plugins listcss_plugins load MatchZycss_plugins unload MatchZycss_plugins reload MatchZy

უმეტესი plugin კონფიგურაციას პირველ ჩატვირთვაზე აგენერირებს და არ აგზავნის, ამიტომ თანმიმდევრობა ასეთია: დააყენე, გაუშვი, გააჩერე, შემდეგ შეასწორე ფაილი, რომელიც გაჩნდა. ზოგი წერს addons/counterstrikesharp/configs/plugins/<Name>/-ში, ზოგი წერს .cfg-ს game/csgo/cfg/-ში, და plugin-ის საკუთარი readme ერთადერთი ავტორიტეტია, რომელი. თუ plugin-ს აქვს პარამეტრები, რომელთა პოვნაც ვერ ახერხებ, გაუშვი სერვერი ერთხელ და ნახე, რა შეიცვალა დისკზე.

Plugin-ის შეცდომები addons/counterstrikesharp/logs/-ში მიდის, თითო ფაილი დღეში, და ისინი კონსოლზე გაცილებით იკითხება, რადგან C# stack trace თამაშის კონსოლში ფაფად იხვევა. როცა plugin იტვირთება, მაგრამ არაფერს აკეთებს, ლოგში ჩვეულებრივ ერთი ხაზია, რომელიც ამბობს, რატომ, და ჩვეულებრივ ეს არის დაკარგული დამოკიდებულება ან gamedata signature, რომელიც აღარ ემთხვევა.

CS2-ის განახლების გადატანა#

Valve CS2-ს გაფრთხილების გარეშე და შენი plugin-ების გაუთვალისწინებლად ანახლებს. სამი რამ ტყდება, ამ რიგით სავარაუდოობის მიხედვით:

  1. gameinfo.gi ნულდება, ამიტომ Metamod საერთოდ არ იტვირთება. დაამატე ხაზი ისევ.
  2. Metamod-ს ან CounterStrikeSharp-ს ახალი build სჭირდება, რადგან შიდა offset-ები გადავიდა. შენს ხელთ არსებული არაფერი ამას ვერ გაასწორებს; ელოდები გამოშვებას, რაც ჩვეულებრივ საათებია და არა დღეები.
  3. Plugin-ის gamedata აღარ ემთხვევა, ამიტომ ის იტვირთება და შემდეგ შეცდომას აგდებს, როცა თამაშს ეხება. განაახლე plugin ან მისი gamedata ფაილი, თუ ავტორი მას ცალკე აგზავნის.

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

RE:NODE-ზე განახლება სერვერის გაშვებისას სრულდება, ამიტომ განახლების მიღების დროის გადაწყვეტილება restart-ის დროის გადაწყვეტილებაა - და Schedules tab არის ადგილი, სადაც ამას სამშაბათს 05:00-ზე აყენებ და არა მატჩამდე ხუთი წუთით ადრე. Backup-ის სლოტები ყველა CS2 გეგმაშია, და გონივრული ჩვევაა ხელით backup ნებისმიერი plugin-ის დაყენებამდე, რადგან უკან დაბრუნება მაშინ ერთი ღილაკია და არა არქეოლოგიური სესია.

მეხსიერება, CPU და რა ჯდება plugin-ები რეალურად#

ათი მოთამაშისთვის ვანილის CS2 სერვერი 1 GB-ში კომფორტულადაა. CounterStrikeSharp პროცესში .NET runtime-ს შეიტანს და მის თავზე რამდენიმე plugin-ს, და plugin სერვერის რეალისტური ქვედა ზღვარი 2 GB-ია - არა იმიტომ, რომ plugin-ები მძიმეა, არამედ იმიტომ, რომ runtime-ს სამუშაო ნაკრები აქვს და garbage collector-ს მარაგი უყვარს. თუ კონტეინერი მეხსიერების ლიმიტს მიაღწევს, ის ჩერდება და სუფთად ხელახლა იწყება და არ რჩება swap-ზე, რაც მატჩის ღამეს ყველაზე ცუდი შედეგია, ამიტომ ზომა გაზარდე და ვიწროზე ნუ დადიხარ.

CPU უფრო საინტერესო შეზღუდვაა. Plugin, რომელიც სამუშაოს ყოველ tick-ზე ასრულებს, მას წამში 64 ან 128-ჯერ ასრულებს, თითო მოთამაშეზე, სამუდამოდ. გამოქვეყნებული plugin-ების უმეტესობა ფრთხილია; ის, რომელიც ვიღაცამ შენი სერვერისთვის ნაშუადღევში დაწერა, შეიძლება არ იყოს. თუ სერვერი რაღაცის დაყენების შემდეგ იწყებს ჩხაკუნს, გამორთე ის და უყურე გრაფიკს და არ იმსჯელო - პანელის CPU გრაფიკი შენი მკაცრი ლიმიტის წინააღმდეგ ყველაზე სწრაფი ტესტია, და თითო სერვერზე ერთი კონტეინერი ნიშნავს, რომ სხვა არაფერი იწვევს ამას.

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

`meta list` არაფერს ბეჭდავს. Metamod არ იტვირთება. შეამოწმე gameinfo.gi ხაზი, შეამოწმე, რომ Source 2-ის build გახსენი, და შეამოწმე, რომ ფაილის გზაა game/csgo/addons/metamod და არა csgo/addons/metamod.

Metamod იტვირთება, მაგრამ CounterStrikeSharp არ ჩანს. addons/metamod/counterstrikesharp.vdf აკლია, ან ჩაშენებული runtime-ის გარეშე build აიღე მანქანაზე, სადაც .NET 8 არ არის.

`css_plugins list` plugin-ს აჩვენებს, მაგრამ მისი ბრძანებები არაფერს აკეთებს. თითქმის ყოველთვის ადმინის flag-ებია. შეამოწმე, რომ admins.json-ში შენი SteamID64 წერია, გაუშვი css_admins_reload და შეამოწმე, რომ core.json-ში ჩატის trigger ემთხვევა იმას, რასაც აკრეფ.

გუშინ ყველაფერი მუშაობდა და დღეს არაფერი მუშაობს. CS2-ის განახლება. დაიწყე gameinfo.gi-დან.

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

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

FAQ#

მუშაობს SourceMod CS2-ზე?

არა. SourceMod უჭერს მხარს Source 1 თამაშებს, როგორიცაა Team Fortress 2, Counter-Strike: Source და CS:GO. CS2 მუშაობს Source 2-ზე, რომლის მხარდაჭერაც SourceMod-ს არ აქვს, და SourcePawn plugin-ებისთვის კონვერტორი არ არსებობს. პრაქტიკაში ჩანაცვლება CounterStrikeSharp-ია.

შეიძლება plugin-ებმა ჩემს სერვერს VAC ban მოუტანოს?

VAC კლიენტებს კრძალავს და არა სერვერებს. სერვერისთვის რისკი მისი გეიმ სერვერის შესვლის token-ის ban-ია, რომელსაც Valve community სერვერის სახელმძღვანელო პრინციპების დარღვევისთვის გასცემს - ინვენტარის ნივთების დარიგება, skin-ების გაყალბება ან იმის შეცდომაში შემყვანი წარმოჩენა, რა არის სერვერი. ჩვეულებრივი ადმინის, მატჩისა და თამაშის რეჟიმის plugin-ები პრობლემა არ არის.

შემიძლია plugin-ების დაყენება პანელიდან SSH-ის გარეშე?

დიახ. აქ ყველაფერი ფაილებია game/csgo/-ში, ამიტომ ფაილების მენეჯერი ან SFTP საკმარისია. არქივები ადგილზე იხსნება, და რედაქტორი პირდაპირ გახსნის gameinfo.gi-სა და JSON კონფიგურაციებს.

სად დავაყენო ადმინები CS2-ისთვის?

addons/counterstrikesharp/configs/admins.json-ში, სახელის მიხედვით, identity-ში SteamID64-ით და @css/ flag-ების სიით. გადატვირთე ცოცხლად css_admins_reload-ით.

რამდენ მეხსიერებას ამატებს CounterStrikeSharp?

იმდენს, რომ 1 GB კომფორტული აღარ არის. დაგეგმე 2 GB სერვერისთვის, რომელიც CounterStrikeSharp-სა და რამდენიმე plugin-ს უშვებს, და მეტი, თუ ერთ-ერთი ინახავს მდგომარეობას ყოველი მოთამაშისთვის.

რატომ შეწყვიტეს ჩემმა plugin-ებმა ჩატვირთვა განახლების შემდეგ?

იმიტომ, რომ განახლებამ თავიდან დაწერა game/csgo/gameinfo.gi და Metamod-ის საძიებო გზა მოიშორა. დაამატე ხაზი ისევ და გადატვირთე. თუ ეს არ არის, Metamod-ს ან CounterStrikeSharp-ს თამაშის ახალ ვერსიასთან შესაბამისი build სჭირდება.


კომენტარები

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

0/2000