Counter-Strike 1.6-ის სერვერს სჭირდება დაახლოებით 256 MB მეხსიერება, ერთი CPU ბირთვი, რომლის მხოლოდ ერთ thread-ს გამოიყენებს, და ერთი UDP პორტი. ეს ოცი წელია არ შეცვლილა. შეიცვალა ის, რომ Valve-ის ორიგინალ HLDS-ს თითქმის აღარავინ იყენებს: სერვერები, რომლებზეც ხალხი რეალურად თამაშობს, მუშაობს ReHLDS-ზე, ძრავის ხელახლა დაწერილ ვერსიაზე, ხოლო მის თავზე Metamod ტვირთავს AMX Mod X-ს. სწორედ ეს კომპლექტი განასხვავებს სერვერს, რომელზეც 2004 წლის განცდა გრჩება, მუზეუმის ექსპონატისგან.
ეს გზამკვლევი მთელ სურათს მოიცავს: რა არის ReHLDS და ReGameDLL და რატომ ჩაანაცვლეს ორიგინალები, დაყენება SteamCMD-ით, ყველა server.cfg პარამეტრი, რომლის შეცვლაც ღირს, Metamod და AMX Mod X, ადმინის flag-ები და ბრძანებების სია, რუკები და ჩამოტვირთვები, ბოტები და გულწრფელი სურათი თაღლითობასა და non-Steam კლიენტებზე. RE:NODE-ის CS 1.6 ინსტალაციებს ReHLDS, AMX Mod X და Metamod უკვე დაყენებული მოჰყვება, ამიტომ თუ ერთ-ერთზე ხარ, წაიკითხე ეს ტექსტი როგორც იმის ახსნა, რაც უკვე აქვს.
რას უშვებს CS 1.6 სერვერი: HLDS, ReHLDS და ReGameDLL#
ორიგინალური კომპლექტი სამი ნაწილისგან შედგება. ძრავა (hlds_linux და engine_i686.so Linux-ზე, hlds.exe და swds.dll Windows-ზე) მართავს სამყაროს და ქსელს. თამაშის ბიბლიოთეკა (cstrike/dlls/cs.so Linux-ზე, mp.dll Windows-ზე) ახორციელებს თავად Counter-Strike-ს - ყიდვის მენიუს, ბომბს, ფულს. ხოლო cstrike/ მოდის საქაღალდე ინახავს რუკებს, კონფიგურაციებს და ყველაფერს, რასაც რეალურად შეცვლი.
პირველი ორი საზოგადოებამ ჩაანაცვლა:
| ნაწილი | ორიგინალი | ჩამნაცვლებელი | რატომ |
|---|---|---|---|
| ძრავა | HLDS | ReHLDS | crash-ებისა და exploit-ების გასწორება, უკეთესი წარმადობა, დამატებითი cvar-ები |
| თამაშის ბიბლიოთეკა | cs.so / mp.dll | ReGameDLL_CS | დიდი ხნის შეცდომები გასწორდა, კოდში ჩაშენებული ქცევა cvar-ებად გამოჩნდა |
| Plugin loader | არაფერი | Metamod, ან Metamod-r | საშუალებას აძლევს AMX Mod X-სა და სხვა plugin-ებს, ჩაერთონ თამაშში |
ReHLDS პირდაპირი ჩანაცვლებაა: ძრავის binary-ს გადააწერ და დანარჩენი ყველაფერი ისევ მუშაობს. ReGameDLL_CS იგივეა თამაშის ბიბლიოთეკისთვის, და სწორედ ის ამატებს უმეტეს ახალ mp_ cvar-ს, რომელსაც ხალხი ახსენებს - free-for-all რეჟიმს, უსასრულო რაუნდებს, იარაღის ქცევას, რომელიც ადრე კოდში იყო ჩამაგრებული. არცერთი არ ცვლის თამაშის ნაგულისხმევ სტილს. ორივეს GitHub-ზე უვლიან და ორივე ღირს, რადგან ჩვეულებრივ HLDS-ს დიდი ხანია არანაირი სერიოზული შესწორება არ მიუღია და მისი რამდენიმე შეცდომის გამოწვევა დისტანციურად შეიძლება.
საბაზო თამაშის დაყენება SteamCMD-ით არის აპლიკაცია 90, Half-Life-ის dedicated სერვერი, სადაც mod ირჩევა განახლების გაშვებამდე:
$ steamcmd +force_install_dir /home/cs16/server +login anonymous \ +app_set_config 90 mod cstrike +app_update 90 validate +quit$ cd /home/cs16/server$ ./hlds_run -game cstrike +ip 0.0.0.0 +port 27015 \ +maxplayers 24 +map de_dust2აპლიკაცია 90 ცნობილია თავისი ახირებით. SteamCMD ხშირად პირველ ცდაზე ვარდება subscription-ის ან manifest-ის შეცდომით და ზუსტად იგივე გაშვება მეორე ან მესამე ჯერზე გადის, ხოლო +app_set_config 90 mod cstrike +app_update-მდე უნდა იყოს, თორემ Half-Life deathmatch-ს მიიღებ. GoldSrc 32-ბიტიანია, ამიტომ 64-ბიტიან Linux მანქანაზე 32-ბიტიანი C ბიბლიოთეკა უნდა იყოს დაყენებული, სანამ რამეს გაუშვებ. პანელის ჰოსტზე ეს ყველაფერი უკვე გაკეთებულია და სერვერი, რომელსაც იღებ, დასრულებული ხეა.
hlds_run არის wrapper სკრიპტი, რომელიც სერვერს თავიდან ჩართავს, თუ ის გაითიშა; hlds_linux თავად binary-ია. ძველი გზამკვლევები გირჩევენ -pingboost 1-ს 2-ის ან 3-ის ნაცვლად, რაც ცვლის, როგორ იძინებს ძრავა კადრებს შორის. ეს იყო მოგვარება ბირთვებისთვის, რომლებიც აღარ არსებობს, და ReHLDS-ზე ის გამორთული დატოვე.
მოთხოვნები და რესურსების მოხმარება#
| კონფიგურაცია | RAM | CPU | შენიშვნები |
|---|---|---|---|
| 12-16 slot, vanilla და AMXX | 256-512 MB | 1 ბირთვი | გავრცელებული საჯარო სერვერი |
| 24-32 slot, ათეული plugin | 512 MB - 1 GB | 1 ბირთვი | plugin-ების რაოდენობა slot-ებზე მეტს ნიშნავს |
| Zombie Plague, CSDM, Jailbreak 32 slot-ზე | 1-2 GB | 1 სწრაფი ბირთვი | მძიმე AMXX mod-ები თითო მოთამაშის მდგომარეობით |
| ორი სერვერი ერთ მანქანაზე | ზემოთ მოცემულის ორმაგი | თითოს 1 ბირთვი | ერთ thread-ს გამოსადეგად ვერ გაინაწილებენ |
ინსტალაცია გიგაბაიტზე ნაკლებია. ყველაფერი, რაც იზრდება, შენ დამატებული კონტენტია: საკუთარი რუკები, sprite-ები, ხმები და მოდელები, და სწორედ ამისთვის არის გეგმაზე დისკი.
CPU-ში 1.6 უჩვეულოა. GoldSrc მთელ სიმულაციას ერთ thread-ში აწარმოებს, ამიტომ ბირთვების რაოდენობას არაფერი ეშველება და ყველაფერს სიხშირე წყვეტს. sys_ticrate სერვერის კადრების სიხშირის სამიზნეს ადგენს, და საზოგადოების ნაგულისხმევი 1000 მართლა ხარჯავს CPU-ს უფრო გლუვი მოძრაობისა და რეგისტრაციისთვის. გეგმაზე, რომელიც ბირთვის მხოლოდ ნაწილს გაძლევს, sys_ticrate 500 გონივრული კომპრომისია და სხვაობა ძნელი შესამჩნევია; sys_ticrate 100 კი არა, მოთამაშეები მას იგრძნობენ.
ქსელის მოხმარება თანამედროვე სტანდარტებით უმნიშვნელოა - სრული 32-slot-იანი სერვერი წამში რამდენიმე ასეულ კილობაიტს იყენებს. მნიშვნელობა აქვს latency-სა და jitter-ს, რადგან 1.6-ის lag compensation კარგია, მაგრამ სასწაული არ არის, ხოლო ორი ქვეყნის იქით მდგარ სერვერზე დუელებს წააგებ.
server.cfg, ხაზ-ხაზ#
cstrike/server.cfg იკითხება გაშვებისას და ყოველ რუკის შეცვლაზე. აი სრული ვერსია საჯარო სერვერისთვის, დეკორის გარეშე:
hostname "Longship 1.6 // Classic maps // EU"rcon_password "a-long-random-string"sv_password ""sv_contact "you@example.com"sv_lan 0sv_region 3// Rounds and rulesmp_timelimit 30mp_maxrounds 0mp_winlimit 0mp_freezetime 6mp_roundtime 2.5mp_buytime 0.25mp_c4timer 35mp_startmoney 800mp_friendlyfire 0mp_tkpunish 0mp_autoteambalance 1mp_limitteams 2mp_autokick 0mp_flashlight 1mp_footsteps 1mp_forcecamera 0mp_fadetoblack 0mp_hostagepenalty 0mp_chattime 10mp_playerid 0// Physicssv_gravity 800sv_maxspeed 320sv_airaccelerate 10sv_cheats 0pausable 0// Networksys_ticrate 1000sv_maxrate 25000sv_minrate 5000sv_maxupdaterate 101sv_minupdaterate 20sv_unlag 1sv_maxunlag 0.5sv_timeout 65// Contentsv_allowupload 1sv_allowdownload 1sv_downloadurl ""mp_consistency 1// Logslog onmp_logmessages 1mp_logdetail 3sv_logbans 1sv_logecho 1exec banned.cfgexec listip.cfg| პარამეტრი | ნაგულისხმევი | რას აკეთებს |
|---|---|---|
mp_roundtime | 5 | რაუნდის ხანგრძლივობა წუთებში, 1-სა და 9-ს შორის. კომპეტიტიურში 1.75 |
mp_freezetime | 6 | ყიდვის გაყინვა რაუნდის დასაწყისში, წამებში |
mp_buytime | 1.5 | ყიდვის მენიუს დრო წუთებში. 0.25 თხუთმეტი წამია |
mp_c4timer | 45 | ბომბის ტაიმერი. 35 კომპეტიტიური მნიშვნელობაა |
mp_startmoney | 800 | პირველი რაუნდის ფული, 800-დან 16000-მდე |
mp_friendlyfire | 0 | კომპეტიტიურში ჩართული, საჯარო სერვერზე, რომელსაც დასახლებული დარჩენა უნდა, გამორთული |
mp_autoteambalance | 1 | რაუნდის ბოლოს მოთამაშეებს გადაანაცვლებს, რომ გუნდები გათანაბრდეს |
mp_limitteams | 2 | გუნდის ზომების მაქსიმალური სხვაობა, სანამ შესვლა დაიბლოკება |
mp_forcecamera | 0 | 1 მკვდარ მოთამაშეებს მხოლოდ საკუთარი გუნდის ყურებით ზღუდავს |
mp_fadetoblack | 0 | 1 სიკვდილისას ეკრანს ჩაბნელებს. ghosting-ის საწინააღმდეგოდ მატჩებზე |
mp_playerid | 0 | 0 სახელები ყველასთვის, 1 მხოლოდ გუნდისთვის, 2 არავისთვის |
sv_maxupdaterate | 60 | snapshot-ები წამში ერთ კლიენტზე. 101 საზოგადოების სტანდარტია |
sv_unlag | 1 | Lag compensation. არასოდეს გამორთო |
mp_consistency | 1 | უარყოფს კლიენტებს, რომელთა მოდელისა და sprite-ის ფაილები არ ემთხვევა |
კონფიგურაციის ბოლო ორი ხაზი გამოჩენილზე მეტს ნიშნავს. banned.cfg და listip.cfg არის ფაილები, სადაც ძრავა წერს ban-ებს, როცა writeid და writeip-ს გაუშვებ, და ისინი ყველა build-ში ავტომატურად არ იტვირთება - server.cfg-იდან exec-ით ban-ები restart-ს გადაურჩება. ამის დავიწყება კლასიკური "გუშინ დავბანე და ისევ დაბრუნდა" საჩივარია.
პორტები, RCON და დაკავშირება#
| პორტი | პროტოკოლი | დანიშნულება |
|---|---|---|
27015 | UDP | თამაშის ტრაფიკი და Steam query, რომელსაც ბრაუზერი იყენებს |
27015 | UDP | RCON. GoldSrc RCON-ს UDP-ზე აწარმოებს თამაშის პორტზე |
27020 | UDP | HLTV, მხოლოდ თუ proxy გაქვს |
ეს RCON-ის რიგი ხაფანგია მათთვის, ვინც Source თამაშებიდან მოდის. CS:GO და CS2 RCON-ს TCP-ით აწარმოებენ; GoldSrc - UDP-ით, თამაშის იმავე პორტზე, დაუშიფრავად, პაროლით ყოველ პაკეტში. ვისაც შენსა და სერვერს შორის ტრაფიკის დაჭერა შეუძლია, პაროლს მიიღებს და პროტოკოლის ისეთი ვერსია არ არსებობს, რომელიც ამას გამოასწორებს. გამოიყენე პანელის კონსოლი, რომელიც შენი ანგარიშით ავთენტიფიცირდება, და rcon_password გრძელი და ხშირად შეცვლილი გქონდეს. RCON-ის უსაფრთხოდ გამოყენება ზოგადი შემთხვევაა და აქ ორმაგად მოქმედებს.
RE:NODE-ზე CS 1.6-ის გეგმას ერთი პორტის გამოყოფა მოჰყვება, ზუსტად იმდენი, რამდენიც სერვერს სჭირდება. HLTV მეორე პორტზე მეორე პროცესია და თუ გინდა, Network tab-ზე ემატება.
მოთამაშეები სამი გზით უკავშირდებიან: თამაშში ბრაუზერიდან Find Servers-ის ქვეშ, მისამართით დამატებული ფავორიტიდან, ან კონსოლში აკრეფილი connect 203.0.113.10:27015-ით. პირდაპირი დაკავშირება ის გზაა, რომელიც მუშაობს, როცა master list ნელია, და ის, რომლითაც უნდა შეამოწმო, სანამ პრობლემას დაიჯერებ. თუ მისამართის ნაცვლად სახელის მიცემა გირჩევნია, დომენის მიბმა გეიმ სერვერზე A ჩანაწერს განიხილავს და 1.6-ისთვის კარგად მუშაობს, სანამ პორტი მისამართში რჩება.
Metamod და AMX Mod X#
Metamod არის შუალედური ფენა ძრავასა და თამაშის ბიბლიოთეკას შორის, რომ რამდენიმე plugin-მა ერთდროულად შეძლოს თამაშში ჩართვა. AMX Mod X არის plugin პლატფორმა, რომელსაც თითქმის ყველა 1.6 სერვერი იყენებს, და ის Metamod plugin-ად იტვირთება. 1.6-ის სამყაროში სხვას მისი plugin კატალოგის მცირე ნაწილიც კი არა აქვს.
Metamod ისე ინსტალირდება, რომ mod თამაშის ბიბლიოთეკის ნაცვლად მასზე მიუთითებ. cstrike/liblist.gam-ში:
gamedll "addons\metamod\dlls\metamod.dll"gamedll_linux "addons/metamod/dlls/metamod_i386.so"შემდეგ Metamod ტვირთავს ყველაფერს, რაც cstrike/addons/metamod/plugins.ini-შია ჩამოთვლილი, თითო plugin ხაზზე, პლატფორმა წინ:
linux addons/amxmodx/dlls/amxmodx_mm_i386.sowin32 addons\amxmodx\dlls\amxmodx_mm.dllგაუშვი სერვერი და კონსოლში აკრიფე meta list. თუ AMX Mod X ჩანს როგორც გაშვებული, აკრიფე amxx version. ორი ბრძანება, ოცდაათი წამი და იცი, ცოცხალია თუ არა კომპლექტი. ქვემოთ ხე ასე გამოიყურება:
cstrike/addons/amxmodx/ configs/ amxx.cfg core settings users.ini admins plugins.ini which plugins load modules.ini which modules load maps.ini the map vote list cmds.ini commands run at map start plugins/ the .amxx files modules/ engine, fun, cstrike, fakemeta, hamsandwich data/lang/ translations logs/ one file per day scripting/ .sma sources and the compilerPlugin-ები არის .amxx ფაილები plugins/-ში და ირთვება მათი ფაილის სახელის configs/plugins.ini-ში დამატებით. რამდენიმე plugin-ს ჯერ modules.ini-ში მოდულის ჩართვა სჭირდება - fun, cstrike, fakemeta და hamsandwich ჩვეულებრივი ეჭვმიტანილებია, და plugin, რომელიც ვერ იტვირთება და logs/-ში "module not found" ხაზს ტოვებს, თითქმის ყოველთვის ამ შემთხვევაა. Pawn-ზე დაწერილი plugin-ები .sma-დან .amxx-ად scripting/-ის კომპილატორით ითარგმნება, რაც ცოდნად ღირს, რადგან 1.6-ის სასარგებლო plugin-ების ნახევარი წყაროს კოდის სახით არის გამოქვეყნებული.
configs/amxx.cfg ინახავს ძირითად პარამეტრებს. amx_default_access ადგენს, რა შეუძლია მოთამაშეს, რომელსაც users.ini-ში ჩანაწერი არ აქვს, და ცარიელი უნდა დარჩეს. amx_show_activity 2 ადმინის მოქმედებებს ადმინის სახელით აცხადებს, და ეს არის პარამეტრი, რომელიც პერსონალს პატიოსნად ინარჩუნებს. amx_password_field "_pw" ასახელებს კლიენტის მხარის ცვლადს, რომელშიც ადმინის პაროლი იწერება, ანუ იმ setinfo _pw "yourpassword" ხაზს, რომელსაც ადმინი საკუთარ კონფიგურაციაში ამატებს.
ადმინები, flag-ები და ბრძანებები#
ადმინები ცხოვრობენ cstrike/addons/amxmodx/configs/users.ini-ში, თითო ხაზზე, ოთხ ველად: იდენტობა, პაროლი, წვდომის flag-ები, ანგარიშის flag-ები.
; identity password access flags account flags"STEAM_0:1:123456" "" "abcdefghijklmnopqrstu" "ce""STEAM_0:0:987654" "" "bcdefijmnu" "ce""Anna" "herring42" "bcdefij" "a"ანგარიშის flag-ები ადგენს, როგორ ამოიცნობა ადმინი. c ნიშნავს, რომ იდენტობა SteamID-ია, d - რომ IP მისამართია, e - რომ პაროლი არ სჭირდება, ხოლო a გათიშავს ყველას, ვინც ამ სახელით შემოსვლისას არასწორ პაროლს შეიყვანს. SteamID და ce სწორი პასუხია ყველასთვის, ვისაც ენდობი; სახელი და პაროლი კი იმათთვისაა, ვისი ID-ც ჯერ არ გაქვს, და ის მხოლოდ იმდენად კარგია, რამდენადაც პაროლია.
წვდომის flag-ები ერთასოიანი ასოებია და ჯამდება:
| Flag | რას გვაძლევს |
|---|---|
a | იმუნიტეტი სხვა ადმინებისგან |
b | დაჯავშნილი slot |
c | amx_kick |
d | amx_ban, amx_unban, amx_banip |
e | amx_slay, amx_slap |
f | amx_map |
g | amx_cvar უმეტესი cvar-ისთვის |
h | amx_cfg |
i | amx_chat, amx_say, amx_psay, amx_tsay |
j | კენჭისყრის ბრძანებები |
k | წვდომა დაცულ cvar-ებზე, მაგალითად sv_password |
l | amx_rcon და rcon_password |
m-დან t-მდე | ცალკეული plugin-ების განსაზღვრული საკუთარი დონეები |
u | წვდომა ადმინის მენიუზე |
z | ჩვეულებრივი მომხმარებელი, ადმინის უფლებების გარეშე |
abcdefghijklmnopqrstu-ს ყველასთვის დარიგება ისაა, როგორც 1.6 სერვერები საკუთარ პერსონალს ანადგურებს. მოდერატორს სჭირდება bcdefiju და სხვა არაფერი; l RCON-ს იძლევა, ანუ მთელ სერვერს, და ერთ ადამიანს უნდა ეკუთვნოდეს.
| ბრძანება | ეფექტი |
|---|---|
amx_kick <name> [reason] | მოთამაშეს აგდებს |
amx_ban <minutes> <name> [reason] | ბანავს SteamID-ით. 0 სამუდამოა |
amx_banip <minutes> <name> | ბანავს მისამართს |
amx_addban <steamid> <minutes> | ბანავს ისეთს, ვინც დაკავშირებული არ არის |
amx_unban <steamid> | ბანს იღებს |
amx_slay <name> / amx_slap <name> [damage] | კლავს, ან სცემს და ბიძგს აძლევს |
amx_map <map> | რუკას ცვლის |
amx_extendmap <minutes> | მიმდინარე რუკას დროს უმატებს |
amx_votemap <map...> | რუკის კენჭისყრას იწყებს |
amx_cvar <cvar> [value] | cvar-ს კითხულობს ან ადგენს |
amx_rcon <command> | სერვერის ბრძანებას უშვებს |
amx_who | მოთამაშეებს წვდომით ჩამოთვლის |
amx_reloadadmins | users.ini-ს restart-ის გარეშე თავიდან კითხულობს |
amx_plugins / amx_modules | რა ჩაიტვირთა და რა ჩავარდა |
amxmodmenu | თამაშში ადმინის მენიუს ხსნის |
amx_reloadadmins არის ის, რაც უნდა დაიმახსოვრო: საღამოს განმავლობაში მოდერატორის დამატება არაფერი ღირს და restart არ სჭირდება.
რუკები, რუკების ციკლი და ჩამოტვირთვები#
რუკები არის .bsp ფაილები cstrike/maps/-ში, ხშირად .res ფაილის გვერდით, რომელიც ჩამოთვლის დამატებით ხმებს, sprite-ებსა და მოდელებს, რაც რუკას სჭირდება, რომ კლიენტებმა იცოდნენ, რა ჩამოტვირთონ. mapcycle.txt cstrike/-ში არის როტაცია, თითო რუკის სახელი ხაზზე, ხოლო motd.txt არის ტექსტის პანელი, რომელსაც მოთამაშეები შესვლისას ხედავენ.
უმეტეს სერვერზე როტაციას AMX Mod X იღებს. configs/maps.ini არის სია, რომელსაც კენჭისყრის plugin-ები სთავაზობენ, და სტანდარტული mapchooser, nextmap და timeleft plugin-ები ერთად მართავენ რუკის ბოლოს კენჭისყრას, აცხადებენ, რა არის შემდეგი და პასუხობენ say timeleft-ს. თუ ფიქსირებული როტაცია გირჩევნია, plugins.ini-დან ამოიღე mapchooser და mapcycle.txt-ს მიანდე.
საკუთარი კონტენტი ის ადგილია, სადაც 1.6 სერვერები მოთამაშეებს კარგავენ. კლიენტს, რომელსაც შენი რუკა არ აქვს, მის მისაღებად ორი გზა აქვს:
- ძრავის ჩამოტვირთვა,
sv_allowdownload 1-ით. მუშაობს და ტკივილამდე ნელია, 20 MB რუკა კი ორი წუთის ყურებაა პროგრესის ზოლზე. ზოგი კლიენტი თავს ანებებს. sv_downloadurl "http://files.example.com/cstrike", რომელიც მიუთითებს web სერვერზე, სადაც საქაღალდის სტრუქტურაა ასახული -maps/,sound/,sprites/,models/. ფაილები შეიძლება bzip2-ით შეკუმშული იყოს, როგორცde_yourmap.bsp.bz2, და კლიენტი მათ გახსნის. ეს ათეულჯერ სწრაფია და ყველა დატვირთული სერვერი ამას აკეთებს.
მეორე ვარიანტისთვის ნებისმიერი სტატიკური web ჰოსტი გამოდგება, პატარა web ჰოსტინგის გეგმის ჩათვლით - ეს არის ფაილების საქაღალდე HTTP-ზე, ჭკვიანური არაფრით. კონტენტი სერვერზე არსებულის იდენტური იყოს, რადგან mp_consistency 1-თან შეუსაბამო sprite მოთამაშეს გაყრის შეტყობინებით, რომელსაც ვერავინ გაიგებს.
ბოტები, თაღლითობა და non-Steam კლიენტები#
CS 1.6-ს ZBot მოჰყვება, ბოტი, რომელიც Condition Zero-დან გადმოიტანეს. bot_add, bot_add_t, bot_add_ct, bot_quota <n>, bot_difficulty 0-დან 3-მდე და bot_kick არის მთელი ინტერფეისი. ბოტებს რუკისთვის ნავიგაციის ფაილი სჭირდებათ, maps/de_dust2.nav, რომელიც ოფიციალურ რუკებს აქვს და საკუთარ რუკებს თითქმის არასოდეს. ალტერნატივაა Metamod-ის ბოტი, მაგალითად YaPB ან POD-Bot, რომლებიც საკუთარ waypoint-ებს მოაქვთ, საკუთარ რუკებს უკეთ უმკლავდებიან და თითო რუკაზე ინდივიდუალურად კონფიგურირდებიან - ამიტომაც თითქმის ყველა დასახლებული 1.6 სერვერი, რომელიც ბოტებს იყენებს, ZBot-ის ნაცვლად მათგან ერთ-ერთს იყენებს.
თაღლითობა თამაშის გულწრფელი სუსტი წერტილია. VAC არსებობს და უყურადღებოებს იჭერს. სერვერის მხარეს დაცვაა sv_cheats 0, mp_consistency 1 და AMX Mod X-ის ანტიჩიტ plugin, რომელიც შეუძლებელ ქცევას აკვირდება, ასევე ReAuthCheck ReHLDS-ის მხარეს, რომ უარყოს კლიენტები, რომლებიც სხვის SteamID-ს წარადგენენ. ეს არცერთი გადაჭრილი პრობლემა არ არის და მზარდ სერვერს აქტიური ადმინი კიდევ ერთ plugin-ზე მეტად სჭირდება. მოდიფიცირებული სერვერის სისუფთავე mod-ებზეა და არა თაღლითობაზე, მაგრამ დისციპლინა იგივეა.
შემდეგ არის ის, რასაც ყველა 1.6 გზამკვლევი გამოტოვებს. დარჩენილი 1.6 მოსახლეობის დიდი ნაწილი კლიენტის non-Steam build-ებით თამაშობს, და სერვერები, რომლებსაც ეს მოთამაშეები უნდათ, აყენებენ ReUnion-ს, რომელიც მათ იღებს და გენერირებულ იდენტობებს გასცემს. ეს რეალური გზაგასაყარია და არა წვრილმანი. თუ მიიღებ, მიიღებ უფრო დატვირთულ სერვერს, ავთენტიფიკაციის გარეშე მოსახლეობას და SteamID ban-ებსა და SteamID ადმინს, რომლებსაც აღარ აქვს დიდი მნიშვნელობა, რადგან დაბანილი მოთამაშე ახალი იდენტობით ბრუნდება. თუ უარყოფ, შეინარჩუნებ sv_lan 0-ს, რეალურ Steam ავთენტიფიკაციას, ban-ებს, რომლებიც მყარია, და მოთამაშეების უფრო მცირე ბაზას. ორივე ტიპის სერვერი არსებობს და ორივე მუშაობს. გადაწყვიტე გააზრებულად, რადგან გადაწყვეტილების უკვე მოქმედ სერვერზე გადმოტანა ნიშნავს ადმინისა და ban სიების თავიდან აგებას.
პრობლემების მოგვარება#
SteamCMD ვერ აყენებს აპლიკაციას 90. გაუშვი თავიდან. და თავიდან. შენ არ ხარ დამნაშავე; app 90-ის manifest პერიოდულად ვარდება და იგივე ბრძანება მოგვიანებით ცდაზე გადის. შეამოწმე, რომ +app_set_config 90 mod cstrike +app_update 90-მდეა.
სერვერი ირთვება, მაგრამ ბრაუზერში არ ჩანს. შეამოწმე sv_lan 0 და sv_region, შემდეგ სცადე პირდაპირი connect მისამართით. თუ პირდაპირი მუშაობს, სერვერი კარგადაა და master list ნელია.
`meta list` არაფერს ამბობს. liblist.gam კვლავ ორიგინალ თამაშის ბიბლიოთეკაზე მიუთითებს. შეამოწმე ორივე ხაზი, gamedll და gamedll_linux - მხოლოდ შენი პლატფორმის ხაზის შეცვლა კარგია, არცერთის შეცვლა კი ჩვეულებრივი შეცდომაა.
AMX Mod X ჩაიტვირთა, მაგრამ plugin - არა. წაიკითხე addons/amxmodx/logs/. ის დაასახელებს დაკარგულ მოდულს ან კომპილაციის შეცდომას. მოდულები ირთვება modules.ini-ში, plugin-ები plugins.ini-ში და თავად plugin-ის ფაილი plugins/-ში უნდა არსებობდეს.
ადმინებს უფლებები არ აქვთ. ან users.ini-ში SteamID ზუსტად ის არ არის, რაც მოთამაშეს აქვს, ან ანგარიშის flag-ებს c აკლია. გაუშვი amx_who, სანამ ისინი დაკავშირებულები არიან, რომ ნახო, რად მიიჩნევს მათ სერვერი, შემდეგ amx_reloadadmins.
მოთამაშეებს ფაილების შეუსაბამობის გამო აგდებს. mp_consistency 1 და სერვერზე კონტენტი, რომელიც download URL-ის შინაარსისგან განსხვავდება. გახადე ორივე იდენტური.
32 მოთამაშეზე ყველაფერი იჭედება. სანამ plugin-ებს დაადანაშაულებ, sys_ticrate შეადარე CPU ლიმიტს. სერვერი თავის მკაცრ CPU ლიმიტზე ნელია და არა გატეხილი, და თავს კადრების სიხშირის გარდა არაფრით აცხადებს.
FAQ#
ღირს თუ არა Counter-Strike 1.6-ის ჰოსტინგი 2026 წელს?
დიახ, იმ აზრით, რომ სერვერები, რომლებსაც საზოგადოება ჰყავს, ყოველ საღამოს ივსება. ეს თამაში ჰოსტინგისთვის დიდი სხვაობით ყველაზე იაფია, mod-ების სცენას ოცწლიანი სიღრმე უდგას უკან და დარჩენილმა მოსახლეობამ სწორედ დარჩენა აირჩია. ეს არ არის თამაში, რომლისთვისაც სერვერს ჩართავ და დაელოდები, სანამ მოგძებნიან.
რა განსხვავებაა HLDS-სა და ReHLDS-ს შორის?
ReHLDS იგივე ძრავის ხელახლა დაწერილი ვერსიაა, არსებულ mod-ებსა და plugin-ებთან binary-თავსებადი, დაგროვილი crash-ებითა და exploit-ებით გასწორებული და დამატებული cvar-ებით. ეს პირდაპირი ჩანაცვლებაა და დღეს ორიგინალი HLDS-ის გაშვების პრაქტიკული მიზეზი არ არსებობს.
რამდენი RAM სჭირდება CS 1.6 სერვერს?
256 MB პატარა სერვერისთვის, 512 MB სრული 32-slot-იანი სერვერისთვის ჩვეულებრივი plugin-ების ნაკრებით და 1 GB ან მეტი მძიმე AMXX თამაშის რეჟიმებისთვის, როგორიცაა Zombie Plague, რომლებიც ყველა მოთამაშის მდგომარეობას ინახავს. მეხსიერება 1.6-ზე თითქმის არასოდეს არის შემზღუდველი; შემზღუდველი ერთი thread-ის CPU-ა.
როგორ გავხდე ადმინი?
დაამატე ხაზი cstrike/addons/amxmodx/configs/users.ini-ში შენი SteamID-ით, პაროლის გარეშე, სასურველი წვდომის flag-ებითა და ანგარიშის flag-ებით ce. კონსოლში გაუშვი amx_reloadadmins. შემდეგ თამაშში აკრიფე amxmodmenu.
რატომ ჩამოაქვთ მოთამაშეებს რუკები ასე ნელა?
რადგან ძრავის საკუთარი ფაილების გადაცემა 1998 წლისაა. დააყენე sv_downloadurl web სერვერზე, სადაც იგივე maps/, sound/ და sprites/ საქაღალდეებია, სასურველია bzip2-ით შეკუმშული ასლებით, და ჩამოტვირთვა იმდენად სწრაფი გახდება, რომ ხალხი დარჩება.
შეუძლიათ non-Steam კლიენტებს ჩემს სერვერზე შემოსვლა?
მხოლოდ თუ ReUnion-ს დააყენებ, რომელიც მათ იღებს და გენერირებულ იდენტობებს ანიჭებს. კომპრომისი ისაა, რომ SteamID ban-ები და SteamID-ზე დაფუძნებული ადმინი ბევრად სუსტდება. ნაგულისხმევი სერვერი sv_lan 0-ით მხოლოდ Steam კლიენტებს იღებს.




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