Left 4 Dead 2-ის გამოყოფილი სერვერი addon-ებს .vpk ფაილებიდან ტვირთავს left4dead2/addons/-ში, და ყოველ მოთამაშეს იგივე კამპანიის VPK უნდა ჰქონდეს დაყენებული, თორემ მას ვერ ითამაშებს - სერვერს კამპანიის კლიენტისთვის გაგზავნა არ შეუძლია. სერვერის მხარის ფუნქციები სხვა სტეკია: Metamod:Source, მის ზემოთ SourceMod, და L4D2-ის თითქმის ყოველი თანამედროვე plugin-ისთვის ქვემოთ left4dhooks extension. ოთხზე მეტ survivor-ს სჭირდება L4DToolZ ძრავის მოთამაშეთა ზღვრის მოსახსნელად, პლუს multi-slot plugin დამატებითი survivor-ების გასაჩენად და აღსაჭურვად. თითოეული ეს ფენა თავისთავად საიმედოა. რაც ფუჭდება, ეს ურთიერთქმედებაა: ორი addon, რომელსაც ერთი და იგივე სკრიპტის ფაილი მოაქვს, plugin, რომელიც left4dhooks-ის ძველი ვერსიისთვის აიგო, თამაშის განახლება, რომელიც gamedata-ს აფუჭებს. ეს გზამკვლევი addon-ების სისტემას, plugin-ების სტეკს, მეტი მოთამაშის კონფიგურაციას და იმ კონფლიქტებს ხსნის, რომლებსაც შეხვდები.
addon-ები, plugin-ები და რა სად ცხოვრობს#
L4D2 "მოდის" ორ სრულიად განსხვავებულ სახეობას ურევს, და მათი აღრევა კონფიგურაციის პრობლემების უმეტესობის საფუძველია.
| სახეობა | ფაილი | სად მიდის | ვის სჭირდება |
|---|---|---|---|
| საკუთარი კამპანია | .vpk | left4dead2/addons/ | სერვერს და ყოველ მოთამაშეს |
| მუტაციის ან თამაშის რეჟიმის addon | .vpk modes/-ით და სკრიპტებით | left4dead2/addons/ | სერვერს, ჩვეულებრივ მოთამაშეებსაც |
| მხოლოდ სკრიპტიანი სერვერის addon | .vpk ან ცალკეული .nut ფაილები | addons/ ან scripts/vscripts/ | მხოლოდ სერვერს |
| კოსმეტიკური მოდი (სკინები, ხმები) | .vpk | კლიენტის საკუთარი addons/ | მხოლოდ იმ მოთამაშეს |
| SourceMod plugin | .smx | addons/sourcemod/plugins/ | მხოლოდ სერვერს |
| Metamod plugin / extension | .so .vdf-ით ან gamedata-თი | addons/ | მხოლოდ სერვერს |
VPK addon-ებიც და SourceMod სტეკიც left4dead2/addons/-ის ქვეშ ცხოვრობს, რაც არეულად გამოიყურება, მაგრამ მუშაობს: ძრავა .vpk ფაილებს ამაგრებს და საქაღალდეებს, რომლებიც არ ესმის, უგულებელყოფს, ხოლო Metamod საკუთარ metamod.vdf ფაილს იმავე ადგილას პოულობს.
თუ საბაზო სერვერი ჯერ არ არის აწყობილი - ინსტალაცია, server.cfg, ლობი და sv_search_key - დაიწყე Left 4 Dead 2-ის სერვერის გზამკვლევით, რომელსაც ეს სტატია ეფუძნება.
VPK addon-ებისა და საკუთარი კამპანიების დაყენება#
კამპანია ერთი ან მეტი .vpk ფაილია, რომელიც რუკებს, მისიის ფაილს და ხშირად საკუთარ მოდელებს, ხმებს და სკრიპტებს შეიცავს. მისი სერვერზე დაყენება ფაილის კოპირებაა:
- გააჩერე სერვერი.
- ატვირთე
.vpkფაილებიleft4dead2/addons/-ში ფაილების მენეჯერით ან SFTP-ით. SFTP და ფაილების მენეჯერი დეტალებს გთავაზობს. - გაუშვი სერვერი და კონსოლში შეამოწმე, რომ addon შეცდომების გარეშე დამაგრდა.
- იპოვე კამპანიის პირველი რუკის სახელი - ის VPK-ის შიგნით მისიის ფაილშია, ან ავტორის შენიშვნებში - და გამოცადე
changelevel <map>-ით.
Workshop კამპანიებისთვის SteamCMD ელემენტს თამაშის app id-ით იღებს:
$ steamcmd +force_install_dir /home/l4d2/server +login anonymous \ +workshop_download_item 550 <workshop_id> +quitჩამოტვირთული ფაილი SteamCMD-ის საკუთარ steamapps/workshop/content/550/<workshop_id>/ საქაღალდეში ხვდება და არა თამაშის addons საქაღალდეში, ამიტომ .vpk გადააკოპირე და გონივრული სახელი დაარქვი. Steam Workshop-ის მოდები გამოყოფილ სერვერებზე ხსნის, როგორ მუშაობს ეს ქეში ზოგადად.
მოთამაშეებს იდენტური კამპანია უნდა ჰქონდეთ. ისინი იმავე Workshop ელემენტს იწერენ - ან იმავე VPK-ს ხელით აყენებენ - და თამაშს თავიდან უშვებენ, რომ დამაგრდეს. თუ სერვერს და მოთამაშეს სხვადასხვა ვერსია აქვთ, მოთამაშეს აგდებს ან რუკის ჩატვირთვისას ვარდება. გამოაქვეყნე კოლექციის ბმული იქ, სადაც შენი ჯგუფი საუბრობს, და თქვი, რომელ ვერსიაზე მუშაობს სერვერი.
მუტაციები და საკუთარი თამაშის რეჟიმები
მუტაციის addon-ები თამაშის რეჟიმს VPK-ის შიგნით modes/<name>.txt ფაილში განსაზღვრავენ, ჩვეულებრივ VScript-ებით, რომლებიც Director-ს ცვლის. როგორც კი addon დამაგრდება, რეჟიმი mp_gamemode-ით ირჩევა:
mp_gamemode coop// or a stock mutation or an addon mode by its name// mp_gamemode realism// mp_gamemode versusსტანდარტული მნიშვნელობებია coop, realism, versus, survival და scavenge, პლუს Valve-ის დანომრილი მუტაციები. addon-ის რეჟიმი იმ სახელს იყენებს, რასაც მისი modes/ ფაილი აცხადებს - addon-ის აღწერა შეამოწმე. რეჟიმის დაყენება, რომელიც სერვერმა არ იცის, ჩუმად co-op-ზე ბრუნდება, რაც ასე გამოიყურება: "მუტაცია არაფერს აკეთებს".
addon-ების კონფლიქტები და director-ის სკრიპტის პრობლემა#
L4D2-ის addon-ები კონფლიქტისას ხმამაღლა არ ვარდება. ისინი ერთმანეთს თავზე გადაეწერებიან, და ბოლოს დამაგრებული იმარჯვებს. თითქმის ყველაფერს ორი სახის კონფლიქტი იწვევს:
- ერთი და იგივე სკრიპტის ფაილი. ბევრი addon AI Director-ს
scripts/vscripts/director_base_addon.nut-ის მოწოდებით ცვლის. მხოლოდ ერთ ასლს შეუძლია გამარჯვება, ამიტომ ორი addon, რომელიც ორივე მას აწვდის, ნიშნავს, რომ ერთ-ერთი ჩუმად გამორთულია. სიმპტომია "ეს addon იმის დაყენების შემდეგ აღარ მუშაობს". - მოდელის ან ხმის ერთი და იგივე გზა. ერთი იარაღის ორი reskin, survivor-ის მოდელის ორი შემცვლელი. ერთი იმარჯვებს, რომელი - ჩატვირთვის რიგზეა დამოკიდებული.
რუტინა, რომელიც დამნაშავეს პოულობს:
- გაიტანე ყველაფერი
addons/-იდან, გარდა იმ კამპანიისა, რომელსაც ცდი, და SourceMod სტეკისა. - დარჩენილი VPK-ები ორ-ორად ან სამ-სამად დააბრუნე, ყოველ ჯერზე გამოცდით.
- როცა რამე გაფუჭდება, გახსენი უახლესი წყვილი VPK ინსტრუმენტით და მოძებნე გადაფარული ფაილის გზები.
მხოლოდ სერვერის addon, რომელიც Director-ს ცვლის, უმჯობესია შეიცვალოს SourceMod plugin-ით, რომელიც იმავეს left4dhooks-ით აკეთებს, რადგან plugin-ებს თანაარსებობა შეუძლიათ, ერთნაირი სახელის VScript ფაილებს კი არა.
sv_consistency 1 ფაილების შეუსაბამობას აცხადებს გაგდებით ფაილის სახელით და არა ავარიით, ხოლო sv_pure აკონტროლებს, შეუძლიათ თუ არა მოთამაშეებს თამაშის ფაილების საკუთარი ვერსიების გამოყენება. L4D2-ის pure პარამეტრები უფრო თავისუფალია, ვიდრე ახალ Source თამაშებში, და საზოგადოების ბევრი სერვერი sv_pure 0-ს ტოვებს, რომ მოთამაშეებმა კოსმეტიკური მოდები შეინარჩუნონ. competitive სერვერები ჩვეულებრივ consistency-ს აიძულებენ, რომ შეაჩერონ მოდელების ჩანაცვლება, რომელიც infected-ს უფრო ხილვადს ხდის.
Metamod:Source-ისა და SourceMod-ის დაყენება#
SourceMod არის ის, რითაც L4D2 სერვერი იღებს ადმინებს, კენჭისყრებს, სტატისტიკას, დამატებით სლოტებს და ყოველ competitive კონფიგს. რიგი ფიქსირებულია: ჯერ Metamod:Source, შემდეგ SourceMod, შემდეგ extension-ები, შემდეგ plugin-ები.
left4dead2/addons/ metamod.vdf tells the engine to load Metamod metamod/ sourcemod/ configs/admins_simple.ini admins extensions/ left4dhooks and friends gamedata/ offsets that break on updates plugins/ .smx files logs/ errors live here campaign_one.vpk addons share the folderჩამოტვირთე Metamod:Source-ისა და SourceMod-ის Linux-ის build-ები მათი ოფიციალური საიტებიდან - stable branch, თუ plugin dev-ს არ ითხოვს - და ორივე left4dead2/-ში გახსენი. გადატვირთე, შემდეგ სერვერის კონსოლიდან შეამოწმე:
meta listsm versionsm plugins listsm exts listmeta list, რომელიც SourceMod-ს აჩვენებს, და sm exts list ჩავარდნილი extension-ების გარეშე მომუშავე სტეკია. ადმინები მიდის addons/sourcemod/configs/admins_simple.ini-ში; flag-ების მოდელი SourceMod-ის ადმინის flag-ებსა და იმუნიტეტშია განხილული, და იგივე ფაილი და flag-ები ყველა Source თამაშზე გამოიყენება.
"STEAM_1:1:12345678" "99:z""STEAM_1:0:87654321" "bcdefjk"left4dhooks: extension, რომელიც ყველაფერს სჭირდება
L4D2-ის თითქმის ყოველი თანამედროვე plugin left4dhooks-ზეა დამოკიდებული - ეს extension-ისა და plugin-ის წყვილია, რომელიც თამაშის შიგნეულობას - Director-ს, tank-ისა და witch-ის გაჩენას, survivor-ის მდგომარეობას, infected-ის ქცევას - SourceMod-ს უხსნის. მან ძველი Left 4 Downtown extension-ები ჩაანაცვლა. დააყენე ის მისი ოფიციალური თემიდან ან რეპოზიტორიიდან, მისი gamedata ფაილებით, და განახლებული შეინარჩუნე: როცა L4D2-ის განახლება რამეს გადაადგილებს, ჩვეულებრივ left4dhooks-ის gamedata სწორდება პირველი, და ყველაფერი, რაც მასზეა აგებული, აღდგება.
დაყენებამდე plugin-ის მოთხოვნები შეამოწმე. left4dhooks-ისთვის დაწერილი plugin მის გარეშე არ ჩაიტვირთება, ხოლო შეცდომა addons/sourcemod/logs/-ში დაკარგულ native-ს ასახელებს.
plugin-ები, რომელთა გაშვებაც co-op სერვერზე ღირს
მეგობრების ჯგუფისთვის პირად co-op სერვერს ძალიან ცოტა სჭირდება. SourceMod-ის საკუთარი თანმხლები plugin-ები უმეტესობას უკვე ფარავს: basecommands და adminmenu გაგდებისთვის, რუკის შეცვლისთვის და cvar-ებისთვის sm_admin მენიუდან, basevotes გაგდების კენჭისყრებისთვის, როცა ადმინი არ არის, და nominations rockthevote-თან ერთად, თუ შენს ჯგუფს მომდევნო კამპანიაზე ხმის მიცემა უყვარს. ისინი SourceMod-ს მოყვება და მხოლოდ ჩართული უნდა დარჩეს.
ამის გარდა, დამატებები, რომლებსაც ხალხი რეალურად იყენებს, რამდენიმე ჯგუფად იყოფა:
- კამპანიების როტაცია. plugin-ები, რომლებიც ფინალის შემდეგ სერვერს შემდეგ კამპანიაზე გადაიყვანენ და მოთამაშეებს არჩევის საშუალებას აძლევენ, რომ სერვერი დასრულებულ რუკაზე ადმინის მოლოდინში არ იჯდეს.
- ადმინის გაჩენის ინსტრუმენტები. მენიუები, რომლებიც ადმინს tank-ის, witch-ის ან horde-ის გაჩენის საშუალებას აძლევს, რაც მშვიდ საღამოს ისტორიად აქცევს. All4Dead დიდი ხნის მაგალითია.
- კომფორტი. ready-up saferoom-ის კარის გაღებამდე, AFK-ის მართვა, უმოქმედობისთვის გაგდება იმ მოთამაშისთვის, ვინც alt-tab გააკეთა, და შეტყობინება, როცა მოთამაშე კამპანიის შუაში შემოდის.
- სტატისტიკა. მკვლელობები, გაცოცხლებები და friendly fire თითო მოთამაშეზე. სახალისოა და ზოგჯერ სასარგებლო, როცა ერთი ადამიანი სულ bot-ებს აბრალებს.
თითოდ დაამატე და ყოველის შემდეგ თავი ითამაშე. co-op სერვერი ორმოცი plugin-ით სერვერია, სადაც ვერავინ გაიგებს, რომელმა გააჩინა witch saferoom-ის შიგნით. სერვერის გვერდით მოკლე ტექსტური ფაილი შეინახე, სადაც ჩამოწერილია, რა არის დაყენებული და რატომ; ადამიანი, ვისაც განახლების შემდეგ მისი გასწორება მოუწევს, დიდი ალბათობით შენ იქნები, ექვსი თვის შემდეგ, ყველაფრის დავიწყებული.
ოთხზე მეტი survivor#
ოთხი survivor-ის ლიმიტი თამაშში კომპილირებულია. მის მოსახსნელად ორი ცალკე ნაწილია საჭირო:
- L4DToolZ, Metamod plugin, რომელიც სერვერის მოთამაშეთა ლიმიტს ხსნის და ამატებს cvar-ებს, რომლებიც მას აკონტროლებს -
sv_maxplayers,sv_removehumanlimitდა სხვები, რომლებიც სერვერის გზამკვლევშია განხილული. - multi-slot plugin, როგორიცაა SuperVersus ან MultiSlots-ის რომელიმე ვარიანტი, რომელიც ახალი მოთამაშეებისთვის დამატებით survivor bot-ებს აჩენს, საწყის ნაკრებებს აძლევს და გუნდების ზომას არეგულირებს. მის გარეშე დამატებითი მოთამაშეები მაყურებლებად შემოდიან და სამართავი არაფერი აქვთ.
sv_maxplayers 8sv_visiblemaxplayers 8sv_removehumanlimit 1sv_force_unreserved 1თავად multi-slot plugin-ის cvar-ების სახელები plugin-ებს შორის განსხვავდება, ზოგი კი survivor_limit-საც ცვლის და, versus-ისთვის, z_max_player_zombies-ს. გამოიყენე plugin-ის საკუთარი კონფიგ ფაილი და ნუ დააკოპირებ cvar-ებს ფორუმის პოსტიდან, რომელიც სხვა plugin-ზეა.
ელოდე გვერდით ეფექტებს. თამაშს ოთხი survivor პერსონაჟი აქვს, ამიტომ დამატებითი survivor-ები მათ მოდელებს და ხმოვან ფრაზებს ხელახლა იყენებენ. ზოგი კამპანიის ფინალი და სცენარული მოვლენები ოთხს ვარაუდობს, და ზოგჯერ სამაშველო მანქანა მეხუთედან მერვე survivor-ის გარეშე მიდის. არსებობს ბალანსის plugin-ები, რომლებიც ჩვეულებრივ და სპეციალურ infected-ს survivor-ების რაოდენობის მიხედვით ზრდის, და მის გარეშე რვა survivor-იანი თამაში Expert-ზე უფრო მარტივია, ვიდრე ოთხ survivor-იანი Advanced-ზე. ყოველი დამატებითი survivor CPU-საც ხარჯავს: bot-ების გზის ძიება, მეტი infected, რომელსაც მასშტაბირების plugin-ები აჩენს, მეტი ფიზიკა.
| კონფიგურაცია | RAM | CPU | შენიშვნები |
|---|---|---|---|
| vanilla co-op, 4 მოთამაშე | 1-2 GB | 1 ბირთვი | თამაში მსუბუქია |
| Versus, 8 მოთამაშე | 2 GB | 1-1.5 ბირთვი | ორი გუნდი, ერთი რუკა |
| co-op 8 survivor plugin-ებით | 2-3 GB | 1.5 ბირთვი | მასშტაბირების plugin-ები დატვირთვას ამატებს |
| მძიმე საკუთარი კამპანია პლუს plugin-ები | 3 GB | 1.5-2 ბირთვი | დიდი რუკები, ბევრი ობიექტი |
competitive კონფიგები და tick rate#
competitive versus საზოგადოებები კონფიგების პაკეტებს უშვებენ - Confogl-ის შტოს და მის მემკვიდრეებს, როგორიცაა ZoneMod L4D2 Competitive Rework პროექტში - რომლებიც ათობით plugin-ს, ready-up-ს, პაუზის მართვას და ბალანსის ცვლილებებს აერთიანებს. ისინი დიდი, საკუთარი შეხედულებების მქონე და კარგად მხარდაჭერილია. დააყენე ერთი მთლიანად მისი რეპოზიტორიიდან და ნუ ააწყობ ნაწილებიდან, და ელოდე, რომ ის შენს server.cfg-ის ჩვევებს საკუთარი კონფიგების სისტემით ჩაანაცვლებს.
L4D2 სერვერები ნაგულისხმევად 30 tick-ზე მუშაობს. competitive კონფიგები ჩვეულებრივ მას tickrate enabler extension-ით და -tickrate გაშვების არგუმენტით ზრდიან, რასაც rate cvar-ების შესაბამისად აწევაც სჭირდება - sv_maxupdaterate, sv_maxcmdrate, sv_minrate და sv_maxrate - თორემ მაღალი tick rate მოთამაშეებისთვის არაფერს ცვლის. 100 tick-იანი სერვერი დაახლოებით სამჯერ მეტ CPU-ს ხარჯავს, ვიდრე 30 tick-იანი. მეგობრების co-op ჯგუფისთვის ეს იშვიათად ღირს; რას ნიშნავს სინამდვილეში tick rate ხსნის, რატომ.
განახლებები და მუშაობის შენარჩუნება#
L4D2-ის განახლებები ახლა იშვიათია, რაც კარგი ამბავია, მაგრამ თითოეულს შეუძლია SourceMod-ის, left4dhooks-ისა და L4DToolZ-ის gamedata ერთდროულად გააფუჭოს. თავდაცვითი რუტინა:
- backup განახლებამდე. მთელი
addonsსაქაღალდე და შენიcfgფაილები. შემოწმებული ასლის backup-ის სლოტში შენახვა ნიშნავს, რომ გაფუჭებული განახლება აღდგენა ჯდება და არა საღამო. - განაახლე რიგით. Metamod, SourceMod, left4dhooks, შემდეგ plugin-ები.
- თვალი ადევნე ლოგებს.
addons/sourcemod/logs/errors_<date>.logასახელებს ყოველ plugin-ს, რომელიც ჩავარდა, და მიზეზს. - შეინახე vanilla სარეზერვო ვარიანტი.
server.cfg-ის ასლი, რომელიც უბრალო co-op-ს plugin-ების გარეშე უშვებს, შენს ჯგუფს სათამაშოდ დატოვებს, სანამ სტეკი დაეწევა.
რა ქნა, როცა მოდის განახლება აფუჭებს ამ რუტინის ზოგად ვერსიას ხსნის.
პრობლემების მოგვარება#
მოთამაშეები საკუთარი კამპანიის ჩატვირთვისას ვარდებიან ან აგდებს. მათ ის არ აქვთ, ან სხვა ვერსია აქვთ. სთხოვე გამოწერის გაუქმება და თავიდან გამოწერა, Steam-ის გადატვირთვა და ვერსიის სერვერის ფაილთან შედარება.
მუტაცია არაფერს აკეთებს. mp_gamemode არ ემთხვევა addon-ში მითითებულ რეჟიმის სახელს, ან სხვა addon-ის director_base_addon.nut მას გადაფარავს.
SourceMod plugin-ები ვარდება "native not found"-ით. left4dhooks აკლია ან უფრო ძველია, ვიდრე plugin ელის. განაახლე ის მისი gamedata-თი.
ოთხზე მეტ მოთამაშეს შემოსვლა შეუძლია, მაგრამ დამატებითები მაყურებლები არიან. L4DToolZ მუშაობს, მაგრამ multi-slot plugin არ არის, ან ვერ ჩაიტვირთა. შეამოწმე sm plugins list.
ლობი ჯგუფს სულ ოფიციალურ სერვერზე აგზავნის. ლობის პრობლემაა და არა addon-ის: sv_allow_lobby_connect_only 0 და შესაბამისი sv_search_key. სერვერის გზამკვლევი ამას ხსნის.
განახლების შემდეგ ყველაფერი გაფუჭდა. gamedata. შეამოწმე meta list და sm exts list, შემდეგ რიგით განაახლე.
FAQ#
მოთამაშეებს ჩემი სერვერის addon-ების ჩამოტვირთვა სჭირდებათ?
კამპანიებისა და გეიმფლეის მოდებისთვის კი - სერვერს მათი გაგზავნა არ შეუძლია, ამიტომ ყოველი მოთამაშე იმავე VPK-ს აყენებს ან იმავე Workshop ელემენტს იწერს. მხოლოდ სერვერის SourceMod plugin-ებს მოთამაშის მხარეს არაფერი სჭირდება.
შემიძლია co-op-ში რვაზე მეტი მოთამაშე გავუშვა?
ტექნიკურად, L4DToolZ-ით და multi-slot plugin-ით, კი. პრაქტიკაში თამაში დაახლოებით რვა survivor-ის ზემოთ იშლება: პერსონაჟები მეორდება, ფინალები არასწორად იქცევა და Director-ის ტემპი ინგრევა.
left4dhooks სავალდებულოა SourceMod-ისთვის L4D2-ზე?
თავად SourceMod-ისთვის არა, მაგრამ ბოლო წლებში დაწერილი L4D2-ის თითქმის ყოველი სასარგებლო plugin მასზეა დამოკიდებული. დააყენე ის SourceMod-თან ერთად, როგორც თავისთავად ცხადი.
რატომ წყვეტს ერთი addon მუშაობას, როცა მეორეს ვაყენებ?
ორივეს ერთი და იგივე ფაილი მოაქვს, ჩვეულებრივ director_base_addon.nut ან მოდელის შემცვლელი, და ბოლოს დამაგრებული იმარჯვებს. ერთი მოაშორე, ან სკრიპტის addon შეცვალე SourceMod plugin-ით, რომელიც იმავე საქმეს აკეთებს.
შემიძლია კლიენტის მხარის მოდები სერვერზე გამოვიყენო?
კოსმეტიკური მოდები მოთამაშის საკუთარ მანქანაზე, როგორც წესი, მუშაობს, თუ სერვერი ამის უფლებას იძლევა. სერვერები უფრო მკაცრი sv_pure და sv_consistency პარამეტრებით აგდებენ მოთამაშეებს, ვისი ფაილებიც განსხვავდება, რასაც competitive სერვერები შეგნებულად აკეთებენ.




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