Garry's Mod სიტყვასიტყვით sandbox-ია: სერვერი უშვებს იმ Lua-ს, რასაც შენი addon-ები შეიცავს, და მიღებული წარმადობა ამ კოდის თვისებაა და არა თამაშის. ერთსა და იმავე გეგმაზე ორი სერვერი სრულიად განსხვავებულად შეიძლება იქცეს, და განსხვავება addon-ების სიაა. დაყენება არის ერთი SteamCMD ბრძანება და გაშვების ხაზი; ყველაფერი მის შემდეგ არის კონტენტის მიწოდება, Lua-ს დისციპლინა და რამდენიმე კონსოლის ცვლადი. Sandbox სერვერი ათიოდე მეგობრისთვის 1-2 GB-ში ეტევა. ორმოცი ადგილის DarkRP სერვერი დიდი Workshop კოლექციით 4-6 GB-ს ითხოვს და მაინც ერთი CPU core-ით იქნება შეზღუდული.
რას უშვებ სინამდვილეში#
Garry's Mod სერვერი არის Source dedicated server - srcds - რომელიც garrysmod თამაშის დირექტორიას უშვებს, Steam-ზე app id-ით 4020. ის ანონიმურად ინსტალირდება, თამაშის ლიცენზია არ სჭირდება და უმეტეს თანამედროვე თამაშთან შედარებით პატარაა. მის თავზე Lua sandbox დგას: gamemode, ნებისმიერი რაოდენობის addon და Workshop-ის სისტემა, რომელიც მათ მოთამაშეების მანქანებამდე აღწევს.
სამი ფაქტი განსაზღვრავს დანარჩენს:
- სერვერი ნაგულისხმევად 32-ბიტიანია. სტანდარტული branch 32-ბიტიან binary-ს უშვებს, რომელსაც შენი გეგმის მიუხედავად დაახლოებით 3-4 GB-ის მიმართვა შეუძლია. სერვერი, რომელიც მეხსიერების გამოყოფის შეცდომით კვდება, სანამ პანელი თავისუფალ მეხსიერებას აჩვენებს, არ იზღუდება; ის 32-ბიტიან ჭერს მიაღწია. არსებობს
x86-64beta branch, რომელიც 64-ბიტიან binary-ებს 32-ბიტიანების გვერდით აყენებს და დიდი კოლექციებისთვის ღირს - მაგრამ ყველა compiled binary მოდულს, რომელსაც იყენებ, 64-ბიტიანი build-იც უნდა ჰქონდეს. - Lua ერთ thread-ზე მუშაობს. ყველაფერი, რასაც gamemode და ყოველი addon აკეთებს, თანმიმდევრულად ხდება tick-ის შიგნით. არანაირი დამატებითი core ცუდად დაწერილ
Thinkhook-ს იაფს არ გახდის. - კლიენტებს იგივე კონტენტი სჭირდებათ, რაც შენ. ის, რომ სერვერს addon აქვს, თავისთავად არაფერს ნიშნავს. მოთამაშემდე მისი მიტანა ცალკე საქმეა, და სწორედ აქედან მოდის "ჩემი სერვერი გატეხილია" ანგარიშების უმეტესობა.
მოთხოვნები და რესურსების მოხმარება#
| სერვერი | RAM | CPU | შენიშვნები |
|---|---|---|---|
| Sandbox, 8-16 მოთამაშე, პატარა კოლექცია | 1-2 GB | 1 core | ჩვეულებრივი მხოლოდ მეგობრებისთვის სერვერი |
| TTT / murder / prop hunt, 16-24 | 2-3 GB | 1-1.5 core | რაუნდებზე დაფუძნებული რეჟიმები კარგად იქცევა |
| DarkRP, 32-40 მოთამაშე | 4-6 GB | 2-2.5 core | Entity-ები, პროფესიები და პრინტერები, ყველაფერი Lua-ში |
| ყველაფერი 200-ნივთიანი კოლექციით | 4-6 GB | 2+ core | მეხსიერება კოლექციაა და არა მოთამაშეები |
Garry's Mod-ში მეხსიერება Workshop კოლექციის ზომას გაცილებით უფრო მჭიდროდ მიჰყვება, ვიდრე მოთამაშეების რაოდენობას. თითოეული addon-ის Lua-ს, მოდელებსა და მასალებს სერვერი ინახავს, და ასი prop-ის პაკეტი ერთსა და იმავეს ჯდება, ერთი ადამიანი დაკავშირებულია თუ ორმოცი. დისკი ზომიერია - საბაზო ინსტალაცია რამდენიმე გიგაბაიტია, დიდი კოლექცია კი კიდევ რამდენიმეს ამატებს.
CPU არის ჭერი, რომელსაც ყველა რეალურად აწყდება. დასაკვირვებელი რიცხვი სერვერის frame time-ია: თუ სერვერი tick-ს ბიუჯეტში ვერ ასრულებს, მოძრაობა ყველასთვის ერთდროულად ბუქსაობს. გაუშვი stats კონსოლში და წაიკითხე fps და cpu სვეტები; ჯანმრთელ სერვერზე fps შენს tick rate-ზე ან ოდნავ მაღლა დგას. Garry's Mod გეგმები აქ 1 GB-დან იწყება და 6 GB-მდე გადის, რაც sandbox ყუთიდან დაკავებულ roleplay სერვერამდე ყველაფერს მოიცავს.
სერვერის დაყენება და გაშვების ხაზი#
$ steamcmd +force_install_dir /home/gmod/server +login anonymous \ +app_update 4020 validate +quit$ cd /home/gmod/server$ ./srcds_run -game garrysmod -console -usercon -port 27015 \ +maxplayers 24 +gamemode sandbox +map gm_construct \ +host_workshop_collection 123456789 -authkey <steam_web_api_key>პანელზე ამას არ აკრეფ; იგივე მნიშვნელობები Startup tab-ზე ველებად ჩანს. ნებისმიერ შემთხვევაში, ეს არის პარამეტრები, რომლებიც მნიშვნელოვანია:
| პარამეტრი | რას აკეთებს |
|---|---|
-game garrysmod | თამაშის რომელ დირექტორიას ტვირთავს srcds |
-console | მუშაობს კონსოლში და არა ფანჯრის გახსნით |
-usercon | რთავს RCON-ს. მის გარეშე rcon_password არაფერს აკეთებს |
-port 27015 | თამაშის პორტი |
+maxplayers 24 | ადგილების რაოდენობა. restart-ის გარეშე ვერ იცვლება |
+gamemode sandbox | gamemode-ის საქაღალდის სახელი garrysmod/gamemodes-ში |
+map gm_construct | პირველად ჩატვირთული რუკა |
+host_workshop_collection | Workshop კოლექციის id, რომელსაც სერვერი გაშვებისას ჩამოტვირთავს |
-authkey | Steam Web API გასაღები, რომელიც ზემოთ მოცემული ხაზის მუშაობისთვის აუცილებელია |
-tickrate 33 | tick-ები წამში, პირდაპირ დაყენებული |
+sv_setsteamaccount | Game Server Login Token |
ამათგან ორი მეტს იმსახურებს, ვიდრე ერთი სტრიქონი. -authkey არის Steam Web API გასაღები Steam-ის დეველოპერების გვერდიდან, და მის გარეშე host_workshop_collection ჩუმად არაფერს ჩამოტვირთავს - სერვერი იწყება, კოლექცია იგნორირდება, მოთამაშეები კი sandbox-ში აღმოჩნდებიან შენი არცერთი addon-ის გარეშე. და -tickrate-ის პირდაპირ დაყენება სჯობს მემკვიდრეობით მიღებას: წყაროები არ თანხმდებიან, რა არის Garry's Mod-ის ნაგულისხმევი, ამიტომ ჩაწერე რიცხვი გაშვების ხაზში და გამოცნობა შეწყვიტე. 33 გონივრული მინიმუმია prop-ებით სავსე sandbox-ისთვის, 66 კი ყველაფრისთვის, სადაც დამიზნება მნიშვნელოვანია. tick rate-ის გაორმაგება დაახლოებით ორმაგდებს CPU ხარჯს მოთამაშეზე და უკვე ჩამორჩენილ სერვერს არაფერს შველის - რას ნიშნავს tick rate სინამდვილეში ამ არგუმენტის უფრო გრძელი ვერსიაა.
თუ სერვერი ბრაუზერში არასდროს ჩნდება, Game Server Login Token-იც შეამოწმე და არა მხოლოდ პორტი. Token-ები იქმნება app id 4000-ზე Garry's Mod-ისთვის და sv_setsteamaccount-ით ყენდება; Steam game server token-ები ხსნის, რა არის ისინი, როგორ იბლოკება და რატომ არის მნიშვნელოვანი თითო სერვერზე ერთი.
server.cfg და sandbox ლიმიტები#
garrysmod/cfg/server.cfg ყოველ რუკის ჩატვირთვაზე სრულდება. გონივრული საწყისი ფაილი:
hostname "Prop hunt, Thursdays, no minges"sv_password ""rcon_password "long-random-string"sv_lan 0sv_region 3sv_allowcslua 0sv_kickerrornum 10sv_allowdownload 1sv_allowupload 0sv_downloadurl "https://files.example.com/gmod/"net_maxfilesize 64sbox_maxprops 150sbox_maxragdolls 5sbox_maxnpcs 10sbox_maxeffects 50sbox_maxvehicles 6sbox_maxthrusters 30sbox_maxwheels 30sbox_maxdynamite 10sbox_godmode 0sbox_noclip 1sbox_playershurtplayers 1gmod_physiterations 4ნაგულისხმევების გამოცნობა არ გიწევს: აკრიფე ნებისმიერი cvar მარტო სერვერის კონსოლში და ის დაბეჭდავს მიმდინარე მნიშვნელობასა და გამოშვებულ ნაგულისხმევს. რამდენიმე მათგანი სახელებზე მეტ წონას ატარებს:
sv_allowcslua 0კლიენტებს გიშლის, შენს სერვერზე თვითნებური კლიენტის მხარეს Lua გაუშვან. დატოვე 0-ზე. ყველა გზამკვლევი, რომელიც გეუბნება 1-ზე დაყენებას, ერთმოთამაშიანი სატესტო ყუთის გზამკვლევია.sv_kickerrornumკლიენტს იმდენი Lua შეცდომის შემდეგ აგდებს. გატეხილი addon-ის მქონე კლიენტი სხვაგვარად წუთში ათასობით შეცდომის ხაზს გამოიმუშავებს და კონსოლში ყველა სასარგებლოს დამარხავს.sbox_maxpropsარის განსხვავება sandbox სერვერსა და სლაიდშოუს შორის. prop-ების ფიზიკის ხარჯი წრფივი არ არის - ერთი მოთამაშე, რომელიც ასი კასრის შედუღებით ააწყობს, უფრო მეტს ჯდება, ვიდრე ათი მოთამაშე, თითოეული ათი prop-ით.gmod_physiterationsფიზიკის სიზუსტეს CPU ხარჯის პირდაპირპროპორციულად ზრდის. ნუ ასწევ lag-ის გამოსასწორებლად; ეს გამოსწორების საპირისპიროა.sv_regionგანსაზღვრავს, სად ათავსებს ბრაუზერი შენს სერვერს.3არის ევროპა.
რუკის საკუთარი პარამეტრები იწერება garrysmod/cfg/<mapname>.cfg-ში, რომელიც server.cfg-ის შემდეგ სრულდება, როცა ეს რუკა იტვირთება. ასე სუფთად აძლევ ერთ რუკას სხვა prop ლიმიტებს plugin-ის გარეშე.
პორტები და დაკავშირება#
| პორტი | პროტოკოლი | დანიშნულება |
|---|---|---|
27015 | UDP | თამაშის ტრაფიკი და Steam-ის მოთხოვნები |
27015 | TCP | RCON, თუ -usercon არის დაყენებული |
27020 | UDP | SourceTV, თუ ჩართავ |
27005 | UDP | გამავალი კლიენტის პორტი, სერვერის მხარეს გასახსნელი არაფერია |
Source-ი თამაშის ტრაფიკისა და სერვერების ბრაუზერის მოთხოვნისთვის ერთსა და იმავე ნომერს იყენებს, სწორედ ამიტომ სჭირდება Garry's Mod-ს ნაკლები გამოყოფა, ვიდრე DayZ-ს ან Arma-ს. Garry's Mod გეგმებს აქ ერთი გამოყოფა მოჰყვება, დამატებითი პორტები კი Network tab-ზე ემატება, როცა SourceTV ან მეორე სერვერი გინდა.
მოთამაშეებს, რომლებსაც სერვერი ბრაუზერში ვერ პოულობენ, ყოველთვის შეუძლიათ პირდაპირ შესვლა საკუთარი კონსოლიდან ბრძანებით connect 203.0.113.10:27015. ეს ასევე ყველაზე სწრაფი დიაგნოსტიკაა: თუ პირდაპირი დაკავშირება მუშაობს, სერვერი კარგადაა და პრობლემა სიაშია - token აკლია, რეგიონი არასწორია, ან ბრაუზერი უბრალოდ ბრაუზერია. Game server-ის პორტები ახსნილი ზოგადად განიხილავს query-სა და თამაშის პორტის განსხვავებას, ხოლო RCON უსაფრთხოდ ხუთ წუთს ღირს, სანამ პაროლს ამ ფაილში ჩასვამ, რადგან rcon_password ინტერნეტში plaintext პროტოკოლია ერთი საიდუმლოთი.
Workshop კოლექციები, FastDL და დაკარგული კონტენტი#
მიმართე სერვერი Workshop კოლექციაზე და დაე, თვითონ ჩამოტვირთოს საჭირო. addon-ების ხელით ატვირთვა მუშაობს განახლებამდე, რის შემდეგაც სერვერიც და ყველა კლიენტიც განსხვავდება იმაში, რა არის დაყენებული, და ვერავინ უერთდება.
კონტენტი სამი ცალკე გზით შეიძლება მოვიდეს, და მოქმედი სერვერი ჩვეულებრივ სამივეს იყენებს.
Workshop კოლექცია addon-ებისთვისაა. შექმენი ერთი კოლექცია, გახადე საჯარო, ჩასვი მისი id host_workshop_collection-ში და დაამატე -authkey. სერვერი addon-ებს საკუთარი თავისთვის ჩამოტვირთავს. რომ კლიენტებმაც ჩამოტვირთონ, ჩამოთვალე ისინი Lua-ში:
resource.AddWorkshop("1234567890")resource.AddWorkshop("1234567891")FastDL არის ყველაფრისთვის, რაც Workshop addon არ არის: ძველი რუკები, ხმები, თამაშის დირექტორიაში ჩაგდებული საკუთარი მოდელები. დააყენე sv_downloadurl ვებ სერვერზე, რომელიც შენი garrysmod საქაღალდის სტრუქტურის ასლს ინახავს, თითოეული ფაილი bzip2-ით შეკუმშული. მის გარეშე კლიენტები თამაშის პორტით იტვირთავენ იმ სიჩქარით, რომელიც გატეხილად იგრძნობა. მასთან ერთად ისინი იმ სიჩქარით იტვირთავენ, რასაც ვებ ჰოსტი გასცემს. სრული რეცეპტი, საქაღალდეების განლაგებისა და შეკუმშვის ეტაპის ჩათვლით, არის Workshop კოლექციები და FastDL-ში.
Mounted თამაშები ის შემთხვევაა, რომელსაც ვერ გამოასწორებ. ბევრი community რუკა Counter-Strike: Source-ის ტექსტურებით აიგო. თუ მოთამაშეს CS:S არ აქვს და დაყენებული არ აქვს, ის იისფერ-შავ ჭადრაკულ ტექსტურებს და ERROR მოდელებს ხედავს, და სერვერზე გაკეთებული არაფერი ამას არ ცვლის - garrysmod/cfg/mount.cfg მანქანაზე უკვე არსებულ კონტენტს mount-ავს და ლიცენზიას არ ქმნის. ან აირჩიე რუკები, რომლებიც მხოლოდ Half-Life 2-ის კონტენტს იყენებს, ან პირდაპირ უთხარი ხალხს შენს MOTD-ში, რა სჭირდებათ.
Gamemode-ები, ადმინები და DarkRP#
Gamemode არის საქაღალდე garrysmod/gamemodes/-ში, და საქაღალდის სახელი არის ის, რასაც +gamemode-ს გადასცემ. ეს თითქმის ყველას ებმევა, ვინც DarkRP-ს პირველად აყენებს: DarkRP იდება `garrysmod/gamemodes/darkrp`-ში და არა `addons`-ში, ხოლო darkrpmodification - საქაღალდე, რომელიც რედაქტირებისთვისაა განკუთვნილი - იდება garrysmod/addons/darkrpmodification-ში. რომელიმეს არასწორ ადგილას ჩადება გაძლევს სერვერს, რომელიც sandbox-ში იტვირთება და არაფერს ბეჭდავს აშკარად არასწორს. DarkRP სერვერის გაშვება პროფესიებს, entity-ებსა და ფულის სისტემას განიხილავს.
ადმინისტრირებისთვის უფასო სტანდარტია ULX ULib-თან ერთად: ორივე addon-ია, ULib კი თავის მომხმარებლების სიას garrysmod/data/ulib/users.txt-ში ინახავს. ადმინები თამაშის შიგნით მენიუს !menu-თი იყენებენ, პირველი superadmin-ის მიცემა კი ამ ფაილის რედაქტირებით შეგიძლია გაჩერებულ სერვერზე, თუ ჯერ არავინ არის ადმინი. SAM და ServerGuard ფასიანი ალტერნატივებია უკეთესი ინტერფეისითა და დაბალი დანახარჯით; დატვირთულ სერვერზე დანახარჯი რეალური მოსაზრებაა, რადგან ადმინის მოდები ჩატს, spawn-სა და ზიანს ებმის.
რასაც არ უნდა იყენებდე, დააყენე სანამ ვინმეს მოიწვევ. მოდერაციის გარეშე Garry's Mod სერვერი თავის პირველ prop-ების სპამერს ერთ დღეში აღმოაჩენს, ხოლო მასთან გასამკლავებელი ინსტრუმენტები უსარგებლოა, თუ მათ შემდეგ დააყენებ. მოდიანი სერვერის სისუფთავე სამუშაოს დანარჩენ ნაწილს მოიცავს - საიდან მოდის addon-ები და რა უნდა შეამოწმო, სანამ სხვის Lua-ს შენი თამაშის ციკლის root-ად გაუშვებ.
წარმადობა: სად მიდის tick#
უმეტესი gamemode თავის გათვალისწინებულ მოთამაშეთა რაოდენობაზე კარგადაა და მასზე მეტზე ინგრევა, რადგან Lua ციკლი, რომელიც ყოველ მოთამაშეზე მუშაობს, თორმეტზე იაფია და ორმოცზე - ძვირი. თუ სერვერი მხოლოდ შევსებისას ჭედავს, გეგმამდე addon-ების სია უნდა შეამოწმო.
დიაგნოსტიკის მოკლე თანმიმდევრობა, რომელიც მუშაობს:
statusკონსოლში - რამდენი მოთამაშეა და არის თუ არა რომელიმე საშინელ ping-ზე, სანამ დანარჩენები კარგადაა.stats- სერვერის fps და CPU. თუ fps tick rate-ზეა და CPU სვეტი დაბალია, სერვერი პრობლემა არ არის.- უყურე კონსოლში Lua შეცდომებს. ერთი addon, რომელიც
Thinkhook-ში შეცდომას აგდებს, შეცდომის დამმუშავებელს წამში ოცდაცამეტჯერ უშვებს თითო მოთამაშეზე. შეცდომები addon-ის გზას ასახელებს; ჩვეულებრივ ეს არის მთელი გამოძიება. კონსოლის კითხვა მეტს გეტყვის, რა შეინახო და რა უგულებელყო. - ამოიღე კოლექციის ნახევარი სატესტო სერვერზე და თავიდან გაზომე. addon-ების სიის გაყოფა ნახევრად უგემოვნოა და ერთადერთი მეთოდია, რომელიც დამნაშავეს საიმედოდ პოულობს.
ორი სტრუქტურული რამ უფრო მეტს ეხმარება, ვიდრე ტიუნინგი. ლიმიტები prop-ებსა და entity-ებზე იმდენად დაბლა დაიჭირე, რომ მოთამაშეებმა სერვერი შემთხვევით სათამაშოდ გამოუსადეგარი ვერ გახადონ - sbox_maxprops და გამორთვისას გასუფთავების ტაიმერი უმეტესობაა. და restart გრაფიკით. Garry's Mod სერვერები დღეების განმავლობაში აგროვებენ entity-ებს, ტაიმერებსა და მეხსიერებას; ღამის restart, როცა არავინ არის, არაფერი ჯდება და frame time-ს ბრტყელს ინახავს. Restart-ის გრაფიკები, რომლებიც გვეხმარება ინტერვალს მოიცავს, პანელის Schedules tab კი მას cron გამოსახულებით უშვებს.
ცარიელი სერვერი, სხვათა შორის, თითქმის არაფერს აკეთებს: srcds იძინებს, როცა ბოლო მოთამაშე გადის, ამიტომ უსაქმო Garry's Mod სერვერი CPU გრაფიკზე ძლივს ჩანს. თუ შენი ჩანს, შენი addon-ების სიაში რაღაც ტაიმერს უშვებს ვინმეს არსებობის მიუხედავად, და ეს ღირს მოძებნა.
პრობლემების გადაჭრა#
სერვერი იწყება, მაგრამ ჩემი addon-ები არ აქვს. -authkey აკლია ან არასწორია, ან კოლექცია საჯარო არ არის. შეამოწმე გაშვების log Workshop-ის ჩამოტვირთვის ხაზებისთვის.
მოთამაშეები `ERROR` მოდელებითა და ჭადრაკული ტექსტურებით ჩნდებიან. კლიენტზე კონტენტი აკლია. Workshop addon-ებს resource.AddWorkshop სჭირდება; ძველ კონტენტს - FastDL; CS:S კონტენტს - რომ მოთამაშეს CS:S ჰქონდეს.
ყველა ორი წუთი იტვირთება და ნახევარი გადის. sv_downloadurl არ არის, ამიტომ ფაილები თამაშის პორტით წვეთ-წვეთად მოდის. დააყენე FastDL.
სერვერი მეხსიერების ამოწურვის შეცდომით ინგრევა, მიუხედავად იმისა, რომ მეხსიერება თავისუფალია. 32-ბიტიანი მისამართთა სივრცეა და არა შენი გეგმა. შეამცირე კოლექცია ან გადადი x86-64 branch-ზე.
"Reliable channel overflowed" გათიშვები. addon კლიენტებს ერთდროულად ძალიან ბევრ მონაცემს უგზავნის, ჩვეულებრივ spawn-ისას. მოძებნე addon-ების ამოღებით; კლიენტის კონსოლი ასახელებს ბოლო მიღებულ რამეს.
Binary მოდულმა განახლების შემდეგ მუშაობა შეწყვიტა. garrysmod/lua/bin/-ში მოდულები კომპილირდება პლატფორმისა და branch-ის მიხედვით. 64-ბიტიანზე გადასვლა ან Garry's Mod-ის განახლება, რომელიც runtime-ს ცვლის, ყველა მოდულის შესაბამის build-ს საჭიროებს. როცა მოდის განახლება არღვევს ზოგადი შემთხვევაა.
რუკა იცვლება და addon-ების ნახევარი წყვეტს მუშაობას. ზოგი addon მხოლოდ გარკვეულ gamemode-ებზე ინიციალიზდება, ზოგი კი კონფლიქტობს. კონსოლი Lua შეცდომას რუკის ჩატვირთვისას ბეჭდავს; წაიკითხე პირველი შეცდომა და არა მეასე.
FAQ#
რამდენი RAM სჭირდება Garry's Mod სერვერს?
1-2 GB sandbox-ისთვის პატარა კოლექციით, 2-3 GB რაუნდებზე დაფუძნებული gamemode-ებისთვის და 4-6 GB DarkRP-ისთვის ან დიდი Workshop კოლექციისთვის. მეხსიერებას კოლექცია განსაზღვრავს გაცილებით უფრო მეტად, ვიდრე მოთამაშეების რაოდენობა, ხოლო 32-ბიტიან binary-ს 3-4 GB-ზე ბევრის გამოყენება მაინც არ შეუძლია.
უნდა ჰქონდეთ მოთამაშეებს ჩემი სერვერის addon-ები?
არა. resource.AddWorkshop-ით ჩამოთვლილ Workshop addon-ებს კლიენტი ავტომატურად ჩამოტვირთავს. რაც შეიძლება ჰქონდეთ, არის სხვა Valve-ის თამაში, რომლის კონტენტსაც რუკა იყენებს - ყველაზე ხშირად Counter-Strike: Source - და არცერთი სერვერული პარამეტრი მათ მაგივრად ამას ვერ უზრუნველყოფს.
რატომ არ ჩანს ჩემი სერვერი სერვერების ბრაუზერში?
ალბათობის მიხედვით: query პორტი მიუწვდომელია, Game Server Login Token არ არის დაყენებული, sv_lan არის 1, ან ბრაუზერი უბრალოდ ნელია. შეამოწმე connect <ip>:27015-ით კლიენტის კონსოლიდან; თუ ის მუშაობს, გატეხილი მხოლოდ სიაა.
უნდა გავუშვა 64-ბიტიანი branch?
თუ შენი კოლექცია საკმარისად დიდია, რომ 32-ბიტიანი სერვერი დაარღვიოს, კი. სხვაგვარად ეს გარიგებაა: მეტი მეხსიერების მარაგი იმის სანაცვლოდ, რომ ყველა binary მოდულის 64-ბიტიანი build უნდა იპოვო, რასაც ეყრდნობი.
ღირს უფრო მაღალი tick rate-ის ფასის გადახდა?
იშვიათად. 33-დან 66-ზე გადასვლა დაახლოებით ორჯერ მეტ CPU-ს ჯდება მოთამაშეზე და ეხმარება მხოლოდ იმ gamemode-ებში, სადაც სროლის სიზუსტე მნიშვნელოვანია. სერვერი, რომელიც frame time-ში უკვე ჩამორჩება, უარესდება და არა უმჯობესდება.
როგორ შევაჩერო ხალხი, რომ ათასი prop არ გამოიძახოს?
შეამცირე sbox_maxprops და მისი მსგავსი sbox_max* ლიმიტები, დატოვე sv_allowcslua 0-ზე და დააყენე ადმინის მოდი გასუფთავების ბრძანებით, სანამ სერვერს უცხოებს გახსნი. პირველი ინციდენტის შემდეგ დაყენებული ლიმიტები ნუგეშია და არა პრევენცია.




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