Minecraft

آموزش دستورات سرور آماده prison برای ادمین ها

نویسنده: تیم برنو

آموزش دستورات سرور آماده prison برای ادمین ها
راهنمای مدیریت سرور Berno Prison
BERNO PRISON · STAFF GUIDE

راهنمای مدیریت سرور Berno Prison

مرجع کامل برای تیم مدیریت: از دسترسی به سرور و پرمیشن‌ها تا اقتصاد، رفع مشکلات EdPrison و روال ایمن اعمال تغییرات. این سند برای ادمین/مدیریت نوشته شده، نه بازیکن عادی.

🖥️ Paper 1.21.8
☕ Java 21
🔌 57 پلاگین
فهرست مطالب
01

دسترسی به سرور

سه راه برای رسیدن به فایل‌ها و کنسول سرور.

روشبرای چی استفاده می‌شه
پنل هاست (Pelican)کنسول زنده، استارت/استاپ، فایل‌منیجر وب، مشاهده‌ی مصرف منابع
FTP (مثل FileZilla)آپلود/دانلود دسته‌ای فایل‌های کانفیگ و دیتا
کنسول درون‌بازیدستورات ادمین روزمره (op، give، rankup و...)

روشن/خاموش کردن سرور

stop — در کنسول بزن؛ سرور رو تمیز و با ذخیره‌ی کامل جهان‌ها خاموش می‌کنه
⚠️
هیچ‌وقت پروسه رو Kill نکن یا از پنل «Force Stop» نزن مگه واقعاً گیر کرده باشه — دستور stop قبل از خاموش شدن دنیاها و دیتای پلاگین‌ها رو سیو می‌کنه؛ Kill کردن می‌تونه باعث خراب شدن چانک یا از دست رفتن دیتای ذخیره‌نشده بشه.

مسیر اصلی فایل‌ها

/server.properties تنظیمات پایه‌ی سرور (MOTD، پورت، آنلاین‌مود) /server-icon.png آیکون سرور در لیست سرورهای بازی — باید دقیقاً ۶۴×۶۴ باشه /plugins/<نام پلاگین>/ کانفیگ و دیتای هر پلاگین جدا /logs/latest.log لاگ زنده‌ی سرور — اولین جایی که موقع خطا باید چک کنی
02

نقشه‌ی کلی پلاگین‌ها

۵۷ پلاگین نصبه؛ این‌ها مهم‌ترین‌ها به تفکیک نقش.

هسته و زیرساخت

Vault PlaceholderAPI LuckPerms ProtocolLib NBTAPI ViaVersion / ViaBackwards / ViaRewind EssentialsX

پریزن و پیشرفت

Prison EdPrison TokenManager (خراب — بخش ۵) CoinsEngine ExcellentCrates ajLeaderboards

دنیا و ساخت‌وساز

WorldGuard WorldGuardExtraFlags FastAsyncWorldEdit Multiverse-Core PlotSquared

اجتماعی و سرگرمی

Citizens DecentHolograms DeluxeMenus DeluxeTags UltraCosmetics Minepacks PlayerAuctions Lottery ChatGames KoTH AuraSkills InteractiveChat

مدیریت و امنیت

AdvancedBan Badword CombatLogX EasyCommandBlocker

💡
برای دیدن وضعیت لحظه‌ای (فعال/غیرفعال) هر پلاگین، توی کنسول بزن: plugins — سبز یعنی فعال، قرمز یعنی کرش کرده یا غیرفعاله.
03

پرمیشن و رنک‌ها با LuckPerms

همه‌ی رنک‌بندی سرور از اینجا کنترل می‌شه.

سرور سه «مسیر» (Track) موازی داره:

مسیرگروه‌ها (از پایین به بالا)کاربرد
rankdefault, knight, lord, paladin, duke, king, youtuber, streamer, helper, builder, mod, srmod, admin, dev, manager, ownerرتبه‌ی نمایشی/تیم سرور
prisonranksa تا zرنک معدن‌کاری (بخش ۸)
prisonprestigesp0 تا p7پله‌ی پرستیژ
/lp editor — باز کردن ادیتور وب برای ویرایش گروهی و بصری /lp user <نام> parent add <گروه> — اضافه کردن یک پلیر به یک گروه/رنک /lp user <نام> permission set <node> true /lp group <گروه> permission set <node> true /lp user <نام> info — دیدن گروه‌ها و پرمیشن‌های فعلی یک پلیر
⚠️
LuckPerms دیتاش رو توی یک دیتابیس H2 نگه می‌داره (نه فایل YAML متنی) — یعنی نمی‌تونی مستقیم با ویرایش فایل دیتای بازیکن رو دستکاری کنی؛ همیشه از دستورات /lp استفاده کن.
04

مدیریت اقتصاد سرور

۵ ارز فعال؛ اکثرشون از CoinsEngine میان.

ارزمنبع فعلیوضعیت
MoneyEssentialsX / Vaultسالم
CoinsCoinsEngineسالم
TokensCoinsEngine (currencies/tokens.yml)سالم — جایگزین EdPrison شد
Gems / CrystalsEdPrisonخراب — بخش ۵

افزودن ارز جدید به CoinsEngine

  1. سرور رو Stop کن (تغییر Command Aliases فقط موقع بوت لود می‌شه).
  2. یک فایل جدید توی plugins/CoinsEngine/currencies/ بساز — از روی یکی از فایل‌های موجود (مثلاً coins.yml) کپی کن.
  3. مقادیر Name, Command_Aliases, Column_Name, Prefix رو برای ارز جدید تغییر بده.
  4. سرور رو Start کن؛ توی لاگ باید ببینی: Currency registered: '<اسم>'
/<اسم ارز> give <پلیر> <مقدار> — مثال: /tokens give aliagho 1000 /<اسم ارز> set <پلیر> <مقدار> /papi parse <پلیر> %coinsengine_balance_<اسم ارز>% — تست پلیس‌هولدر از کنسول
⚠️
اگه ارزی هم توی EdPrison و هم CoinsEngine با یک اسم دستور ثبت بشه (مثلاً /tokens)، فقط یکیشون واقعاً جواب می‌ده. بعد از هر ارز جدید حتماً با /<اسم> give تست کن که پیام موفقیت واقعی می‌گیری، نه سکوت.
05

مشکل شناخته‌شده‌ی EdPrison

این پلاگین رو با احتیاط دست بزن — نسخه‌ی فعلی سالم نیست.

⚠️
تشخیص فنی: جار EdPrison-3.6.jar نصب‌شده احتمالاً یک نسخه‌ی کرک/نال‌شده‌ست — رشته‌ی BRANCHLOCK_DOT_NET_DEMO (مال یه ابزار ضدکرک) داخل بایت‌کدش پیدا شده که نشون می‌ده رمزگشایی رشته‌های داخلی پلاگین (اسم دستورها، پیام‌ها) خراب شده.

علائمی که می‌بینی

  • دستورات tokens give / gems give / crystals give بدون هیچ پیام موفقیت یا خطا اجرا نمی‌شن (سکوت کامل).
  • پلیس‌هولدرهایی مثل %edprison_currency_tokens% یا %edprison_notation_{...}% یا خام برمی‌گردن یا با NullPointerException کرش می‌کنن.
  • توی لاگ خطاهایی مثل NoClassDefFoundError: ...ReflectionMethod موقع باز کردن منوی کلنگ، ادعای پوچ (Pouch)، یا پرتاب بمب می‌بینی — یعنی دریل/بمب/پوچ/زره فعلاً عملاً کار نمی‌کنن.
  • دیتای بازیکن‌ها گاهی اصلاً توی plugins/EdPrison/data/users.yml ذخیره نمی‌شه، حتی بعد از فعالیت زیاد.

راهکار فعلی

Tokens رو با اضافه‌کردن یک ارز جدید به CoinsEngine جایگزین کردیم (بخش ۴) — نمایش و دستورات ادمین درست کار می‌کنن. اما این باعث نمی‌شه منوی خرید انچنت داخل EdPrison درست کار کنه، چون اون منو به موجودی داخلی خودِ EdPrison نگاه می‌کنه، نه CoinsEngine.

راه‌حل قطعی

تهیه‌ی یک نسخه‌ی اصلی و لایسنس‌دار از سازنده (EdwardBelt، از SpigotMC یا دیسکورد رسمیش) و جایگزینی جار فعلی. تا اون موقع، هر باگ عجیب و بی‌دلیل توی EdPrison (نه فقط تو اکونومی) رو با این مشکل ریشه‌ای مرتبط بدون.

ساختار دیتای دستی (برای وصله‌ی اضطراری)

اگه لازم شد دستی دیتای یک بازیکن رو ویرایش کنی (فقط وقتی سرور Stop‌ه):

plugins/EdPrison/data/users.yml <UUID>: '{"balanceData":{"currencies":{"tokens":1000.0,"gems":50.0,"crystals":10.0}}, ...}'
06

اسکوربورد و تب‌لیست (TAB)

همه‌ی متن‌های کنار صفحه‌ی بازیکن از اینجا میان.

plugins/TAB/config.yml /tab reload — اعمال فوری تغییرات کانفیگ بدون ری‌استارت کامل

سه بخش اصلی داخل این فایل:

  • header-footer — متن بالا/پایین لیست تب (خودکار وسط‌چین می‌شه)
  • scoreboard — پنل کنار صفحه (Money/Coins/Tokens/Rank و...) — خودکار وسط‌چین نمی‌شه
  • tablist-name-formatting / scoreboard-teams — رنگ و ترتیب اسم پلیرها بر اساس رنک

وسط‌چین کردن دستی خطوط اسکوربورد

چون فونت ماینکرفت monospace نیست، برای وسط‌چین‌نمایی از پدینگ فاصله‌ی دستی استفاده می‌شه. فرمول تقریبی که توی این کانفیگ جواب داده:

تعداد فاصله = (۲۵ − طول متن) ÷ ۲

یعنی اگه متن یک خط رو عوض کردی (مثلاً کوتاه‌تر یا بلندتر شد)، باید تعداد فاصله‌های اول خط رو دوباره حساب کنی وگرنه از وسط جابجا می‌شه.

⚠️
نکته‌ی حیاتی درباره‌ی انکودینگ: این فایل باید همیشه UTF-8 بدون BOM ذخیره و آپلود بشه، و روی FTP باید حالت انتقال روی Binary باشه نه ASCII — وگرنه آیکون‌های فونت سفارشی و رنگ‌های هگز (&#...) خراب می‌شن.
07

صندوقچه و کلید (ExcellentCrates)

کاملاً سالم و مستقل از مشکل EdPrison.

/crate key give <پلیر> <کلید> <تعداد> — مثال: /crate key give aliagho epic 5 /crate help — لیست کامل دستورات این پلاگین

کلیدهای موجود: common epic rare superior vote rankup

کانفیگ هر صندوقچه/کلید داخل این مسیرهاست:

plugins/ExcellentCrates/crates/<نام>.yml plugins/ExcellentCrates/keys/<نام>.yml
08

مین‌ها و رنک‌آپ (Prison)

موتور اصلی رنک/مین سرور — جدا از EdPrison و سالمه.

۲۶ رنک پیش‌فرض (A تا Z) + ۷ رنک پرستیژ (P1 تا P7) بارگذاری شدن. دیتاش اینجاست:

plugins/Prison/data_storage/ranksDb/ranks/ plugins/Prison/data_storage/ranksDb/players/ plugins/Prison/data_storage/mines/
/prison — دستور ریشه؛ منوی مدیریت مین‌ها و رنک‌ها /prison ranks list /prison mines list
💡
هنگام هر بوت شدن سرور، Prison یه شمارش air-count برای هر ۳۰ مین انجام می‌ده (چند ثانیه طول می‌کشه) — این طبیعیه، نگران نباش.
09

مدیریت دیتای بازیکن‌ها

دیتای هر بازیکن پخش شده بین چند پلاگین با فرمت‌های متفاوت.

پلاگینفرمت ذخیره‌سازیمسیر
EdPrisonYAML شامل JSONplugins/EdPrison/data/users.yml
EssentialsYAML، یک فایل به‌ازای هر UUIDplugins/Essentials/userdata/<uuid>.yml
PrisonJSON، یک فایل به‌ازای هر بازیکنplugins/Prison/data_storage/ranksDb/players/
LuckPermsدیتابیس H2فقط با /lp
CoinsEngineدیتابیس SQLiteفقط با دستورات پلاگین
ماینکرفت خودِ بازیNBT باینریworld/playerdata/<uuid>.dat

قبل از هر ویرایش دستی

  1. سرور رو کامل Stop کن — هرگز فایل دیتا رو موقع روشن بودن سرور ویرایش نکن.
  2. از فایل اصلی یک کپی پشتیبان بگیر (مثلاً users.yml.bak).
  3. فایل رو مستقیم از سرور زنده دانلود کن، نه از یک بکاپ قدیمی محلی — دیتا مدام تغییر می‌کنه.
  4. بعد از ویرایش، آپلود کن و سرور رو Start کن، بعد داخل بازی تأیید کن.
⚠️
فایل‌های دیتابیس (H2 مال LuckPerms، SQLite مال CoinsEngine و ExcellentCrates) رو هرگز با یک ادیتور متنی باز/ویرایش نکن — خراب می‌شن. فقط از دستورات خودِ پلاگین استفاده کن.
10

نظارت و انضباط

ابزارهای بن، میوت و فیلتر کلمات.

پلاگینکار
AdvancedBanسیستم بن/میوت/کیک با دیتابیس HSQLDB محلی
Badwordفیلتر خودکار کلمات نامناسب در چت
CombatLogXجلوگیری از فرار وسط جنگ (حالت Combat Tag)
EasyCommandBlockerمسدودسازی دستورات خاص برای گروه‌های خاص
/ban <پلیر> <دلیل> /mute <پلیر> <مدت> <دلیل> /history <پلیر> — دیدن سابقه‌ی تخلفات یک پلیر
11

دنیاها و مناطق

۴ دنیای اصلی، هرکدوم با نقش خودش.

دنیانقشمدیریت با
playworldدنیای اصلی معدن‌کاری/بازیWorldGuard
spawnاسپاون، NPCها، منطقه‌ی امنWorldGuard
plotworldپلات‌های شخصی بازیکن‌هاPlotSquared
arenaPvP آزادWorldGuard
/mv tp <پلیر> <دنیا> — Multiverse: انتقال بین دنیاها /rg flag <منطقه> <فلگ> <مقدار> — WorldGuard: تنظیم قوانین یک منطقه
12

برندینگ و ظاهر سرور

هرجا اسم/لوگوی سرور دیده می‌شه.

محلفایل
آیکون سرور (لیست سرورهای بازی)server-icon.png — دقیقاً ۶۴×۶۴ پیکسل
MOTD (توضیح زیر اسم سرور در لیست)server.properties → کلید motd
هدر/فوتر تب‌لیستplugins/TAB/config.ymlheader-footer
اسکوربورد کنار صفحهplugins/TAB/config.ymlscoreboard
💡
بعد از تغییر server-icon.png، فقط /tab reload کافی نیست — برای دیدنش توی لیست سرور، سرور باید کامل ری‌استارت بشه.
13

روال ایمن تغییر کانفیگ

همین ترتیب رو برای هر تغییر کانفیگ دنبال کن.

  1. فایل هدف رو مستقیم از سرور زنده دانلود کن (نه از بکاپ قدیمی).
  2. یک کپی پشتیبان از نسخه‌ی فعلی بگیر (مثلاً با پسوند .bak).
  3. تغییر رو اعمال کن — انکودینگ رو UTF-8 بدون BOM نگه دار.
  4. اگه تغییر روی «اسم دستور» یا «ارز/کارنسی» بود، سرور رو کامل Stop/Start کن (reload کافی نیست).
  5. اگه تغییر فقط کانفیگ نمایشی بود (TAB، پیام‌ها)، معمولاً دستور reload خودِ پلاگین کافیه.
  6. بلافاصله بعد از اعمال، توی کنسول یا چت تست کن و logs/latest.log رو برای خطای جدید چک کن.
⚠️
هیچ‌وقت فایل دیتای بازیکن (نه کانفیگ) رو موقع روشن بودن سرور ویرایش نکن — سیو خودکار پلاگین می‌تونه تغییرت رو دوباره بازنویسی و پاک کنه.
14

عیب‌یابی مشکلات رایج

این‌ها رو خودمون این‌جلسه تجربه کردیم — چک‌لیست سریع.

علامتدلیل محتملراه‌حل
پلیس‌هولدر خام نمایش داده می‌شه (مثلاً %x_y%)اکسپنشن ثبت نشده یا identifier اشتباهه/papi parse <پلیر> %...% رو تست کن
دستور اجرا می‌شه ولی هیچ اتفاقی نمی‌افتهپلاگین کرش‌کرده/کرک‌شده — کرش بی‌صداlogs/latest.log رو برای NPE/Exception همون لحظه چک کن
متن اسکوربورد از وسط جابجا شدهطول متن عوض شده ولی فاصله‌ی پدینگ آپدیت نشدهفرمول بخش ۶ رو دوباره حساب کن
بعد از آپلود، فایل رمزنگاری‌شده/به‌هم‌ریخته نمایش داده می‌شهانکودینگ اشتباه یا انتقال ASCII به‌جای Binary در FTPدوباره با UTF-8 بدون BOM و حالت Binary آپلود کن
یک دستور به‌جای پلاگین موردنظر، پلاگین دیگه‌ای جواب می‌دهدو پلاگین یک اسم دستور رو ثبت کردنAlias دستور رو توی یکی از دو پلاگین عوض کن
دیتای بازیکن پیدا نمی‌شهداری فایل بکاپ محلی/قدیمی رو چک می‌کنی، نه سرور زندهفایل رو مستقیم از FTP سرور زنده دانلود کن

مقالات مرتبط

آموزش دستورات سرور آماده prison برای ادمین ها | برنو