Spigot یک پیادهسازی سرور ماینکرفت متنباز و با کارایی بالا است که بر پایه CraftBukkit ساخته شده است. این پیادهسازی کارایی سرور را بهبود میبخشد، از اکثر افزونههای Bukkit پشتیبانی میکند و به شما امکان میدهد گیمپلی را با استفاده از افزونهها و تنظیمات پیکربندی سفارشی کنید.
در این مقاله، شما یک سرور Spigot را روی اوبونتو ۲۴.۰۴ نصب و پیکربندی خواهید کرد، جاوا را راهاندازی خواهید کرد، منابع سیستم را اختصاص میدهید و سرور را با یک اسکریپت راهاندازی سفارشی راهاندازی میکنید. این تنظیمات، پایه و اساس قابل اعتمادی برای میزبانی جهانهای چند نفره Minecraft با پشتیبانی از افزونه فراهم میکند.
پیش نیازها #
قبل از شروع، مطمئن شوید که موارد زیر را دارید:
- دسترسی به سرور اوبونتو ۲۴.۰۴ .
- دسترسی به SSH به سرور.
- یک کاربر غیر ریشه با
sudoامتیازات . - فهرست بستههای سیستم بهروزرسانی شد .
نصب پیش نیازها #
ابزارهای سیستمی مورد نیاز و محیط زمان اجرای جاوا را برای ساخت و اجرای Spigot نصب کنید.
- ابزارهای ضروری را نصب کنید.console
$ sudo apt install wget apt-transport-https gnupg software-properties-common -y - OpenJDK 17 (LTS)، نسخه جاوای پیشنهادی برای سرورهای مدرن ماینکرفت، را نصب کنید.console
$ sudo apt install openjdk-17-jdk-headless -y - نصب جاوا را تأیید کنید.کنسول
$ java -versionخروجی:
openjdk version "17.0.15" 2025-04-15 OpenJDK Runtime Environment (build 17.0.15+6-Ubuntu-0ubuntu124.04)
ایجاد یک فایل swap #
یک فایل swap برای گسترش حافظه مجازی سرور خود اضافه کنید، که باعث بهبود پایداری هنگام اجرای وظایف فشرده منابع مانند Spigot میشود.
در اوبونتو ۲۴.۰۴، یک فایل swap پیشفرض (مثلاً ۲ تا ۵ گیگابایت) معمولاً از پیش پیکربندی شده است. میتوانید از ایجاد فایل swap صرف نظر کنید، مگر اینکه نیاز داشته باشید حافظه swap موجود را به صورت دستی افزایش دهید.
- یک فایل swap با حجم ۱ گیگابایت ایجاد کنید. میتوانید اندازه آن را در صورت نیاز تغییر دهید.کنسول
$ sudo fallocate -l 1G /swapfile - مجوزهای صحیح فایل را تنظیم کنید.کنسول
$ sudo chmod ۶۰۰ /swapfile
- فایل را به صورت swap فرمت کنید.کنسول
$ sudo mkswap /swapfile - فایل swap را فعال کنید.کنسول
$ sudo swapon /swapfile - با ویرایش فایل، swap را دائمی کنید
fstab.کنسول$ sudo nano /etc/fstab - خط زیر را در انتهای فایل اضافه کنید:ini
/swapfile none swap sw 0 0
دانلود و ساخت Spigot #
ابزار BuildTools شرکت Spigot را دانلود کنید و فایل JAR سرور Spigot را کامپایل کنید.
- یک پوشه برای ساخت Spigot ایجاد کنید و به آن بروید.کنسول
$ mkdir buildtoolsکنسول$ cd buildtools
- آخرین فایل JAR مربوط به BuildTools را از مخزن رسمی Spigot دانلود کنید.کنسول
$ wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar - نسخه Spigot را بسازید
۱.۲۰.۴(یا با نسخه مورد نظر خود جایگزین کنید).کنسول$ java -jar BuildTools.jar --rev ۱.۲۰.۴
- پس از اتمام ساخت، خروجی را فهرست کنید تا Spigot JAR تولید شده را پیدا کنید.کنسول
$ lsخروجی شامل فایلی با نام خواهد بود
Spigot-۱.۲۰.۴.jar. - یک دایرکتوری برای میزبانی سرور Spigot خود ایجاد کنید و به آن بروید.کنسول
$ mkdir -p ~/serverکنسول$ cd ~/server
- فایل JAR کامپایل شده Spigot را به دایرکتوری سرور منتقل کنید.
سرور را استارت کنید #
یک اسکریپت راهاندازی ایجاد کنید و سرور Spigot را برای اولین بار راهاندازی کنید.
- یک اسکریپت راه اندازی جدید ایجاد کنید.کنسول
$ nano start.sh - محتوای زیر را در فایل قرار دهید. این اسکریپت ۴ گیگابایت رم به Spigot اختصاص میدهد و در صورت خرابی، سرور را بهطور خودکار راهاندازی مجدد میکند.توجه داشته باشید
-Xms4G -Xmx4Gبرای مطابقت با مقدار حافظهای که میخواهید اختصاص دهید، آن را تنظیم کنید . برای مثال، در سروری با ۸ گیگابایت رم، از این استفاده کنید-Xms6G -Xmx6Gتا حافظه کافی برای سیستم عامل باقی بماند.bash#!/bin/sh while true do java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=۲۰۰ -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=۳۰ -XX:G1MaxNewSizePercent=۴۰ -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=۲۰ -XX:G1HeapWastePercent=۵ -XX:G1MixedGCCountTarget=۴ -XX:InitiatingHeapOccupancyPercent=۱۵ -XX:G1MixedGCLiveThresholdPercent=۹۰ -XX:G1RSetUpdatingPauseTimePercent=۵ -XX:SurvivorRatio=۳۲ -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=۱ -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar Spigot.jar nogui echo "restarting in 10" sleep ۱۰ done
- فایل را ذخیره کنید و آن را قابل اجرا کنید.کنسول
$ chmod +x start.sh - سرور را شروع کنید.کنسول
$ ./start.shاولین اجرا فایلهای پیکربندی ایجاد میکند و با خطای EULA خارج میشود.
Ctrl + Cهنگام مشاهده پیام، برای توقف حلقه، فشار دهید. - فایل را باز کنید
eula.txt.کنسول$ nano eula.txt - خط زیر را تغییر دهید:ini
eula=false
به:
inieula=true
فایل را ذخیره کنید و ببندید.
- سرور را دوباره راه اندازی کنید.کنسول
$ ./start.sh - اگر میخواهید بازیکنان دیگر به سرور ماینکرفت شما بپیوندند، اجازه دهید ترافیک از طریق UFW روی پورت برقرار شود
۲۵۵۶۵.کنسول$ sudo ufw allow ۲۵۵۶۵/tcp
کنسول$ sudo ufw reload - تأیید کنید که قانون اعمال شده است.کنسول
$ sudo ufw statusخروجی:
۲۵۵۶۵/tcp ALLOW Anywhere
screenبرای اجرای سرور Minecraft خود در پسزمینه استفاده کنید و به آن اجازه دهید پس از قطع اتصال از SSH، به کار خود ادامه دهد.
screenاگر از قبل در دسترس نیست، نصب کنید .کنسول$ sudo apt install screen -y- شروع یک
screenجلسه جدید با نامSpigot.کنسول$ screen -S Spigot
- سرور را درون جلسه screen شروع کنید.کنسول
$ cd ~/server
کنسول$ ./start.sh - برای جدا شدن از جلسه و رها کردن سرور در حال اجرا، ابتدا
Ctrl + Aو سپس را فشار دهیدD. - برای بازگشت به جلسه بعداً:کنسول
$ screen -r Spigot
اکنون میتوانید تنظیمات سرور خود را پیکربندی کرده و افزونهها را در حالی که سرور در پسزمینه اجرا میشود، نصب کنید.
نتیجه گیری #
در این مقاله، شما یک سرور Spigot Minecraft را روی اوبونتو ۲۴.۰۴ نصب و پیکربندی کردید. جاوا را راهاندازی کردید، Spigot JAR را با استفاده از BuildTools ساختید، یک اسکریپت راهاندازی ایجاد کردید و سرور را راهاندازی کردید. همچنین اجرای مداوم در پسزمینه را با فعال کردید screen.
با اجرای سرور Spigot، اکنون میتوانید افزونهها را نصب کنید، تنظیمات گیمپلی را پیکربندی کنید و بازیکنان را برای پیوستن به دنیای سفارشی Minecraft خود دعوت کنید.