კარგი Garry's Mod ჰოსტინგი ძირითადად ერთ CPU ბირთვზეა დამოკიდებული. სერვერი ყველა addon-ის Lua-ს და ყველა prop-ის ფიზიკას ერთ მთავარ thread-ში ასრულებს, ამიტომ სწრაფი ბირთვი, რომლის გარანტირებული წილიც მკაფიოდაა მითითებული და რეალურად დაცული, ფასების გვერდზე ნებისმიერ სხვა სტრიქონზე მნიშვნელოვანია. შემდეგ მოდის მეხსიერება, რომელიც შენს addon-ების კოლექციას ეყოფა და არა სლოტების რაოდენობას, ფაილებზე სრული წვდომა, რომ Lua-ს შეცვლა და addon-ის წაშლა შეგეძლოს, MySQL ბაზა იმავე ქსელში, თუ DarkRP-ს ან საერთო admin mod-ს იყენებ, მდებარეობა მოთამაშეებთან ახლოს და გულწრფელი აღწერა იმისა, რა ხდება შეტევის დროს. „128-tick“, „შეუზღუდავი სლოტები“ და რეგიონების გრძელი სია უმეტესად მხოლოდ დეკორაციაა.
ეს პოსტი შეთავაზების შეფასებას ეხება. სერვერის ინსტალაცია, გაშვების ხაზი და server.cfg განხილულია პოსტში Garry's Mod სერვერის დაყენება; addon-ების მოთამაშეებამდე მიტანა - პოსტში Workshop addon-ები და FastDL; თვითონ DarkRP - DarkRP სერვერის გზამკვლევში; ხოლო addon-ის პოვნა, რომელიც სერვერს ანელებს - პოსტში Garry's Mod სერვერის lag და Lua შეცდომები. აქ ეს ფაქტები იმ კითხვებად არის გადაქცეული, რომლებიც გადახდამდე უნდა დაუსვა ჰოსტს.
რას ითხოვს Garry's Mod სერვერი ჰოსტისგან#
Garry's Mod სერვერი არის srcds, რომელიც garrysmod თამაშის დირექტორიას უშვებს (Steam app id 4020), მასზე კი გეიმმოდი და addon-ების გროვაა დამატებული. ძრავა ძველია და მსუბუქი; თითქმის ყველაფერი, რაც რესურსს ხარჯავს, სხვისი დაწერილი კონტენტია. ამიტომ ჰოსტმა შემდეგი უნდა უზრუნველყოს:
- ერთი სწრაფი ბირთვი მთავარი thread-ისთვის, სადაც Lua hook-ები, timer-ები, entity-ების think ფუნქციები და ფიზიკა ერთმანეთის მიყოლებით სრულდება.
- მეხსიერება, რომელიც addon-ების სიას მიჰყვება. ყველა დაკავშირებული addon-ის მოდელებს, მასალებსა და Lua-ს სერვერი იმახსოვრებს მაშინაც, როცა ერთი მოთამაშეა შემოსული, და მაშინაც, როცა ორმოცი.
- დისკი საბაზო ინსტალაციისთვის (რამდენიმე გიგაბაიტი), Workshop-ის cache-ისთვის, რომელიც კოლექციასთან ერთად იზრდება, და addon-ების მიერ ჩაწერილი ლოგებისა და მონაცემთა ფაილებისთვის.
- ერთი ხელმისაწვდომი port:
27015UDP გადასცემს როგორც თამაშის ტრაფიკს, ისე სერვერების სიის query-ს. RCON TCP-ზე და SourceTV დამატებითი რამეებია. - ბაზა - DarkRP-ისთვის, როცა სერვერი ერთზე მეტია, admin mod-ებისთვის, რომლებიც სერვერებს შორის რანგებს ინახავენ, და ბევრი ლოგირების, ინვენტარისა და ეკონომიკის addon-ისთვის, რომელიც MySQL-ს ელოდება.
- შენი კონტროლი ფაილებზე. Garry's Mod სერვერის გამართვა ჩვეულებრივ ნიშნავს Lua ფაილის შეცვლას, addon-ის საქაღალდის წაშლას ან ლოგის წაკითხვას. ყველაფერი, რაც შენსა და ფაილურ სისტემას შორის დგას, ყველა გასწორებას ანელებს.
თამაშის დროს ტრაფიკი მცირეა. მოთამაშეები პირველ შემოსვლას ამჩნევენ: Workshop-ის კონტენტი Steam-იდან მოდის, მაგრამ ყველაფერი, რაც FastDL-ით იგზავნება, იქიდან მოდის, სადაც შენ დადებ. ეს კონტენტის საკითხია და არა ჰოსტინგის, და ქვემოთ არის განხილული.
CPU: ერთი ბირთვის სიჩქარე და პატიოსანი წილი#
აქ წყდება, გამოვა თუ არა Garry's Mod ჰოსტინგი კარგი. სერვერმა ყოველი tick თავის ბიუჯეტში უნდა დაასრულოს - დაახლოებით 15 ms 66 tick-ზე და 30 ms 33 tick-ზე - და მთავარ thread-ში ყველაფერი ამ ბიუჯეტიდან იხარჯება. თუ addon Think hook-ში tick-ზე 10 ms ხარჯავს, 66-tick ბიუჯეტის ორი მესამედი წაიღო და ვერანაირი დამატებითი ბირთვი ამას ვერ დააბრუნებს. დამატებითი ბირთვები ეხმარება ჩატვირთვას, ქსელს და პროცესის გარშემო ოპერაციულ სისტემას; იმ thread-ს უფრო სწრაფს ვერ ხდის.
ამიტომ კითხვები ერთ ბირთვს ეხება:
- რამდენად სწრაფია ერთი ბირთვი? ახალი დესკტოპის კლასის პროცესორი ან მაღალი სიხშირის სერვერული ჩიპი tick-ის დროზე თვალსაჩინოდ მოქმედებს. ძველი, ბევრბირთვიანი სერვერული პროცესორი დაბალ სიხშირეზე ქაღალდზე შთამბეჭდავი ჩანს, მაგრამ Lua-ს მაინც ნელა ასრულებს. თუ ჰოსტი თავის CPU-ს ასახელებს, ბირთვების რაოდენობის ნაცვლად ერთი thread-ის წარმადობა მოძებნე.
- რამდენი გეკუთვნის? „2 vCPU“ შეიძლება ნიშნავდეს ორ გარანტირებულ ბირთვს, ორ thread-ს, რომელსაც მეზობლების ბრბო იზიარებს, ან წილს, რომელიც დატვირთულ საათებში მცირდება. ჰკითხე, როგორ ხორციელდება ლიმიტი. მცირე მკაცრი ლიმიტი, რომელიც გრაფიკზე ჩანს, მეტია, ვიდრე გულუხვი ციფრი გარანტიის გარეშე - გაზიარებული CPU და ხმაურიანი მეზობლები ხსნის, რატომ ფუჭდება გარანტიის გარეშე მოდელი სწორედ მაშინ, როცა სერვერი სავსეა.
- ხედავ მას? CPU-ს გრაფიკი გეგმის ლიმიტთან შედარებით და თამაშში
statsბრძანება გეუბნება, სერვერს CPU აკლია თუ ის ფუჭად იხარჯება.
გრაფიკს ერთი ხაფანგი აქვს. სერვერი, რომელიც 2 vCPU-იან გეგმაზე ერთი ბირთვის 100%-ზეა, საერთო ჯამში 50%-ს აჩვენებს და მშვიდად გამოიყურება. Game server-ის CPU გამოყენების წაკითხვა გიჩვენებს, როგორ შეამჩნიო ერთი გადატვირთული thread მშვიდი ჯამის უკან. Garry's Mod-ში უფრო სწრაფი შემოწმებაა სერვერის კონსოლში stats: როცა fps სვეტი შენს tick rate-ზე ქვევით ეცემა, მთავარი thread ჩამორჩება.
RE:NODE-ზე CPU არის ერთი ბირთვის პროცენტი - 150 ნიშნავს 1.5 vCPU-ს - და ის მკაცრი throttle-ით აღსრულდება იმ წილზე, რომელიც შეიძინე, თითო სერვერზე ერთი container-ით. სერვერი ლიმიტზე ნელია, მაგრამ ამის გამო არასოდეს ჩერდება. Garry's Mod-ის გეგმები 0.75 vCPU-დან იწყება ყველაზე პატარა დონეზე და 2.5-მდე აღწევს ყველაზე დიდზე.
RAM გეიმმოდისა და addon-ების რაოდენობის მიხედვით#
მეხსიერება ყველა Garry's Mod გეგმის მთავარი ციფრია, თუმცა სლოტების რაოდენობა იმის ცუდი მაჩვენებელია, რამდენი გჭირდება. კოლექციის ზომა უკეთესია. რეალისტური ცხრილი:
| სერვერი | RAM | vCPU |
|---|---|---|
| Sandbox, მეგობრები, 30-ზე ნაკლები addon | 1-2 GB | 0.75-1 |
| TTT, Murder ან Prop Hunt, 16-24 მოთამაშე | 2-3 GB | 1-1.5 |
| Sandbox 100+ addon-ით | 3-4 GB | 1.5-2 |
| DarkRP, 32-40 მოთამაშე | 4-6 GB | 2-2.5 |
| ნებისმიერი გეიმმოდი, 200+ ელემენტის კოლექცია | 4-6 GB | 2+ |
რამდენიმე რამ განსაზღვრავს, თითოეული დიაპაზონის რომელ ნაწილში მოხვდები:
- Addon-ების რაოდენობა და ტიპი. Prop-ების პაკეტები, ტრანსპორტის პაკეტები და რუკის კონტენტი მეხსიერებას ერთხელ, ჩატვირთვისას ხარჯავს. Lua-ზე მძიმე addon-ები - ინვენტარები, სერვერული ლოგიკის მქონე HUD-ები, NPC სისტემები - მეხსიერებასაც ხარჯავენ და CPU-საც, განუწყვეტლივ.
- გეიმმოდი. რაუნდებზე დაფუძნებული რეჟიმები, როგორიც TTT-ა, რუკას რეგულარულად ანულებენ, რაც entity-ებს ასუფთავებს და მეხსიერებას სტაბილურს ინახავს. DarkRP და sandbox სერვერები entity-ებს, prop-ებსა და მონაცემებს მომდევნო restart-მდე აგროვებენ, ამიტომ მნიშვნელოვანია ციფრი ღამის restart-მდე, და არა გაშვების შემდეგ. TTT სერვერის გზამკვლევი დეტალურად განმარტავს, რა სჭირდება ამ გეიმმოდს.
- რუკები. დიდი RP რუკა მკვრივი prop-ებით შესამჩნევად მეტს იყენებს, ვიდრე
gm_flatgrass. ზოგ TTT და RP რუკას Counter-Strike: Source-ის კონტენტიც სჭირდება, რაც დისკსა და მეხსიერებას ამატებს.
შეთავაზებების შედარებისას ეს ნიშნავს: იყიდე დღის ბოლოსთვის და შეამოწმე, რა ხდება ლიმიტზე. ზოგი ჰოსტი სერვერს საშუალებას აძლევს დისკზე swap-ი გააკეთოს, რაც მეხსიერების ნაკლებობას მთელ საღამოს ჩაკვრაში აქცევს. სხვები პროცესს აჩერებენ. RE:NODE-ზე სერვერი, რომელიც მეხსიერების ლიმიტს მიაღწევს, ჩერდება და სუფთად ირთვება swap-ის ნაცვლად, ამიტომ მეხსიერების პრობლემა ჩანს არა როგორც ნელი lag, არამედ როგორც აუხსნელი restart ყოველდღე დაახლოებით ერთსა და იმავე დროს. ორივე შემთხვევაში უნდა იცოდე, რომელ ქცევას ყიდულობ.
32-bit ჭერი
ერთი Garry's Mod-ის თავისებურება დიდ გეგმებს ნაკლებ სასარგებლოს ხდის, ვიდრე ჩანს. სტანდარტული branch 32-bit სერვერის პროცესს უშვებს, რომელსაც დაახლოებით 3-4 GB-ის მისამართება შეუძლია, გეგმას რამდენიც არ უნდა მეხსიერება ჰქონდეს. სერვერი დიდი კოლექციით შეიძლება allocation შეცდომებით ჩავარდეს მაშინ, როცა პანელი გიგაბაიტებს თავისუფლად აჩვენებს. x86-64 beta branch ამ ჭერს აქრობს, ოღონდ ყველა binary მოდულის 64-bit ვერსიებია საჭირო საქაღალდეში garrysmod/lua/bin/.
ამიტომ, სანამ 8 GB-იან გეგმაში გადაიხდი 32-bit სერვერისთვის, საკუთარ თავს ჰკითხე, შეძლებს თუ არა სერვერი მის გამოყენებას. ჰოსტი, რომელიც ღირს არჩევად, branch-ის არჩევის საშუალებას გაძლევს, და ვინც 4 GB-ზე დიდ Garry's Mod გეგმებს ყიდის, უნდა შეეძლოს გითხრას, რომელ branch-ს იყენებს მისი ინსტალაცია.
Workshop კოლექციები, FastDL და დისკი#
Garry's Mod-ს ორი კონტენტ სისტემა აქვს და ჰოსტი მათზე სხვადასხვანაირად მოქმედებს.
სერვერის მხარე - რასაც სერვერი ტვირთავს - ჩვეულებრივ Workshop კოლექციაა, რომელიც გაშვებისას მაუნთდება:
+host_workshop_collection 123456789 -authkey <steam_web_api_key>სერვერი კოლექციას ჩატვირთვისას ჩამოტვირთავს და cache-ში ინახავს. ამისთვის საჭიროა Steam-ზე გამავალი წვდომა, დისკი cache-ისთვის და გაშვების ხაზი, რომლის რედაქტირებაც რეალურად შეგიძლია. ჰოსტი, რომელიც მხოლოდ addon-ების ფიქსირებული სიიდან არჩევის საშუალებას გაძლევს ან შენს გაშვების პარამეტრებს გადაწერს, ამას საჭიროზე რთულს ხდის. კოლექციის ზრდასთან ერთად cache გაშვებასაც ანელებს, რაც მნიშვნელოვანია, როცა crash-ის ან restart-ის შემდეგ მოთამაშეები ელოდებიან.
კლიენტის მხარე - რასაც მოთამაშეები ჩამოტვირთავენ - Steam-ის საქმეა ყველაფრისთვის, რაც resource.AddWorkshop-ით დაემატა, და FastDL-ის საქმეა ცალკეული ფაილებისთვის, რომლებიც resource.AddFile-ითაა მითითებული. FastDL ჩვეულებრივი web სერვერია, რომელიც შენი ფაილების შეკუმშულ ასლებს ინახავს, sv_downloadurl კი მასზე მიუთითებს:
sv_downloadurl "https://fastdl.example.net/garrysmod/"sv_allowdownload 0FastDL-ს თამაშის სერვერზე გაშვება არ სჭირდება და, როგორც წესი, არც უნდა გაუშვა. პატარა web ჰოსტი სტატიკურ ფაილებს srcds-ზე გაცილებით უკეთ ემსახურება და ჩამოტვირთვის ტრაფიკს თამაშის პროცესს აშორებს. შეთავაზებების შედარებისას შეამოწმე, თამაშის გეგმას web სერვერი მოჰყვება თუ ცალკე გჭირდება - და თუ ძირითადად Workshop კონტენტზე გადადიხარ, შესაძლოა FastDL საერთოდ არ დაგჭირდეს. Workshop addon-ები და FastDL შეიცავს სრულ დაყენებას, .bz2 შეკუმშვისა და საქაღალდეების იმ სტრუქტურის ჩათვლით, რომელზეც ხალხი წაიფორხილებს.
RE:NODE-ზე თამაშის გეგმებში web სერვერი არ შედის, მაგრამ web ჰოსტინგის პატარა გეგმა FastDL-ს domain-ით და სერტიფიკატით ემსახურება, რომელიც proxy slot-ის მეშვეობით ავტომატურად გაიცემა და განახლდება. Garry's Mod გეგმებზე დისკი NVMe-ზე 10 GB-დან 40 GB-მდეა, რაც დიდ კოლექციას და მის cache-ს მშვიდად იტევს.
MySQL DarkRP-ისთვის, admin mod-ებისთვის და ლოგებისთვის#
ერთ Garry's Mod სერვერს SQLite-ზეც შეუძლია კარგად მუშაობა. DarkRP ფულს და მფლობელობაში არსებულ კარებს ნაგულისხმევად garrysmod/sv.db-ში ინახავს, ULX თავის ჯგუფებს და ban-ებს მონაცემთა ფაილებში, და ბევრი addon იმავე ლოკალურ sv.db-ში წერს. ერთი სერვერისთვის ეს საკმარისია და გეგმაში ჩართული ბაზა არ არის მისი არჩევის მიზეზი.
MySQL გჭირდება, როცა:
- ერთზე მეტ სერვერს უშვებ და სერვერებს შორის საერთო ფულს, რანგებს ან ban-ებს ეძებ.
- addon მას ითხოვს. ბევრი ლოგირების, ინვენტარის, ეკონომიკისა და admin addon MySQL შენახვას გვთავაზობს და ზოგი დიდი მის გარშემოა აგებული. SAM-ს თავისი მონაცემების MySQL-ში შენახვა შეუძლია; ULX-ს ამისთვის ცალკე addon სჭირდება.
- მონაცემების დათვალიერება ან გასწორება გინდა სერვერის მუშაობისას, phpMyAdmin-იდან ან კლიენტიდან, და არა სერვერის გაჩერებით, რომ
sv.dbგახსნა.
Garry's Mod MySQL-ს binary მოდულით უკავშირდება - ჩვეულებრივ mysqloo - რომელიც garrysmod/lua/bin/-შია მოთავსებული. მოდული სერვერის პლატფორმასა და branch-ს უნდა ემთხვეოდეს: gmsv_mysqloo_linux.dll 32-bit Linux სერვერისთვის, gmsv_mysqloo_linux64.dll x86-64-ისთვის. .dll გაფართოება Linux-ზე სწორია და ყველას ათქმევინებს „რა?“. ჰოსტი, რომელიც lua/bin-ში ფაილების ატვირთვის საშუალებას არ გაძლევს ან შენს მოსალოდნელზე სხვა branch-ს უშვებს, ამას ჩუმად არღვევს: DarkRP SQLite-ზე უბრუნდება და ფული თითქოს ნულდება.
სამი კითხვა ნებისმიერი შეთავაზებისთვის:
- ბაზა ჩართულია თუ ცალკე ფასდება? ეს ორი მსგავსი გეგმის შედარებას ცვლის.
- სად მუშაობს? Addon-ები ბევრ პატარა query-ს აგზავნიან. იმავე ქსელში მყოფი ბაზა მილიწამზე სწრაფად პასუხობს; უფასო დაშორებული ბაზა სხვა კონტინენტზე ყოველ query-ს ათეულობით მილიწამს ამატებს, რაც ჩაკვრებად იქცევა, როცა მთავარი thread მას ელოდება.
- აქვს backup და შეგიძლია მისი გამოტანა? ბაზა, რომელსაც dump-ს ვერ გაუკეთებ, ბაზაა, რომელსაც ვერ გადაიტან.
RE:NODE-ის ყველა Garry's Mod გეგმა ერთ ბაზის slot-ს შეიცავს, რომელიც პანელიდან იქმნება გენერირებული host-ით, user-ითა და password-ით, და ღილაკით „Open in phpMyAdmin“, რომელიც ერთჯერადი token-ით გაგიშვებს შიგნით. თუ ბაზა საკუთარ რესურსებზე გინდა, MySQL 8.4 LTS ცალკეც იყიდება ბაზის ჰოსტინგში. admin მხარე - ჯგუფები, უფლებები და მათ შორის არჩევანი - აღწერილია პოსტში ULX და SAM admin.
Tick rate და რას ნიშნავს „high tick“ შეთავაზებები#
Tick rate გაშვების ხაზში -tickrate-ით დგინდება. Garry's Mod სერვერები ჩვეულებრივ 33-ზე ან 66-ზე მუშაობენ. მისი გაზრდა tick-ზე CPU ხარჯს დაახლოებით ორმაგს ხდის და სერვერს, რომელიც უკვე ჩამორჩება, არაფერს შველის.
| გეიმმოდი | გონივრული tick rate | რატომ |
|---|---|---|
| Sandbox, DarkRP, როლური თამაში | 33 | ბევრი entity, დამიზნება ნაკლებად მნიშვნელოვანია |
| TTT, Murder, Prop Hunt | 33-66 | entity-ების ზომიერი რაოდენობა, ცოტა სროლა |
| საბრძოლო რეჟიმები | 66 | hit registration მნიშვნელოვანია |
ამიტომ „128-tick Garry's Mod ჰოსტინგი“ უცნაური რამაა სარეკლამოდ. ნებისმიერ ჰოსტს შეუძლია გაძლიოს -tickrate 128-ის აკრეფა; კითხვა ისაა, შეძლებს თუ არა ერთი ბირთვი tick-ის 8 ms-ზე ნაკლებში დასრულებას შენი addon-ებით, და DarkRP სერვერისთვის თითქმის დარწმუნებით ვერ შეძლებს. გეგმა, რომელიც tick rate-ზეა გაყიდული, გაშვების პარამეტრს ყიდის. შენ გჭირდება თავად დაადგინო მნიშვნელობა და CPU, რომელიც საკმარისად სწრაფია მის დასაჭერად. რას ნიშნავს სინამდვილეში tick rate უფრო ვრცლად განიხილავს ამას.
მდებარეობა, latency და DDoS#
მდებარეობა იქ აირჩიე, სადაც შენი მოთამაშეები არიან. Source სხვა მოთამაშეების მოძრაობას ინტერპოლირებს, ამიტომ ზომიერი latency კარგად იმალება, მაგრამ დაახლოებით 100 ms-ს მიღმა TTT-ში სროლა უსამართლოდ იგრძნობა, sandbox-ში კი prop-ები მათ მტვირთველ მოთამაშეს ჩამორჩებიან. Garry's Mod-ის უმეტესი თემი რეგიონალურია; სერვერი იქ დადგი, სადაც რეგულარულ მოთამაშეთა უმეტესობა ცხოვრობს, და გადახდამდე საღამოს სთხოვე რამდენიმე მათგანს ჰოსტის სატესტო მისამართზე ping-ი. Latency, jitter და packet loss განმარტავს, საშუალოს გარდა რას უნდა დააკვირდე.
RE:NODE ერთ მდებარეობაზე, გერმანიაში, ჩვენივე აპარატურაზე მუშაობს. ეს ევროპასა და მის მახლობლად მყოფ მოთამაშეებს უხდება და არასწორი არჩევანია ჩრდილოეთ ამერიკის ან აზიის თემისთვის.
შეტევები ქსელის საკითხის მეორე ნახევარია. Source სერვერები დიდი ხანია query flood-ებისა და reflection შეტევების სამიზნეა, DarkRP თემები კი ჩხუბებს იზიდავენ. სერვერამდე ფილტრაცია კარგად აგდებს volumetric flood-ებს, reflection ტრაფიკს და დეფექტურ პაკეტებს. ცუდად კი ვერ არჩევს შეტევას, რომელიც რეალური კლიენტებივითაა აგებული, რეალური კლიენტებისგან. ჰოსტის განცხადების კითხვისას ეძებე, რა ფილტრდება მარტივი სიტყვებით, რა ხდება, როცა ფილტრაცია საკმარისი არ არის (ზოგი ჰოსტი დიდი შეტევისას მისამართს null-route-ში აგდებს, რაც სერვერს გათიშავს), და არავითარი დაპირება downtime-ის სრულ არარსებობაზე. ჰოსტი, რომელიც ნებისმიერი შეტევისას downtime-ის არარსებობას გპირდება, წინადადებას გყიდის და არა სერვისს. DDoS შეტევები game server-ებზე კატეგორიებს გადის.
RE:NODE-ზე ფორმულირება ზუსტად ესაა: სერვერამდე ფილტრაცია, რომელიც აშკარა volumetric flood-ებს აგდებს, პლუს reflection და დეფექტური ტრაფიკი. შეტევები, რომლებიც რეალურ მოთამაშეებს ჰგავს, არ ფილტრდება.
ნაწილი დაცვისა შენზეა. rcon_password გრძელი გქონდეს ან საერთოდ არ დააყენო და TCP 27015 არ გახსნა, თუ RCON არ გჭირდება - რატომ, ამას განმარტავს RCON უსაფრთხოდ. პატარა სერვერებზე ბევრი „შეტევა“ სინამდვილეში backdoor-იანი addon ან გამოყენებადი net message აღმოჩნდება, რომელსაც ქსელის ვერანაირი ფილტრი ვერ დაიჭერს.
პანელის ფუნქციები, რომლებსაც ნამდვილად აქვს მნიშვნელობა#
უმეტესი ჰოსტინგ პანელი screenshot-ებზე ერთნაირად გამოიყურება. აი ფუნქციები, რომლებსაც ყოველკვირეულად გამოიყენებ:
- გაუფილტრავი კონსოლი ისტორიით. Lua შეცდომები იქ თავს აცხადებენ იმ addon-ის ფაილის გზით, რომელმაც ისინი გამოიწვია. კონსოლი, რომელიც გამოტანას მალავს ან ჭრის, შენს პრობლემებსაც მალავს.
- ფაილებზე სრული წვდომა, SFTP-ის ჩათვლით. Addon-ის წაშლა საქაღალდის წაშლაა; მისი გასწორება Lua ფაილის რედაქტირება. რუკების პაკეტის ატვირთვა ბრაუზერის ფორმით მტკივნეულია; SFTP-ით - ჩვეულებრივი საქმე. SFTP და ფაილების მენეჯერი დეტალებს შეიცავს.
- რედაქტირებადი გაშვების ხაზი. კოლექციის ID, გეიმმოდი, რუკა, tick rate, მოთამაშეთა მაქსიმუმი და branch ყველა იქ ცხოვრობს. პანელი, რომელიც მას მოკლე ფორმიდან აგენერირებს და ყველაფერს, რასაც ვერ ცნობს, აგდებს, პრობლემაა.
- დაგეგმილი restart-ები. Sandbox და DarkRP სერვერებს ღამის restart ეხმარება. განრიგი, რომელსაც გაფრთხილების გაგზავნა, ლოდინი და შემდეგ restart შეუძლია, უფრო ღირს, ვიდრე ნებისმიერი „crash-ზე ავტო-restart“ ჩექბოქსი - restart-ის განრიგები, რომლებიც გვეხმარება დროის არჩევას განიხილავს.
- Backup-ები მანქანის გარეთ, რომელთა აღდგენაც შენ შეგიძლია და რომლებიც
garrysmod/data-ს,sv.db-ს და შენს კონფიგურაციას მოიცავს. Backup, რომელიც იმის გვერდით ინახება, რასაც იცავს, სერვერის დაკარგვისგან არ გიცავს. - Subuser-ები. Garry's Mod სერვერებს პერსონალის გუნდები უძღვებიან. დეველოპერს ფაილები სჭირდება; მოდერატორს შეიძლება მხოლოდ კონსოლი. ანგარიშის პაროლის გაცემით იკარგება სერვერები.
RE:NODE-ზე ყველა გეგმას ერთი და იგივე პანელი აქვს: ცოცხალი კონსოლი ისტორიით, ფაილების მენეჯერი ბრაუზერში რედაქტორით, SFTP თითო სერვერის საკუთარი credentials-ით, Schedules ჩანართი, რომელიც კონსოლის ბრძანებებს, backup-ებს და power მოქმედებებს თანმიმდევრობით ასრულებს, backup slot-ები მანქანის გარეთ შენახული და subuser-ები მხოლოდ კონსოლზე ან მხოლოდ ფაილებზე წვდომით. Mod-ებსა და addon-ებს შენ აყენებ, ფაილების მენეჯერით, SFTP-ით ან Workshop-ით - დაშვებული addon-ების სია არ არსებობს და არც ერთი კლიკით addon-ის ინსტალერი.
საეჭვო ნიშნები Garry's Mod ჰოსტინგის შეთავაზებებში#
ზოგი შეთავაზება უბრალოდ ძვირია. სხვები გეუბნებიან, როგორ მუშაობს ჰოსტი.
- „შეუზღუდავი სლოტები.“ Garry's Mod
-maxplayers-ს 128-ზე ზღუდავს და რეალური ლიმიტი მთავარი thread-ია, ამაზე გაცილებით ადრე. „შეუზღუდავი“ ნიშნავს, რომ არავის შეუმოწმებია. - „უფასო პრემიუმ addon-ები“ ან „სრული DarkRP პაკეტი ჩართულია.“ ფასიანი Garry's Mod addon-ები მყიდველზეა გაყიდული, ჩვეულებრივ Garry's Mod-ის მარკეტპლეისებით, ლიცენზიის შემოწმებით. მათი უფასო პაკეტი თითქმის ყოველთვის გაჟონილია, გაჟონილი addon-ები კი backdoor-ების კარგად ცნობილი გზაა, რომელიც სხვას შენს სერვერზე RCON დონის კონტროლს აძლევს. რა უნდა გააკეთო, როცა სერვერი გატეხეს გვერდია, რომელიც არ გინდა, რომ დაგჭირდეს.
- vCPU ციფრი ახსნის გარეშე. „4 ბირთვამდე“ იმის ახსნის გარეშე, როგორ ხორციელდება, ჩვეულებრივ ნიშნავს იმას, რაც დარჩება.
- დიდი გეგმები branch-ის შესახებ ერთი სიტყვის გარეშე. 8 GB 32-bit სერვერზე არის 4 GB, რომლის გამოყენებაც არ შეგიძლია.
- binary მოდულების ატვირთვის ან გაშვების ხაზის რედაქტირების საშუალება არ არის. კარგავ MySQL-ს, 64-bit branch-ს და სასარგებლო addon-ების ნახევარს.
- ბაზა არ არის, ან სხვა კონტინენტზეა. ხარჯი, რომელსაც ჩაკვრების ერთი კვირის შემდეგ აღმოაჩენ.
- Backup-ები არ არის, ან იმავე დისკზეა. იხილე backup-ები, რომლებიც ნამდვილად აღდგება.
- Downtime-ის გარეშე DDoS დაპირებები და 100% SLA. ამას არავინ აღასრულებს, რაც გაფიქრებინებს, კიდევ რა არის გვერდზე დეკორაცია.
ამათგან არც ერთი არ ამტკიცებს, რომ ჰოსტი არაპატიოსანია. ზოგი სხვა მომხმარებლისთვის აგებული პროდუქტის ნიშანია. მაგრამ თემი თავის პირველ ჰოსტზე თვეობით ცხოვრობს და მოგვიანებით გადასვლა ნიშნავს შაბათ-კვირას მონაცემთა საქაღალდეების კოპირებასა და მოთამაშეების ახალ მისამართზე გადამისამართებას.
ჩეკლისტი გადახდამდე#
იმ თანმიმდევრობით, რომლითაც ღირს შემოწმება:
- მდებარეობა მოთამაშეთა უმეტესობასთან ახლოს, რამდენიმე მათგანის ping-ით დადასტურებული.
- CPU: სწრაფი ბირთვის მითითებული წილი, აღსრულებადი და გრაფიკზე ხილული.
- მეხსიერება შენი addon-ების კოლექციისთვის დღის ბოლოს, ლიმიტზე ცნობილი ქცევით და ცნობილი branch-ით.
- გაშვების ხაზი და ფაილები სრულად რედაქტირებადი, SFTP ხელმისაწვდომი,
lua/binჩასაწერი. - ბაზა იმავე ქსელში, თუ გჭირდება, ჩართული ან შედარებაში ფასით გათვალისწინებული.
- FastDL დაგეგმილი: მხოლოდ Workshop, ან პატარა web ჰოსტი თამაშის სერვერის გვერდით.
- Backup-ები მანქანის გარეთ, შენ მიერ აღდგენადი.
- პატიოსანი DDoS აღწერა და მხარდაჭერის გზა, რომელიც შენ გამოსცადე.
ყველა თამაშზე მოქმედი ნაწილებისთვის იხილე როგორ ავირჩიოთ game server-ის ჰოსტინგი და game server-ის CPU მოთხოვნები.
FAQ#
რამდენი RAM სჭირდება Garry's Mod სერვერს?
1-2 GB sandbox ან TTT სერვერისთვის მოკრძალებული კოლექციით, 3-4 GB, როცა დაახლოებით ასი addon-ს გადააჭარბებ, და 4-6 GB დატვირთული DarkRP სერვერისთვის. გაზომე ღამის restart-მდე და არა გაშვების შემდეგ და გახსოვდეს, რომ ნაგულისხმევი 32-bit სერვერი დაახლოებით 4 GB-ზე ბევრად მეტს ვერ იყენებს.
DarkRP სერვერი TTT-ზე მომთხოვნია?
ჩვეულებრივ, დიახ. TTT რუკას ყოველ რაუნდზე ანულებს, რაც entity-ების რაოდენობას და მეხსიერებას კონტროლში ინახავს. DarkRP მთელი სესიის განმავლობაში prop-ებს, პრინტერებსა და მოთამაშის მონაცემებს აგროვებს და მისი addon-ები Lua-ზე მძიმეა, ამიტომ იმავე მოთამაშეთა რაოდენობაზე უფრო მეტი მეხსიერება და უფრო სწრაფი მთავარი thread სჭირდება.
მჭირდება MySQL Garry's Mod სერვერისთვის?
ერთი სერვერისთვის არა. sv.db-ში SQLite DarkRP-ს და addon-ების უმეტესობას კარგად უმკლავდება. MySQL ღირს მაშინ, როცა რამდენიმე სერვერი საერთო ფულს, რანგებს ან ban-ებს იზიარებს, ან როცა addon, რომელიც გინდა, მის გარშემოა აგებული.
გახდის თუ არა უფრო მაღალი tick rate ჩემს სერვერს უფრო გლუვს?
მხოლოდ თუ CPU-ს შეუძლია მისი დაჭერა. სერვერი, რომელიც stats-ში უკვე თავის tick rate-ზე ქვევით ეცემა, მაღალზე უარესდება. ჯერ ძვირი addon-ები გაასწორე და მერე გაზარდე rate, თუ მარაგი არსებობს.
შემიძლია FastDL იმავე სერვერზე გავუშვა?
შეგიძლია, მაგრამ პატარა ცალკე web სერვერი ამას უკეთ აკეთებს და ჩამოტვირთვის ტრაფიკს თამაშის პროცესს აშორებს. ბევრი სერვერი ახლა მხოლოდ Workshop კონტენტს იყენებს და FastDL საერთოდ არ სჭირდება.
შემიძლია მოგვიანებით Garry's Mod სერვერი სხვა ჰოსტზე გადავიტანო?
დიახ. დააკოპირე garrysmod/addons, garrysmod/data, garrysmod/cfg, sv.db და ყველა binary მოდული, თუ MySQL ბაზას იყენებ, გააკეთე მისი dump და import, შეამოწმე, რომ branch ემთხვევა, და მოთამაშეები ახალ მისამართზე მიმართე. დანარჩენს სერვერის გადატანა მოთამაშეების დაკარგვის გარეშე მოიცავს.


