📄 محتوای کامل
Spigot یک پیادهسازی سرور ماینکرفت متنباز و با کارایی بالا است که بر پایه CraftBukkit ساخته شده است. این پیادهسازی کارایی سرور را بهبود میبخشد، از اکثر افزونههای Bukkit پشتیبانی میکند و به شما امکان میدهد گیمپلی را با استفاده از افزونهها و تنظیمات پیکربندی سفارشی کنید.
در این مقاله، شما یک سرور Spigot را روی اوبونتو ۲۴.۰۴ نصب و پیکربندی خواهید کرد، جاوا را راهاندازی خواهید کرد، منابع سیستم را اختصاص میدهید و سرور را با یک اسکریپت راهاندازی سفارشی راهاندازی میکنید. این تنظیمات، پایه و اساس قابل اعتمادی برای میزبانی جهانهای چند نفره Minecraft با پشتیبانی از افزونه فراهم میکند.
پیش نیازها [ez-toc]
قبل از شروع، مطمئن شوید که موارد زیر را دارید:
- دسترسی به سرور اوبونتو ۲۴.۰۴ .
- دسترسی به SSH به سرور.
- یک کاربر غیر ریشه با
sudoامتیازات . - فهرست بستههای سیستم بهروزرسانی شد .
نصب پیش نیازها
ابزارهای سیستمی مورد نیاز و محیط زمان اجرای جاوا را برای ساخت و اجرای Spigot نصب کنید.
- ابزارهای ضروری را نصب کنید. consoleکپی
$ sudo apt install wget apt-transport-https gnupg software-properties-common -y
- OpenJDK ۱۷ (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 600 /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 را بسازید
1.20.4(یا با نسخه مورد نظر خود جایگزین کنید). کنسولکپی$ java -jar BuildTools.jar --rev 1.20.4
- پس از اتمام ساخت، خروجی را فهرست کنید تا Spigot JAR تولید شده را پیدا کنید. کنسولکپی
$ ls
خروجی شامل فایلی با نام خواهد بود
Spigot-1.20.4.jar. - یک دایرکتوری برای میزبانی سرور Spigot خود ایجاد کنید و به آن بروید. کنسولکپی
$ mkdir -p ~/server
کنسولکپی$ cd ~/server
- فایل JAR کامپایل شده Spigot را به دایرکتوری سرور منتقل کنید. کنسولکپی
$ mv ~/buildtools/spigot-1.20.4.jar ~/server/spigot.jar
سرور را استارت کنید
یک اسکریپت راهاندازی ایجاد کنید و سرور Spigot را برای اولین بار راهاندازی کنید.
- یک اسکریپت راه اندازی جدید ایجاد کنید. کنسولکپی
$ nano start.sh
- محتوای زیر را در فایل قرار دهید. این اسکریپت ۴ گیگابایت رم به Spigot اختصاص میدهد و در صورت خرابی، سرور را بهطور خودکار راهاندازی مجدد میکند. توجه داشته باشید
bashکپی-Xms4G -Xmx4Gبرای مطابقت با مقدار حافظهای که میخواهید اختصاص دهید، آن را تنظیم کنید . برای مثال، در سروری با ۸ گیگابایت رم، از این استفاده کنید-Xms6G -Xmx6Gتا حافظه کافی برای سیستم عامل باقی بماند.#!/bin/sh while true do java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui echo "restarting in 10" sleep 10 done
- فایل را ذخیره کنید و آن را قابل اجرا کنید. کنسولکپی
$ chmod +x start.sh
- سرور را شروع کنید. کنسولکپی
$ ./start.sh
اولین اجرا فایلهای پیکربندی ایجاد میکند و با خطای EULA خارج میشود.
Ctrl + Cهنگام مشاهده پیام، برای توقف حلقه، فشار دهید. - فایل را باز کنید
eula.txt. کنسولکپی$ nano eula.txt
- خط زیر را تغییر دهید: iniکپی
eula=false
به:
iniکپیeula=true
فایل را ذخیره کنید و ببندید.
- سرور را دوباره راه اندازی کنید. کنسولکپی
$ ./start.sh
- اگر میخواهید بازیکنان دیگر به سرور ماینکرفت شما بپیوندند، اجازه دهید ترافیک از طریق UFW روی پورت برقرار شود
25565. کنسولکپی$ sudo ufw allow 25565/tcp
کنسولکپی$ sudo ufw reload
- تأیید کنید که قانون اعمال شده است. کنسولکپی
$ sudo ufw status
خروجی:
25565/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 خود دعوت کنید.