كل دليل خادم CS2 تقريباً على الإنترنت هو في الواقع دليل MatchZy: إضافة كاملة للمباريات التنافسية، وجولات السكاكين، وكمّ هائل من الإعدادات. هنا العكس. أنت تريد خادم CS2 مخصّصاً خاصاً لك ولأصدقائك، vanilla خالصاً، بدون إضافات. الإعداد أقصر بكثير مما يُصوّره الإنترنت، ويتلخّص كله في أمر واحد ينساه معظم الناس: توكن تسجيل الدخول صار الآن إلزامياً.
أولاً: توكن 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 ليست وسيط تشغيل. أنت تحمّلها أثناء التشغيل باستخدام host_workshop_map ومعرّف الـ workshop الخاص بالخريطة، فيقوم الخادم بتنزيلها واستضافتها. أضف -disable_workshop_command_filtering إلى سطر التشغيل أولًا، ثم في وحدة تحكم الخادم (أو عبر RCON):
host_workshop_map 3070315466الرقم هو المعرّف من رابط صفحة الـ workshop. التحميل الأول يجلب الخريطة من Steam، فامنحه بعض الوقت. هذه هي مطبّة CS2 التي يقع فيها الجميع: وضع اسم خريطة workshop بعد +map في سطر التشغيل لا يفعل شيئًا؛ يجب أن يكون host_workshop_map.
الحفاظ على الخصوصية
بعد تعيين sv_password، لا يستطيع الاتصال إلا من يكتب كلمة المرور. شارك عنوان IP لخادمك وكلمة المرور مع مجموعتك واطلب منهم استخدام وحدة التحكم: connect your.server.ip:27015; password friends-only. كما أن كلمة المرور تبقي الخادم خارج تجمّع الـ quick-play العام، وهذا ما تريده لمباراة خاصة.