برای ساخت سرور MTA روی VPS لینوکس، ابتدا باید سرور مجازی را آماده کنیم، نسخهور مجازی را آماده کنیم، نسخه رسمی MTA Server را دریافت کنیم، فایلهای تنظیمات و منابع پیشفرض را در مسیر مناسب قرار دهیم و سپس پورتهای لازم را باز کنیم.
این آموزش بر پایه VPS دارای سیستمعامل Ubuntu یا Debian و معماری ۶۴ بیتی نوشته شده است. دستورات باید از طریق SSH و با کاربری که دسترسی لازم دارد اجرا شوند.
پیشنیازهای ساخت سرور MTA روی لینوکس
قبل از شروع، موارد زیر را آماده کنید:
- یک VPS لینوکس ۶۴ بیتی
- سیستمعامل Ubuntu یا Debian
- دسترسی SSH
- دسترسی کاربر روت یا sudo
- آدرس IP عمومی VPS
- فضای کافی برای فایلهای سرور و منابع
- امکان بازکردن پورتها در فایروال
برای یک سرور آزمایشی میتوان با منابع محدود شروع کرد؛ اما مقدار رم، قدرت پردازنده و کیفیت شبکه باید متناسب با گیممود، تعداد اسکریپتها و تعداد بازیکنان انتخاب شود.
مرحله اول: اتصال به VPS از طریق SSH
در ویندوز میتوانید از برنامههایی مانند PuTTY، Termius یا Windows Terminal استفاده کنید. ساختار عمومی دستور اتصال به سرور به شکل زیر است:
ssh username@SERVER-IP
بهجای username نام کاربری و بهجای SERVER-IP آدرس IP سرور را وارد کنید. برای نمونه:
ssh root@192.0.2.10
پس از اتصال، رمز عبور یا کلید امنیتی سرور درخواست میشود.
مرحله دوم: بروزرسانی سیستمعامل
ابتدا فهرست بستههای لینوکس را بروزرسانی کنید:
sudo apt update
سپس بستههای نصبشده را بروزرسانی کنید:
sudo apt upgrade -y
این مرحله کمک میکند کتابخانهها و بستههای پایه سیستم قبل از نصب MTA در وضعیت مناسبی باشند.
مرحله سوم: نصب ابزارهای موردنیاز
برای دانلود و استخراج فایلهای سرور، ابزارهای زیر را نصب کنید:
sudo apt install wget tar unzip -y
کاربرد این بستهها:
- wget: دریافت فایلها از اینترنت
- tar: استخراج بسته اصلی سرور
- unzip: استخراج منابع پیشفرض MTA
مرحله چهارم: ساخت پوشه نصب MTA
یک پوشه جداگانه برای نصب سرور بسازید:
mkdir -p ~/mta-install
cd ~/mta-install
تمام فایلهای دانلود و نصب در این مسیر قرار میگیرند.
مرحله پنجم: دانلود نسخه رسمی MTA Server
برای دریافت آخرین نسخه پایدار ۶۴ بیتی MTA Server، دستور زیر را اجرا کنید:
wget https://linux.multitheftauto.com/dl/multitheftauto_linux_x64.tar.gz
پس از پایان دانلود، فایل را استخراج کنید:
tar -xf multitheftauto_linux_x64.tar.gz
پوشهای با نام زیر ایجاد میشود:
multitheftauto_linux_x64
مرحله ششم: دریافت فایلهای تنظیمات پایه
بسته اصلی سرور به فایلهای تنظیمات پایه نیاز دارد. آنها را با دستور زیر دریافت کنید:
wget https://linux.multitheftauto.com/dl/baseconfig.tar.gz
فایل را استخراج کنید:
tar -xf baseconfig.tar.gz
سپس فایلهای تنظیمات را به پوشه Deathmatch منتقل کنید:
mv baseconfig/* multitheftauto_linux_x64/mods/deathmatch/
این دستور برای نصب جدید مناسب است. اجرای آن روی سروری که قبلاً تنظیم شده ممکن است فایلهای تنظیمات موجود را جایگزین کند. قبل از تغییر سرور فعال، حتماً نسخه پشتیبان بگیرید.
مرحله هفتم: نصب منابع پیشفرض MTA
برای اجرای گیممودها، نقشهها و ابزارهای مدیریتی پایه، منابع رسمی MTA را نصب کنید.
cd multitheftauto_linux_x64
mkdir -p mods/deathmatch/resources
cd mods/deathmatch/resources
آخرین بسته منابع را دانلود کنید:
wget https://mirror.multitheftauto.com/mtasa/resources/mtasa-resources-latest.zip
سپس آن را استخراج کنید:
unzip mtasa-resources-latest.zip
پس از استخراج، فایل فشرده را حذف و به پوشه اصلی سرور برگردید:
rm -f mtasa-resources-latest.zip
cd ../../..
مرحله هشتم: اجرای آزمایشی سرور MTA
ابتدا مطمئن شوید در پوشه اصلی سرور قرار دارید:
cd ~/mta-install/multitheftauto_linux_x64
در صورت نیاز، مجوز اجرای فایل را تنظیم کنید:
chmod +x mta-server64
حالا سرور را اجرا کنید:
./mta-server64
اگر نصب صحیح باشد، کنسول MTA اجرا میشود و پیامهای بارگذاری فایلها و منابع را مشاهده میکنید.
برای متوقفکردن اجرای آزمایشی میتوانید در ترمینال از کلیدهای زیر استفاده کنید:
Ctrl + C
فایل تنظیمات سرور MTA کجاست؟
مهمترین تنظیمات سرور در فایل زیر قرار دارند:
mods/deathmatch/mtaserver.conf
برای ویرایش آن میتوانید از nano استفاده کنید:
nano mods/deathmatch/mtaserver.conf
پس از اعمال تغییرات، در nano کلیدهای زیر را بزنید:
- Ctrl + O: ذخیره فایل
- Enter: تأیید نام فایل
- Ctrl + X: خروج از nano
تنظیم نام، ظرفیت و پورتهای سرور
در فایل mtaserver.conf میتوانید نام سرور، ظرفیت بازیکنان و پورتها را مشخص کنید. نمونه تنظیمات پایه:
<servername>My MTA Server</servername>
<serverip>auto</serverip>
<serverport>22003</serverport>
<maxplayers>32</maxplayers>
<httpserver>1</httpserver>
<httpport>22005</httpport>
<ase>1</ase>
کاربرد هر گزینه:
- servername: نامی که بازیکنان مشاهده میکنند
- serverip: معمولاً باید روی auto باقی بماند
- serverport: پورت اصلی اتصال بازیکنان
- maxplayers: حداکثر تعداد بازیکنان
- httpserver: فعال یا غیرفعالکردن وبسرور داخلی
- httpport: پورت وبسرور و دانلود منابع
- ase: نمایش سرور در فهرست سرورهای MTA
پورتهای موردنیاز سرور MTA
در تنظیمات پیشفرض، این پورتها موردنیاز هستند:
| پورت | پروتکل | کاربرد |
|---|---|---|
| 22003 | UDP | اتصال اصلی بازیکنان |
| 22005 | TCP | وبسرور داخلی و دانلود فایلها |
| 22126 | UDP | نمایش سرور در فهرست سرورها |
پورت ASE از جمع پورت اصلی با عدد ۱۲۳ به دست میآید. بنابراین برای پورت اصلی 22003، پورت ASE برابر با 22126 خواهد بود.
بازکردن پورتهای MTA در فایروال UFW
اگر UFW روی VPS فعال است، قوانین زیر را اضافه کنید:
sudo ufw allow 22003/udp
sudo ufw allow 22005/tcp
sudo ufw allow 22126/udp
وضعیت فایروال را بررسی کنید:
sudo ufw status
UFW را بدون بررسی پورت SSH فعال نکنید. در سرورهایی که SSH روی پورت سفارشی قرار دارد، فعالسازی نادرست فایروال میتواند دسترسی شما را قطع کند.
بررسی بازبودن پورتها از کنسول MTA
بعد از اجرای سرور، دستور زیر را در کنسول MTA وارد کنید:
openports
این دستور وضعیت پورتهای لازم را بررسی میکند. اگر پورتی بسته باشد، باید تنظیمات فایروال VPS، پنل ارائهدهنده سرور یا تنظیمات شبکه بررسی شوند.
اتصال به سرور MTA
پس از اجرای موفق سرور و بازشدن پورتها، در برنامه MTA از بخش اتصال مستقیم، آدرس زیر را وارد کنید:
mtasa://SERVER-IP:22003
بهجای SERVER-IP آدرس IP عمومی VPS را قرار دهید.
اجرای سرور در پسزمینه
اگر سرور را مستقیماً داخل SSH اجرا کنید، با بستن ترمینال ممکن است فرایند متوقف شود. یکی از روشهای ساده، استفاده از screen است.
ابتدا screen را نصب کنید:
sudo apt install screen -y
یک نشست جدید بسازید:
screen -S mta
سپس سرور را اجرا کنید:
cd ~/mta-install/multitheftauto_linux_x64
./mta-server64
برای خارجشدن از screen بدون توقف سرور، این کلیدها را بهترتیب بزنید:
Ctrl + A
D
برای بازگشت به نشست سرور:
screen -r mta
خطای libtinfo.so.5 هنگام اجرای MTA
در بعضی توزیعهای لینوکس ممکن است هنگام اجرا خطایی شبیه مورد زیر مشاهده شود:
libtinfo.so.5: cannot open shared object file
این خطا معمولاً به نبودن نسخه موردانتظار کتابخانه مربوط است. روش اصلاح به نسخه و توزیع لینوکس بستگی دارد؛ بنابراین ابتدا مسیر و نسخه موجود کتابخانه را بررسی کنید و از ایجاد لینک نمادین اشتباه خودداری کنید.
در مستندات رسمی، ایجاد لینک نمادین میان نسخه موجود و نام موردانتظار بهعنوان یک راه احتمالی مطرح شده است؛ اما مسیر دقیق کتابخانه در توزیعهای مختلف یکسان نیست.
مشکلات رایج پس از نصب سرور MTA
سرور اجرا میشود اما بازیکنان وصل نمیشوند
- پورت 22003/UDP را بررسی کنید.
- فایروال پنل VPS را کنترل کنید.
- آدرس IP عمومی صحیح را وارد کنید.
- تنظیم serverip را روی auto نگه دارید.
- دستور openports را اجرا کنید.
سرور در فهرست عمومی دیده نمیشود
- مقدار ase باید روی 1 باشد.
- پورت 22126/UDP باید باز باشد.
- سرور باید به اینترنت دسترسی داشته باشد.
- ثبتشدن سرور در فهرست ممکن است کمی زمان ببرد.
منابع پیشفرض اجرا نمیشوند
- محتوای فایل ZIP را درست استخراج کنید.
- مسیر resources را بررسی کنید.
- خطاهای کنسول را مطالعه کنید.
- فایلهای تنظیمات پایه را کنترل کنید.
- مجوز دسترسی فایلها را بررسی کنید.
سرور پس از بستن SSH متوقف میشود
سرور را داخل screen، tmux یا یک سرویس systemd اجرا کنید تا وابسته به پنجره SSH نباشد.
نکات امنیتی بعد از نصب
- از رمز عبور قوی برای کاربران مدیریتی استفاده کنید.
- دسترسی روت مستقیم را در صورت امکان محدود کنید.
- فقط پورتهای ضروری را باز نگه دارید.
- از فایلهای تنظیمات و دیتابیس بکاپ منظم بگیرید.
- منابع ناشناس را پیش از نصب بررسی کنید.
- سیستمعامل و بستههای سرور را بروزرسانی نگه دارید.
- فایلهای بکاپ را فقط روی همان VPS نگهداری نکنید.
جمعبندی
برای ساخت سرور MTA روی VPS لینوکس باید نسخه رسمی سرور، فایلهای تنظیمات پایه و منابع پیشفرض را نصب کنید. سپس فایل mtaserver.conf را تنظیم، پورتهای موردنیاز را باز و اجرای سرور را آزمایش کنید.
راهاندازی اولیه فقط شروع کار است. برای اجرای یک گیمسرور پایدار، باید گیممود، دیتابیس، امنیت، بکاپ، مصرف منابع و پشتیبانی فنی نیز بررسی شوند.
برای سفارش نصب، کانفیگ و رفع خطای سرور، صفحه راهاندازی و کانفیگ سرور MTA را مشاهده کنید.
برای آشنایی با عوامل مؤثر بر قیمت پروژه نیز مقاله هزینه راهاندازی سرور MTA را مطالعه کنید.
پرسشهای متداول
آیا MTA Server روی Ubuntu نصب میشود؟
بله. نسخه لینوکسی رسمی MTA Server روی سرورهای Ubuntu و دیگر توزیعهای سازگار لینوکس قابل اجرا است.
پورت اصلی MTA چیست؟
پورت پیشفرض اتصال بازیکنان 22003 از نوع UDP است. امکان تغییر این مقدار در فایل mtaserver.conf وجود دارد.
پورت 22005 چه کاربردی دارد؟
این پورت بهصورت پیشفرض برای وبسرور داخلی MTA و انتقال فایلهای موردنیاز استفاده میشود و از نوع TCP است.
چرا سرور در فهرست MTA دیده نمیشود؟
فعالبودن ASE، بازبودن پورت ASE و دسترسی صحیح سرور به اینترنت را بررسی کنید. با پورت اصلی 22003، پورت ASE برابر با 22126 خواهد بود.
آیا با بستن SSH سرور خاموش میشود؟
اگر فرایند را مستقیم در نشست SSH اجرا کرده باشید، ممکن است متوقف شود. برای اجرای پایدار از screen، tmux یا systemd استفاده کنید.
