ایجاد سرور بازی Tremulous و افزودن bot ها
آوریل 2, 2011 نوشتن دیدگاه
این ادامه نوشته قبلی است؛ بازی Tremulous از دو بخش سرور (سرویسدهنده) و سلاینت (سرویسگیرنده) تشکیل شده است، برای شروع بازی Tremulous ابتدا یک سرور باید راهاندازی و اجرا شود و سپس توسط یک سلاینت به آن سرور وصل شویم تا بتوان بازی کرد. نحوه راهاندازی و اجرای سرور بازی Tremulous بسادگی نوشتن دستور tremded یا tremfusionded است تا توسط محیط آشنای بازی با انتخاب نام آن سرور به آن وصل شویم. اما اگر بخواهید در سرور راهاندازی شده از bot ها بتوان استفاده کرد، باید کدهای بازی را کامپایل کنید تا در نهایت، فایلی به نام game.qvm را بسازید. همانطور که قبلاً در رابطه با bot های بازی Tremulous نوشتهام، PathBot، بهترین bot موجود بوده و بخوبی با TremFusion هماهنگ میباشد.
چون میخواهیم از bot ها استفاده کنیم، قبل از هر چیز برنامه TremFusion را نصب کنید، روند نصب آنرا قبلاً نوشتهام (لطفاً آن را بخوانید). سپس باید کد منبع PathBot را دانلود و کامپایل کنید. البته برای کامپایل اجباری نیست ولی اگر میخواهید که تغییرات مورد نیاز خود را اعمال کنید (mode سازی) باید کامپایل کنید. دو نسخه اخیر PathBot عبارتند از 2.8 و 3.0 که متاسفانه نسخه 3.0 علارغم جدیدبودن، دارای تغییر در نوع game play بازی است و مثلاً بینهایت تیر برای اصلحه rifle در نظر گرفته شده است. بنابراین اگر میخواهید از PathBot 3.0 استفاده کنید بهتر است تغییرات مورد نظر خود را اعمال و سپس آن را کامپایل کنید ولی اگر میخواهید از PathBot 2.8 استفاده کنید احتیاج به تغییر کد منبع و کامپایل آن نخواهید داشت.
- با دستور mkdir ~/.tremulous/pbot_base یک دایرکتوری به نام pbot_base را در مسیر مورد نظر ایجاد کنید، دایرکتوری pbot_base میتواند هر نام دلخواه دیگری را داشته باشد و برای نگهداری فایلهای مورد نیاز سرور بکار گرفته میشود. دایرکتوری vm را درون دایرکتوری pbot_base ایجاد کنید.
- یکی از دو روش زیر:
میخواهم از PathBot 2.8 استفاده کنم یا قصد تغییر آن را ندارم (بدون نیاز به کامپایل).
از این لینک فایل کامپایلشده نهایی را دانلود کنید، یک فایل فشرده است که در آن دو فایل game.qvm pb3 و game.qvm kiwis وجود دارد، اولی فایل کامپایلشده نهایی برای نسخه 3.0 و دومی برای نسخه 2.8 است، همانطور که گفتم نسخه 3.0 به شدت mode سازی شده و game play آن با حالت اصلی متفاوت است، بنابراین اگر این حالت متفاوت را دوست ندارید از همان فایل game.qvm kiwis که برای نسخه 2.8 است استفاده کنید. در نهایت از بین این دو فایل فقط باید یکی را انتخاب کنید و غیر فشرده کنید و نام آن را به game.qvm تغییر دهید. این فایل را به دایرکتوری pbot_base/vm که در مرحله قبل ایجاد کردید، انتقال دهید.
میخواهم از PathBot 3.0 استفاده کنم یا قصد تغییر آن را دارم (کامپایل و mode سازی).
برنامه Bazaar را نصب کنید (در دبیان بسته bzr را نصب کنید). با دستور bzr checkout https://code.launchpad.net/pbot فایلهای مربوط به آخرین تغییرات کد منبع را دانلود کنید. به مسیری که فایلها دانلود شده است بروید و تغییرات دلخواه را بدهید، معمولاً تغییر فایل زیر، نیازها را برآورده میکند:pbot/src/game/tremulous.hپس از اعمال تغییرات، به بالاترین شاخه یعنی pbot بروید و در جایی که فایل Makefile موجود است، دستور make را صادر کنید. فایل زیر تولید و کامپایل شده است:
pbot/build/release-linux-x86_64/base/vm/game.qvmاین فایل را به مسیر pbot_base/vm که در مرحله اول ایجاد کردید، انتقال دهید.
- از این لینک فایلهای حاوی مسیرهای نقشههای بازی را دانلود کنید، bot ها از مسیرهای معرفی شده در این فایلها برای حرکت در نقشههای مختلف کمک میگیرند. اطلاعات را غیر فشرده کنید و به دایرکتوری pbot_base/paths انتقال دهید. نقشه ATCS بهترین نقشه برای مبارزه با bot هاست. شما میتوانید فایل حاوی مسیرهای هر نقشه را از داخل بازی ویرایش کنید در PathBot 3.0 گرههای هر مسیر بصورت گرافیکی نیز نمایش داده میشود.
- همه چیز آماده است، باید کلمه عبور مدیر سرور را تعیین کنیم، فایل server.cfg را که معمولاً در دایرکتوری etc/tremulous-server قرار دارد، برای ویرایش باز کرده و عبارت set rconPassword PASSWORD را در یک خط مجزا در آن بنویسید، بجای PASSWORD کلمه عبور را مشخص کنید و فقط مدیر سرور باید به آن دسترسی داشته باشد. عبارتی بصورت set sv_maxclients X را بیابید، بجای X تعداد سلاینتهایی که میتوانند به سرور وصل شوند را مشخص کنید. سپس عبارت set sv_privateclients 10 را در یک خط مجزا بنویسید، عدد 10 مشخص میکند که چه تعداد bot در این سرور قابل استفاده است. این عدد نباید از X بیشتر باشد و تفاضل X با این عدد، معرف تعداد افرادی است که میتوانند از طریق شبکه به سرور شما وصل شوند.
- اکنون چون از TremFusion استفاده میکنیم، با دستور زیر سرور را راهاندازی میکنیم:
$ tremfusionded +set fs_game pbot_base +exec server.cfg +set dedicated 1مقدار 1 برای متغیر dedicated در نظر گرفته شده است زیرا فرض را بر این گرفتهام که نمیخواهید سرور شما از طریق اینترنت قابل دسترسی باشد، در غیر اینصورت عدد 2 را بجای آن وارد کنید.
- وارد محیط بازی شوید و از قسمت لیست سرورهای local بر روی نام سرور خود (که بطور پیشفرض Tremulous 1.1 Server است) کلیک کنید و به آن متصل شوید.
- با فشردن کلید «~» کنسول را فعال سازید و دستور زیر را در آن وارد کنید:
/rcon PASSWORD !setlevel USERNAME 5PASSWORD همان کلمه عبوری است که در فایل server.cfg تعیین شد. USERNAME نام مستعار شماست که در بازی تعریف کردهاید (برای اختصاص یک نام برای خود، در قسمت Options به تنظیمات Game بروید). با صدور این دستور، شما سطح دسترسی مدیر کل را خواهید داشت. setlevel یک دستور مدیریتی است و همه دستورهای مدیریتی با علامت «!» شروع میشوند. هم اکنون میتوانید بدون احتیاج به واردکردن PASSWORD دستورهای مدیریتی که با علامت «!» شروع میشوند را در کنسول وارد کنید.
- برای کارکردن با bot ها از دستور مدیریتی bot استفاده کنید. در ادامه، شرحی از نحوه کار با این دستور را خواهید خواند.
برای افزودن یک bot جدید از دستور زیر استفاده کنید:
!bot add BOTNAME aliens|humans [SKILL]
نوشتن عبارت درون [ و ] اختیاری است. BOTNAME نامی برای bot در نظر میگیرد، SKILL عددی بین 1 تا 360 است و درجه سختی را معین میکند. بطور مثال برای افزودن یک bot به نام BOT1 و قراردادن او در تیم alien ها (بیگانهها) پس از فشردن کلید «~» دستور زیر را وارد کنید:
!bot add BOT1 aliens
برای حذف هر bot بجای add عبارت delete را بنویسید، بطور مثال:
!bot del BOT1
بهرحال روشی خوب برای انجام بازی تمرینی با bot ها بدون نیاز به اتصال به اینترنت است. برای اطلاعات بیشتر و تنظیم bot ها به این صفحه و این صفحه یا این صفحه یا این صفحه یا این صفحه و … مراجعه کنید. برای رسیدن به نتایج دلخواه، باید فایل server.cfg را ویرایش کنید، کلیدهای مناسب را برای خود تنظیم (bind) کنید و یا برای هر نقشه یک آرایش (layout) خاص را آماده کنید.
دانلود کتاب آموزش پارسیکس