تريد إعداد خادم CS2 لتلعب مع أصدقائك؟ هذا الدليل هو الطريقة اليدوية: خادم Counter-Strike 2 مخصّص وخاص، أصلي (vanilla) بالكامل، بدون MatchZy وبدون إضافات. الإعداد أقصر مما تُظهره معظم الأدلة، ويتلخّص كله في أمر واحد ينساه معظم الناس: توكن تسجيل الدخول صار إلزامياً الآن.
تريد تجاوز الإعداد؟ أنشئ خادم CS2 خاص على 2hours.gg: جاهز في نحو 5 دقائق، مع كلمة مرور وكونسول، ويُدفع بالساعة.
أولاً: توكن GSLT (ليس اختيارياً)
لا يقبل CS2 الاتصالات على IP عام دون Game Server Login Token (GSLT). هذا هو السبب الأكثر شيوعاً لخادم جديد "يعمل بشكل جيد لكن لا أحد يستطيع الدخول". احصل على واحد مجاناً:
- اذهب إلى صفحة Steam Game Server Account Management (steamcommunity.com/dev/managegameservers).
- أنشئ توكناً لـ app ID 730 (Counter-Strike 2). ستحصل على سلسلة طويلة.
- يرتبط بحساب Steam الخاص بك. توكن واحد لكل خادم. لا تشاركه؛ فتوكن مسرَّب قد يتسبب في حظر خوادم حسابك.
ثبّت الخادم
خادم CS2 المخصّص هو التطبيق 730 (نفس تطبيق اللعبة). ثبّته باستخدام SteamCMD:
./steamcmd.sh +login anonymous \
+app_update 730 validate \
+quitتسجيل الدخول المجهول يعمل؛ لا تحتاج إلى امتلاك اللعبة على حساب الخادم. تكون الإعدادات في:
<install>/game/csgo/cfg/server.cfgملف server.cfg بسيط (vanilla)
الصق هذا، وغيّر القيم الثلاث المعلّمة بـ CHANGE ME. بدون إضافات، بدون MatchZy.
// --- Identity ---
hostname "My Private CS2 Server" // CHANGE ME
sv_setsteamaccount "YOUR_GSLT_TOKEN" // CHANGE ME - the token from above
// --- Lock it down ---
sv_password "friends-only" // CHANGE ME - join password
rcon_password "pick-a-long-secret" // admin console over RCON
// --- Vanilla behaviour ---
sv_cheats 0
sv_pure 1
sv_lan 0
mp_autoteambalance 1
mp_limitteams 2
// --- A sane private match ---
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
mp_warmuptime 30
sv_alltalk 0
sv_deadtalk 1هذه إعدادات تنافسية خاصة كاملة. وضع اللعب والخريطة الأولية ليسا هنا: يحدد CS2 ذلك في سطر التشغيل، لأن game_type وgame_mode يجب أن يكونا معروفين قبل تحميل الخريطة.
سطر التشغيل
شغّل الخادم من مجلد التثبيت. لاحظ أنه الآن الملف التنفيذي cs2 مع -dedicated، وليس srcds_run بعد الآن:
./game/bin/linuxsteamrt64/cs2 -dedicated \
-ip 0.0.0.0 -port 27015 \
+game_type 0 +game_mode 1 \
+map de_dust2 \
-maxplayers 10 \
+exec server.cfg- game_type 0 + game_mode 1 هو الوضع التنافسي 5v5 الافتراضي. راجع الجدول أدناه لبقية الأوضاع.
- map de_dust2 هو الخريطة الأولية. أي خريطة رسمية تعمل (de_mirage، de_inferno، cs_office…).
- exec server.cfg يشغّل الـ cvars الخاصة بك، بما فيها sv_setsteamaccount، قبل أن يتصل اللاعبون.
- المنفذ 27015 هو منفذ اللعبة واستعلامات A2S. افتحه في جدار الحماية لديك (UDP + TCP).
أزواج game_type / game_mode
لا يملك CS2 cvar واحدًا للـ"وضع". كل وضع هو زوج من رقمين:
game_type game_mode Mode
0 0 Casual
0 1 Competitive (5v5)
0 2 Wingman (2v2)
0 3 Hostage / Casual (cs_ maps)
1 0 Arms Race
1 1 Demolition
1 2 Deathmatchتبديل game_type على خادم نشط غير مستقر في CS2، لذا اختر وضعك في سطر التشغيل وأعد تشغيل العملية للتغيير. أما تبديل الخريطة فقط (changelevel de_mirage) ضمن الوضع نفسه فهو سهل بلا مشاكل.
تحميل خريطة من الـ Workshop
خرائط Workshop لا توضع بعد +map. تحمّلها باستخدام host_workshop_map ومعرّف الخريطة في Workshop، فينزّلها الخادم ويستضيفها. أضف -disable_workshop_command_filtering إلى سطر التشغيل أولاً، ثم في وحدة تحكم الخادم (أو عبر RCON):
host_workshop_map 3070315466الرقم هو المعرّف الموجود في رابط صفحة Workshop. التحميل الأول يسحب الخريطة من Steam، فامنحه لحظة. هذه هي المشكلة الوحيدة في CS2 التي يقع فيها الجميع: وضع خريطة Workshop بعد +map في سطر التشغيل لا يفعل شيئاً؛ يجب أن تكون host_workshop_map. يمكنك أيضاً وضعها في سطر التشغيل بعد خريطة أساسية: +map de_dust2 +host_workshop_map 3070315466.
الحفاظ على الخصوصية
بعد تعيين sv_password، لا يستطيع الاتصال إلا من يكتب كلمة المرور. شارك عنوان IP لخادمك وكلمة المرور مع مجموعتك واطلب منهم استخدام وحدة التحكم: password friends-only; connect your.server.ip:27015. كما أن كلمة المرور تبقي الخادم خارج تجمّع الـ quick-play العام، وهذا ما تريده لمباراة خاصة.
