آخرين ارسال هاي تالار گفتمان
|
موضوعات
آمار
آخرین کاربران
امکانات جانبی
جدید ترین مطالب
درباره ما
|
PAWN (قبلا به عنوان کوچک شناخته می شود) زبان است که توسط SA: MP برای اسکریپت حالت بازی، اسکریپت فیلتر و شامل و توسط شرکت CompuPhase هلندی استفاده می شود. PAWN در سال 1998 ایجاد شد و بعدا در سال 2006 به SA-MP منتقل شد. PAWN یک زبان برنامهنویسی ساده و غیر معمول با 32 زبان بومی است که دارای نحو C است. یک پیوند "منبع" برنامه به یک فایل باینری برای سرعت اجرای مطلوب کامپایل شده است. کامپایلر پیاده خروجی P-code (یا bytecode) را که پس از آن بر روی یک ماشین انتزاعی اجرا می شود. سرعت اجرای، ثبات، سادگی و رد پای کوچک، معیارهای طراحی ضروری برای هر دو زبان و ماشین انتزاعی بود.
SA-MP تنها پروژه نیست که از PAWN استفاده می کند، تعداد زیادی دیگر از آنها وجود دارد.
فهرست[hide] |
ابتدا به صفحه دانلود SA-MP بروید و URL مربوط به سرور لینوکس را پیدا کنید. سپس از wget به دنبال URL برای دانلود سرور SA-MP به سرور خود استفاده کنید. سپس فایل ها را از بایگانی استخراج کنید. شما ممکن است بخواهید سی دی رابه دایرکتوری که می خواهید سرور را نصب کنید، مانند / home / user
wget http://files.sa-mp.com/samp037svr_R2 -1 . tar .gz tar -zxf samp03 *. tar .gz cd samp03
پس از بارگیری فایل ها و استخراج، به پوشه ای که سرور را فقط نصب کرده اید (به طور معمول با تایپ کردن cd / home / user / samp03) به فهرست فایل های دانلود شده و استخراج شده بروید . بعد از ویرایشگر متن مورد نظر لینوکس خود مانند Pico یا Nano، ویرایش server.cfg و تغییر نام میزبان، رمز عبور RCON، و غیره - اطلاعات بیشتر در موردکمک به server.cfg و در صفحه کنترل پیشرفته سرور است.
شاید شما میخواهید gamemode دیگری را اجرا کنید از نمونههای gamemodes که با SA-MP ارسال شده است. درنمایشگاه اسکریپت شما می توانید تعداد زیادی اسکریپت را که می خواهید در سرور خود اجرا کنید پیدا کنید. برای اضافه کردن آنها به سرور خود، فقط فایل .amx دلخواه را در دایرکتوری <server root> gamemodes خود دانلود کنید و سرور.cfg خود را برای اجرای این بازی gamemode با تغییر یکی از آن gamemode <number> خطوط با نام فایل، ویرایش کنید ".amx"
این کار تقریبا همانند فیلتر فیلترها کار میکند. شما همچنین می توانید آنها را در نمایشگاه اسکریپت پیدا کنید. برای اینکه آنها را در سرور خود داشته باشید، فقط کافیست فایل filtercript را در پوشه filterscripts کپی کنید و برای فایل بدون «.amx» در انتهای خط با «filterscripts» در server.cfg خود یک فایل بنویسید.
هنگامی که سرور server.cfg راه خود را می خواهید، پیکربندی شده است، به سادگی با استفاده از یکی از سه روش شرح داده شده در زیر، سرور را اجرا کنید. هر کدام یک توضیح زیر تصویر دارد. من سه راهکار محبوب را برای شروع سرور خود انتخاب کرده ام، یک اسکریپت SSH کوچک برای نگه داشتن سرور شما در پایین صفحه است.
توجه: مطمئن شوید مجوزها را برای samp03svr تنظیم کرده اید و اگر می خواهید یک سرور اینترنتی را اجرا کنید، اعلام کنید! اگر شما این کار را انجام ندهید، شما مجوز دریافت خطا را دریافت خواهید کرد. برای تنظیم مجوز، chmod 700 * را در دایرکتوری سرور SA: MP اجرا کنید. این یک ایده خوب برای اجرای سرور (یا هر برنامه دیگری برای آن موضوع) تحت ریشه نیست.
روش اول
روش اول برای نگهداری سرور در حال اجرا از دستور nohupاستفاده می کند. nohup یک فرمان لینوکس است که برنامه ای را شروع می کند که هر سیگنال SIGHUP را نادیده می گیرد - سیگنال قطع می شود. این بدان معنی است که پس از بستن پنجره SSH که قبلا باز کرده اید، سرور ادامه خواهد یافت.امپرسند ( & ) در انتهای فرمان به این معنی است که سرور باید در پس زمینه اجرا شود، بنابراین شما می توانید به اجرای دستورات ادامه دهید، حتی پس از شروع سرور SA-MP.
nohup ./samp03svr &
یک گزارش دقیق در فایل nohup.out یافت می شود که در دایرکتوری ای که در آن دستور را اجرا می کنید ( / home / gta در این مورد ایجاد می شود) ایجاد می شود. nohup بر روی اکثر سرورهای لینوکس نصب شده است.
روش دوم
روش دوم اجازه می دهد تا پروسه سرور SA-MP در پس زمینه اجرا شود. مزیت این این است که شما می توانید در محیط شل ادامه دهید، بنابراین مجبور نیستید پنجره دیگری باز کنید. در بعضی از سرورهای لینوکس، پس از فعال شدن پنجره SSH، فرآیند ادامه خواهد داد، اما این همیشه در مورد آن نیست.
./samp03svr &
هیچ فایل ورودی یا هر چیزی ایجاد نشده است. پوسته PID فرآیند تازه شروع شده را بازگرداند، 9251 در مثال بالا. این روش توسط تمام سرورهای لینوکس پشتیبانی می شود.
روش سوم
این روش اصل توصیف شده است و به احتمال زیاد ساده ترین راه برای درک آن است. سرور در بالای صفحه اجرا می شود، بنابراین تمامی خطاهای به طور مستقیم به عنوان خروجی قابل مشاهده می باشند (به عنوان مثال گسل های تقسیم بندی). اما به یاد داشته باشید که خروجی طبیعی، همانطور که در ویندوز سرور دارید، در سرور لینوکس قابل مشاهده نیست.
./samp03svr
سرور بعد از بستن پنجره خاموش خواهد شد. این روش ممکن است برای اسکریپت ها و / یا اشکال زدایی مناسب باشد، زیرا بسیار واضح است.
نکته: اگر خطایی دریافت کردید که libstdc ++ 6 پیدا نشد، پس شما باید آن را در سرور خود دانلود کنید.
با گزینه های ضد سقوط محدود در دسترس در سرور SA-MP، احتمال زیادی وجود دارد که گم شدن Segmentation یا هر خطایی که gamemode شما (Pawn) ایجاد می کند، باشد. این سرور را خاموش می کند و مجددا باید آن را دوباره راه اندازی کنید.
همه شما باید از برنامه زیر استفاده کنید یک محیط لینوکس و امکان استفاده از cron است . این برنامه بررسی خواهد کرد کهآیا فرایند samp03svr در حال اجرا است یا خیر، دوباره آن رابسازید . شما باید crontab زیر را نصب کنید:
* / 1 * * * * /path/to/samp/checksamp.sh> / dev / null 2> & 1
کمک در مورد استفاده از crontab در اینجا می توانید پیداکنید .
checkamp.sh:
#! / bin / sh PROCESS_COUNT = $ ( ps -fu root | grep samp03svr | grep -v grep | wc -l ) مورد $ PROCESS_COUNT در 0 ) / path / to / samp03svr & ؛؛ 1 ) #OK، برنامه در حال حاضر یک بار اجرا می شود ؛؛ * ) #OK، برنامه در حال حاضر چندین بار است ؛؛ esac
اطمینان حاصل کنید که باید راههای درست را تنظیم کنید، اگر این کار را نکنید، اسکریپت کار نخواهد کرد. اسکریپت در حال حاضر قادر به اداره چند سرور SA-MP در همان دستگاه نیست، اما کاملا کار می کند زمانی که فقط یک مورد نیاز دارد.شما باید فایل checkamp.sh را به 0755 (+ X) تغییر دهید!
اگر شما نمی خواهید از crontab استفاده کنید و اگر می خواهید ورود سرور به یک دایرکتوری جداگانه بر روی سقوط سرور ذخیره شود، می توانید از این اسکریپت استفاده کنید.
برای نگه داشتن سرور خود به صورت آنلاین با استفاده از این اسکریپت ابتدا باید سرور خود را متوقف کنید و سپس آن را با استفاده از این دستور اجرا کنید:
نوح sh &
restart.sh:
#! / bin / sh log = samp.log dat = `date` samp = "/ path / to / samp / server / samp03svr" cd / path / to / samp / server echo "$ {dat} watchdog script شروع می شود." >> $ { log } در حالی که درست است انجام دادن echo "$ {dat} سرور خارج شد، دوباره راه اندازی ..." >> $ { log } mv /path/to/samp/server/server_log.txt / path / to / samp / server / logs / server_log.` تاریخ '+٪ m٪ d٪ y٪ H٪ M٪ S' $ { samp } >> $ log خواب 2 انجام شده
این روش سرور شما را هر وقت که سقوط می کند یا زمانی که فرمان خروج RCON صادر می شود، بازگرداند. همچنین ورود سرور به یک دایرکتوری جداگانه ذخیره خواهد شد.
شما همچنین می توانید با استفاده از این جفت اسکریپت های پوسته، سرور را راه اندازی مجدد کنید. فرض بر این است که سرور در دایرکتوری / home / sampsvr واقع شده است.
شماره اسکریپت 1 startgtaserver.sh:
#! / bin / bash صادرات GTA_PATH = / home / sampsvr cd $ GTA_PATH در حالی که [ درست ] ؛ انجام دادن گربه { $ GTA_PATH } /server_log.txt >> { $ GTA_PATH } /full_server_log.txt rm { $ GTA_PATH } /server_log.txt { $ GTA_PATH } /server_log.txt را لمس کنید ./samp03svr انجام شده
این یکی در نزدیکی باینری سرور می رود.
اسکریپت دوم، به نام gtaserver.sh:
#! / bin / bash server_start ( ) { صفحه / خانه / sampsvr / startgtaserver. sh & # قرار داده شده در مسیر کامل و نام اسکریپت راه اندازی } server_stop ( ) { killall startgtaserver sh # نام اسکریپت راه اندازی شما killall samp03svr # نیاز به قرار دادن در مسیر killall اگر آن را در $ PATH نیست } server_restart ( ) { server_stop خواب 1 server_start } مورد "$ 1" در 'شروع' ) server_start ؛؛ "توقف" ) server_stop ؛؛ 'راه اندازی مجدد' ) server_restart ؛؛ * ) echo "استفاده 0 $ شروع | توقف | راه اندازی مجدد" esac
اسکریپت را در / usr / local / bin / قرار دهید .
فقط مسیرها را در هر دو اسکریپت به سوی خود تغییر دهید، سپس می توانید سرور خود را با تایپ کردن gtaserver شروع کنید ، سرور را با تایپ کردن stop gtaserver متوقف کنید ، و در نهایت راه اندازی مجدد آن را با تایپ gtaserver restart کنید . اطمینان حاصل کنید که اسکریپتها اجرایی هستند
فهرست[hide] |
همانند اجرای gamemode سفارشی، به جز:
رمز عبور
شما می توانید با وارد کردن کلمه عبور «/ rcon login» یا خارج از بازی با استفاده از حالت RCON در کنسول از راه دور وارد شوید .
رمز عبور همان چیزی است که شما آن را در سرور.cfg تنظیم می کنید
ممنوعیت چیزی است که مانع اتصال IP به سرور می شود.
هنگامی که کسی ممنوع است، 2 راه برای از بین بردن آنها وجود دارد.
samp.ban را می توان در دایرکتوری sa-mp server پیدا کرد، حاوی خطوط با اطلاعات زیر در مورد هر ممنوعیت است:
مثال ها:
127.8.57.32 [13/06/09 | 69:69:69] NONE - IP BAN 13.37.13.37 [28/05/09 | 13:37:00] Kyeman - INGAME BAN
برای باز کردن آنها، به سادگی خط را حذف کنید، سپس دستور RCON reloadbans را اجرا کنید تا سرور دوباره samp.ban را بخواند.
فرمان RCON unbanip می تواند در بازی یا از کنسول سرور (جعبه سیاه) استفاده شود. برای unban ip، به سادگی تایپ کنید "/ rcon unbanip IP_HERE" در بازی یا "unbanip IP_HERE" در کنسول.
مثال:
13.37.13.37 [28/05/09 | 13:37:00] Kyeman - INGAME BAN / rcon unbanip 13.37.13.37 << INGAME unbanip 13.37.13.37 << CONSOLE
برای باز کردن آنها، به سادگی از فرمان unbanip استفاده کنید، سپس دستور RCON reloadbans را اجرا کنید تا سرور دوباره samp.ban را بخواند.
samp.ban فایل است که اطلاعات را برای IP که در حال حاضر از سرور ممنوع است را نگه می دارد. این فایل زمانی خوانده می شود که سرور شروع می شود، بنابراین اگر شما یک IP / شخص را غیر فعال کنید باید دستور RCON reloadbans را تایپ کنید تا سرور دوباره samp.ban را بخواند و به آنها اجازه دهد که به سرور بپیوندند.
samp.ban فایل مورد استفاده برای ذخیره ممنوعیت ها، از جمله اطلاعات زیر در مورد ممنوعیت است:
برای افزودن یک ممنوعیت، به سادگی یک خط را مانند زیر اضافه کنید:
IP_HERE [28/05/09 | 13:37:00] PLAYER - BAN REASON
جایی که IP_HERE است، جایی است که شما IP را که می خواهید ممنوعیت را قرار دهید. این روش طولانی تر از دستور فرمان RCOn طول می کشد، بنابراین من پیشنهاد می کنم با استفاده از RCON banip استفاده کنید.
تابع Ban می تواند برای ممنوع کردن یک بازیکن از یک اسکریپت استفاده شود. تابع BanEx یک دلیل اختیاری را به صورت زیر اضافه می کند:
13.37.13.37 [28/05/09 | 13:37:00] Cheater - INGAME BAN
دستور ban RCON که با تایپ کردن / rcon ban در بازی یا تایپ کردن "ممنوعیت" در کنسول اجرا می شود، برای ممنوع کردن یک بازیکن خاص که بر روی سرور شما است، ممنوعیت IP را در بخش بعدی مشاهده کنید.
به سادگی تایپ کنید:
/ rcon ممنوع PLAYERID << INGAME ممنوعیت PLAYERID << CONSOLE
فرمان banon RCON، اجرا شده با تایپ کردن / rcon banip در بازی یا تایپ کردن "banip" در کنسول، برای ممنوعیت یک آدرس IP مشخص، برای ممنوع کردن یک بازیکن بر روی سرور توسط شناسه، به بخش قبلی مراجعه کنید. کلمات متفاوتی برای rangebans را قبول خواهید کرد.
به سادگی تایپ کنید:
/ rcon banip IP << INGAME banip IP << CONSOLE
cmdlist را برای دستورات (یا varlist برای متغیرها) با استفاده از RCON در بازی (' / rcon cmdlist' ) تایپ کنید . شما لازم نیست با [] تایپ کنید، آنها فقط برای برجسته کردن پارامتر هستند.
این توابع است که شما به عنوان مدیر می توانید استفاده کنید:
چهار محدودیت / شمارش فوق فقط برای اجتناب از چندین ابزار است که می تواند با هر انفجار آن و یا سقوط به هر سرور SA-MP حمله کند. بنابراین، به سادگی، فقط آنها را با توجه به سرور خود تنظیم کنید. مقادیر پیش فرض به صورت پیشفرض است، اگر هرگونه ضرب و شتم اشتباه را مشاهده کنید، فقط مقدار آن را در اسرع وقت افزایش دهید تا بازیکنان بی گناه با آن دست به گریبان نگذارند. اطلاعات بیشتر: http://forum.sa-mp.com/showpost.php؟p=2990193&postcount=47
فراخوانی ها و توابع زیر ممکن است مفید باشد، زیرا آنها در یک یا چندین رابطه با این مقاله مرتبط هستند.
فراخوانها:
توابع:
مطالب پربازدید
مطالب تصادفی
عضويت سريع
لینک دوستان