تحويل Synology NAS إلى خادم لعبة



تحية طيبة!

لذلك ، لجميع الأسباب المعروفة ، عليك قضاء المزيد من الوقت في المنزل أمام الشاشة.
في هذه الحالة ، من الضروري أن نتذكر شؤون الأيام الخوالي.

كما هو واضح بالفعل من عنوان هذه المقالة ، سنتحدث عن إعداد Synology NAS كخادم ألعاب.

Achtung - هناك الكثير من لقطات الشاشة في المقالة (لقطات قابلة للنقر)!

قبل أن تبدأ ، إليك قائمة بالأدوات التي نحتاجها:

Synology NAS - لا أرى أي قيود هنا ، أعتقد أن أي شخص سيفعل ذلك ، إذا لم تكن هناك خطط للاحتفاظ بخادم لـ 10 آلاف لاعب.

Docker - لا توجد مهارات خاصة مطلوبة ، مجازياً بما يكفي لفهم مبدأ العمل.

LinuxGSM - حول ما LinuxGSMيمكن قراءتها. https://linuxgsm.com على الإنترنت .

حاليًا (أبريل 2020) ، تتوفر 105 خوادم ألعاب على LinuxGSM.
يمكن العثور على القائمة الكاملة هنا https://linuxgsm.com/servers .

Steam هو سوق به ألعاب.

يتكامل خادم ألعاب LinuxGSM مع SteamCMD ، أي أن خادم ألعاب LinuxGSM يمكن استخدامه فقط للألعاب من Steam.

تثبيت Docker على Synology NAS


في هذه المرحلة ، كل شيء بسيط ، انتقل إلى لوحة إدارة Synology ، ثم في "مركز الحزم" ، ابحث عن Docker وثبته.

مركز الحزم

نبدأ ونرى شيئًا مثل هذا (لدي بالفعل هذه الحاوية مثبتة)

إدارة الحاويات

بعد ذلك ، انتقل إلى علامة التبويب "التسجيل" ، انتقل إلى بحث "gameervermanagers" ، وحدد صورة "gameservermanagers / linuxgsm-docker" وانقر على زر "تنزيل".

gameservermanagers / linuxgsm-docker

بعد ذلك ، انتقل إلى علامة التبويب "صورة" ، وانتظر حتى تنتهي الصورة من التحميل ، وانقر فوق الزر "تشغيل".

تنزيل الصورة

في النافذة التي تفتح ، انتقل إلى "الإعدادات المتقدمة" ، ثم انتقل إلى علامة التبويب "الشبكة" وحدد المربع "استخدام نفس الشبكة مثل Docker Host".

يتم تغيير الإعدادات الأخرى ، على سبيل المثال ، مثل "اسم الحاوية" ، وفقًا لتقديرنا.
اسم الحاوية - كما قد تخمن ، هذا هو اسم الحاوية ، وسوف يكون مفيدًا لاحقًا. أوصي بتسميته بطريقة ما بإيجاز ، على سبيل المثال فليكن "اختبار".

بعد ذلك ، انقر فوق الزر "تطبيق" أو "التالي" عدة مرات حتى اكتمال التكوين.

إعدادات متقدمة

انتقل إلى علامة التبويب "الحاوية" وشاهد الحاوية الجديدة التي تم إطلاقها (إذا لم تكن كذلك ، ابدأ).
هنا يمكنك إيقاف وبدء وحذف وتنفيذ إجراءات أخرى.

إطلاق الحاوية

تهيئة حاوية LinuxGSM Docker


قبل الاتصال بـ Synology NAS عبر SSH ، تحتاج إلى تنشيط وصول SSH في لوحة المشرف.

اتصال SSH

بعد ذلك ، تحتاج إلى استخدام عنوان IP الداخلي لخادم Synology NAS للاتصال عبر SSH.

انتقل إلى المحطة الطرفية (أو أي تمثيلي آخر ، على سبيل المثال ، تحت Windows يكون PuTTY ) واستخدم الأمر التالي:

ssh user_name@IP

في حالتي يبدو هذا

ssh admin@192.168.0.166

Synology NAS Server عنوان IP

بعد التفويض ، تحتاج إلى تشغيل الأمر للانتقال إلى حاوية "اختبار" نفسها (حقل "اسم الحاوية" في إعدادات Docker) تحت المستخدم "root"

sudo docker exec -u 0 -it test bash

الاتصال Docker

قبل تثبيت LinuxGSM ، عليك القيام ببعض الأعمال.

قم بتعيين كلمة مرور للمستخدم الجذر

passwd

بعد ذلك ، قم بتحديث جميع الحزم

apt update && apt upgrade && apt autoremove

نحن في انتظار نهاية العملية ...

تحديثات الحزمة

بعد ذلك ، قم بتثبيت الأدوات المساعدة اللازمة

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

نظرًا لأنه ، ضمن "الجذر" ، فإن تنفيذ إجراءات مختلفة ليست فكرة جيدة ، فإننا نضيف مستخدمًا جديدًا ، "اختبار".

adduser test

ودع المستخدم الجديد يستخدم sudo

usermod -aG sudo test

التبديل إلى "اختبار" المستخدم الجديد

su test

تثبيت الأدوات المساعدة

قم بتثبيت LinuxGSM وتكوينه


دعنا نلقي نظرة على مثال لتكوين LinuxGSM باستخدام مثال "Counter-Strike" المعروف أيضًا باسم "CS 1.6" https://linuxgsm.com/lgsm/csserver

انتقل إلى الصفحة مع التعليمات "Counter-Strike" linuxgsm.com/lgsm/csserver .

في علامة تبويب "التبعيات" ، انسخ الرمز تحت "Ubuntu 64-bit".

في وقت كتابة هذا التقرير ، يبدو هذا الرمز كما يلي:

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd

تثبيت التبعية

أثناء عملية التثبيت ، يجب أن توافق على "ترخيص Steam":

رخصة ستيم

انتقل إلى علامة التبويب "تثبيت" ، وانسخ الرمز من الخطوة الثانية (تخطى الخطوة الأولى ، "اختبار" المستخدم موجود بالفعل):

تثبيت

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver

في انتظار التنزيل:

تحميل

وابدأ التثبيت:

./csserver install

إذا سار كل شيء على النحو المعتاد ، فسوف نرى "اكتمل التثبيت!"

اكتمال التثبيت!

نبدأ ... ونرى الخطأ "تم العثور على عناوين IP متعددة".

./csserver start

تم العثور على عناوين IP متعددة

بعد ذلك ، تحتاج إلى إخبار الخادم بشكل صريح بعنوان IP الذي يجب استخدامه.

في حالتي هو:

192.168.0.166

انتقل إلى المجلد ، المسار الذي كان في الرسالة باسم "الموقع":

cd /home/test/lgsm/config-lgsm/csserver

وانظر ما هي الملفات الموجودة في هذا المجلد:

ls

قائمة الملفات في مجلد csserver

انسخ محتويات الملف "_default.cfg" إلى الملف "csserver.cfg":

cat _default.cfg >> csserver.cfg

وانتقل إلى وضع تحرير الملف "csserver.cfg":

nano csserver.cfg

تحرير ملف csserver.cfg

ابحث عن الخط:

ip="0.0.0.0"

واستبدل عنوان IP الذي تم اقتراحه ، في حالتي هو "192.168.0.166".

سوف يتحول شيء مثل هذا:

ip="192.168.0.166"

قم بتثبيت اختصار لوحة المفاتيح:

Ctr + X

وبعد حفظ العرض اضغط:

Y

نعود إلى مجلد المستخدم "اختبار":

cd ~

ومرة أخرى نحاول بدء تشغيل الخادم. الآن يجب أن يبدأ الخادم دون مشاكل:

./csserver start

بدء الخادم

لعرض معلومات أكثر تفصيلاً ، استخدم الأمر:

./csserver details

معلومات الخادم التفصيلية

من المعلمات الهامة تجدر الإشارة إلى:

  • خادم IP: 192.168.0.166:27015
  • إنترنت IP: xxx.xx.xxx.xx: 27015
  • ملف التكوين: /home/test/serverfiles/cstrike/csserver.cfg

عند هذه النقطة ، يتوفر خادم الألعاب بالفعل على الشبكة المحلية.

إعداد إعادة توجيه IP


اللعب على الشبكة المحلية جيد ، لكن اللعب مع الأصدقاء عبر الإنترنت أفضل!

لإعادة توجيه عنوان IP الذي استلمه الموجه من الموفر ، نستخدم آلية NAT .

سيكون من المناسب أيضًا ملاحظة أن معظم المزودين يستخدمون عناوين IP ديناميكية لعملائهم.

من أجل الراحة والاستقرار ، من المستحسن الحصول على عنوان IP ثابت.

نظرًا لأن لدي جهاز توجيه TP-Link Archer C60 ، أعطي مثالًا لإعداد إعادة توجيه المكالمات ، حيث يتم تنفيذه في جهاز التوجيه الخاص بي.

بالنسبة لأجهزة التوجيه الأخرى ، أفترض أن إعداد إعادة التوجيه مشابه.

كل شيء بسيط هنا - تحتاج إلى تحديد إعادة التوجيه من عنوان IP الخارجي إلى عنوان IP الداخلي للخادم لمنفذين:

  • 27015
  • 27005


في لوحة المشرف لجهاز التوجيه الخاص بي ، يبدو هذا

لوحة موجه المشرف

هذا كل شيء ، بعد حفظ إعدادات جهاز التوجيه ، سيكون خادم اللعبة متاحًا على الشبكة على عنوان IP خارجي للمنافذ المحددة!

إعدادات إضافية على سبيل المثال CS 1.6


على سبيل المثال ، تود CS 1.6 تقديم بعض النصائح المفيدة.

هناك ملفان لتهيئة الخادم ، الملف

الأول هنا:

~/lgsm/config-lgsm/csserver/csserver.cfg

والثاني هنا:

~/serverfiles/cstrike/csserver.cfg

يحتوي الملف الأول على إعدادات عامة ، مثل عنوان IP وخريطة للتمهيد الأول للخادم وما إلى ذلك.

يحتوي الملف الثاني على إعدادات الأوامر التي يمكن تنفيذها من خلال وحدة التحكم Counter-Strike ، على سبيل المثال ، rcon_password أو sv_password.

في الملف الثاني ، أوصي بتعيين كلمة مرور للاتصال بالخادم من خلال CVar “sv_password” وتعيين كلمة مرور للإدارة من وحدة تحكم الخادم نفسه من خلال CVar “rcon_password”.

يمكن العثور على قائمة بجميع متغيرات CVar هنا http://txdv.imtqy.com/cstrike-cvarlist

أيضًا ، على الأرجح سيكون من الضروري تثبيت بطاقات إضافية ، على سبيل المثال ، "fy_pool_day".

جميع خرائط CS 1.6 هنا:

~/serverfiles/cstrike/maps

نعثر على الخريطة المطلوبة ونحملها مباشرة على الخادم (إذا كان في الأرشيف ، قم بفك ضغطها) ، وننقل الملف بالملحق ".bsp" إلى المجلد الذي يحتوي على الملفات "~ / serverfiles / cstrike / Maps" وأعد تشغيل الخادم.

~./csserver restart

بالمناسبة ، يمكن عرض جميع أوامر الخادم المتاحة على هذا النحو

~./csserver

مجموع


أنا سعيد بالنتيجة. كل شيء يعمل بسرعة ولا يتخلف.

يحتوي LinuxGSM على الكثير من الإعدادات الإضافية ، على سبيل المثال ، التكامل مع Telegram و Slack للإشعارات ، ولكن لا تزال بعض الوظائف بحاجة إلى تحسينات.

بشكل عام ، أوصي باستخدام!

المصادر


https://linuxgsm.com
https://docs.linuxgsm.com
https://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synology
https: // medium .com / @ konpat / How-to-Host-A-Counter-Strike-1-6-Game-on-Linux-Full-tutorial-a25f20ff1149
http://txdv.imtqy.com/cstrike-cvarlist

UPD


كما لاحظت المركزيةلا يمكن لجميع Synology NAS في Docker ، إليك قائمة بالأجهزة التي يمكنها https://www.synology.com/ru-ru/dsm/packages/Docker .

All Articles