پلاگین گیم تولز یک افزونه برای سرورهای ماینکرفت است که امکانات ویژهای مانند سیستم رایدهی و بوست کردن سرور را ارائه میدهد.
با استفاده از این سیستم، کاربران میتوانند به سرورهای مورد علاقهشان رای دهند. این فرآیند به بازیکنان پاداشهایی از جمله آیتمها و رتبههای مختلف میدهد.
این قابلیت به کاربران این امکان را میدهد که با خرید بوست، سرور مورد نظر خود را ارتقاء دهند. بوست کردن سرور باعث افزایش دیده شدن آن در بین کاربران و ارتقاء سطح دسترسیها میشود.
توجه داشته باشید که برای استفاده از قابیلت پاداش بوست بازیکن باید قبل از بوست کردن سرور (با استفاده از پلاگین) به سرور شما در گیم تولز رای داده باشد تا اطلاعات آن در زمان رای ثبت شود.
برای نصب پلاگین گیم تولز، مراحل زیر را دنبال کنید:
1️⃣ مرحله اول برای نصب پلاگین، کافیست وارد گیت هاب پلاگین شوید و آخرین نسخه پلاگین را دانلود کنید.
2️⃣ مرحله دوم
پس از دانلود کردن پلاگین، آن را در فولدر plugins
سرور خود قرار دهید و سپس سرور را یک بار ریستارت کنید تا فایلهای پلاگین ساخته شوند.
3️⃣ مرحله سوم
پس از ساخته شدن فولدر GameTools
در فولدر plugins
وارد آن شوید و فایل config.yml
را باز کنید. در قسمت websocket.token
، توکن سرور خود را وارد کنید:
برای دریافت توکن سرور شما باید رنک Owner داشته باشید. پس از آن، وارد پنل کاربری خود در گیم تولز شوید و از بخش سرورها تنظیمات سرور خود را باز کنید و توکن سرور خود را دریافت کنید.
4️⃣ مرحله چهارم سرور را یک بار دیگر ریستارت کنید تا تنظیمات اعمال شوند. پس از ریستارت شدن سرور، کنسول سرور را باز کنید. شما باید پیام زیر را مشاهده کنید:
[GameTools] Successfully Connected to the Websocket.
با مشاهده این پیام، پلاگین بهطور کامل نصب شده است و شما میتوانید از تمام امکانات آن استفاده کنید.
در این قسمت، برخی از تنظیماتی که ممکن است کمی نامفهوم باشند را به صورت کامل توضیح دادهایم.
فایل setting.yml
vote.only-broadcast-exist-player-message: boolean # true/false
این تنظیم در صورت true
بودن به این معناست که فقط پیام رای دادن افرادی که از طریق پلاگین (فرمان /gametools vote
) رای دادهاند برای بقیهی سرور ارسال شود. ولی در صورت false
هر زمان که شخصی چه از طریق وبسایت گیم تولز
چه از طریق دیسکورد MC Tools
به سرور شما رای دهد، پیام رای او در سرور ارسال میشود.
vote.get-reward-just-in-first-time: boolean # true/false
این تنظیم به این معناست که سیستم پاداش توسط شما مدیریت شود یا خود گیم تولز. زمانی که این تنظیم true
باشد، فقط زمانی که کاربر اولین بار در گیم تولز به سرور شما رای دهد پاداش دریافت میکند و اگر رای خود را به سرور دیگر تغییر دهد و دوباره به سرور شما رای دهد دیگر پاداش دریافت نمیکند. زمانی که این تنظیم false
باشد، سیستم پاداش توسط خود سرور شما مدیریت میشود. یعنی زمانی که اطلاعات شخص رای دهنده از دیتابیس سرور شما حذف شود کاربر می تواند دوباره به سرور شما رای دهد.
این رای صرفاً برای سرور شما ارسال میشود و اگر در گیم تولز قبلاً رای داده باشد، رای دوباره ثبت نمیشود و صرفاً برای گرفتن پاداش دوباره فقط برای سرور شما ارسال میشود.
vote.auto-announce.interval: integer
این تنظیم مشخص میکند پیام Auto Announce
برای رای هر چند ثانیه فرستاده شود. این عدد بر اساس ثانیه تعریف میشود.
boost.only-broadcast-exist-player-message: boolean # true/false
این تنظیم در صورت true
بودن به این معناست که فقط پیام بوست دادن افرادی که قبلاً رای دادهاند و دادههای مربوط به دیسکورد آنها در دیتابیس شما ثبت شدهاند، فرستاده میشود. اگر این مقدار false
باشد، هر شخصی که سرور شما را بوست کند، پیام آن برای همه ارسال میشود.
توجه داشته باشید برای اینکه بخواهید از قسمت پاداش بوست پلاگین استفاده کنید، شخصی که بوست میکند باید دادههای دیسکورد او در دیتابیس پلاگین گیم تولز موجود باشد. برای اضافه شدن دادهها به دیتابیس گیم تولز، شخص کافی است با استفاده از فرمان gametools vote/ یک لینک رای دریافت کند و وارد وبسایت گیم تولز شود. حتماً توجه کنید که باید پیام رای دادن شخص در سرور ارسال شده باشد تا دادهی آن کامل در دیتابیس پلاگین گیم تولز ثبت شود. پس از انجام این کار، توسط پلیر دادهی او در دیتابیس محلی شما ثبت میشود و پس از آن هر چند بار که بوست انجام دهد، به طور خودکار پاداشی که شما در تنظیمات قرار دادهاید را دریافت میکند و در صورت آفلاین بودن پلیر، زمانی که وارد سرور شود پاداش را دریافت میکند، یعنی با آفلاین بودن پلیر مشکلی در گرفتن پاداش پیش نمیآید.
توجه داشته باشید برای اینکه سیستم پاداش چه در قسمت رای و چه در قسمت بوست به درستی عمل کند، باید زمان رای دادن یا بوست کردن سرور توسط پلیر، سرور شما آنلاین باشد و به صورت کامل به گیم تولز متصل باشد. در صورت آفلاین بودن سرور شما، شخص هیچ پاداشی دریافت نمیکند و شما باید بطور دستی از طریق کامند های gametools reward boost-vote/ به پلیر مورد نظر پاداش را بدهید. توجه داشته باشد در قسمت رای اگر شما به شخصی که در زمان آفلاین بودن سرور رای داده است دستی پاداش دهید و پلیر دوباره از کامند gametools vote/ استفاده کند و کانفیگ vote.get-reward-just-in-first-time به حالت false باشد باز هم پاداش دریافت می کند پس بهتر است از پلیر بخواهید دوباره از کامند gametools vote/ استفاده کند و لینک ارسالی را باز کند.
دستور | دسترسی مورد نیاز |
---|---|
gametools vote/ | gametools.command.vote |
gametools reward boost [player] [amount]/ | gametools.command.reward |
gametools reward vote [player]/ | gametools.command.reward |
gametools reload/ | gametools.command.reload |
برای استفاده کردن از API پلاگین گیم تولز میتوانید از روشهای زیر استفاده کنید:
<repository>
<id>repo-sayandevelopment-snapshots</id>
<name>SayanDevelopment Repository</name>
<url>https://repo.sayandev.org/snapshots</url>
</repository>
<dependency>
<groupId>ir.taher7</groupId>
<artifactId>gametools</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Groovy
repositories {
maven {
url "https://repo.sayandev.org/snapshots"
}
}
dependencies {
implementation 'ir.taher7:gametools:1.0.0-SNAPSHOT'
}
Kotlin
repositories {
maven {
url = uri("https://repo.sayandev.org/snapshots")
}
}
dependencies {
implementation("ir.taher7:gametools:1.0.0-SNAPSHOT")
}
🔸 NewVoteEvent
این رویداد زمانی اجرا میشود که شخصی در گیم تولز به سرور شما رأی داده است و گیم تولز اطلاعات آن را برای شما ارسال میکند.
این رویداد قابل لغو است (Cancellable
) و شما میتوانید آن را در پلاگین خود مدیریت کنید.
پارامترهایی که به شما داده میشود
در صورت داشتن
?
در کنار نوع داده، این مقدار ممکن استnull
باشد.
پارامتر | نوع | توضیحات |
---|---|---|
vote | NewVote | شیء NewVote ، اطلاعات رأی داده شده توسط شخص. |
isVoted | Vote? | شیء Vote که وضعیت رأی را نشان میدهد. |
player | Player? | شیء Player که نماینده بازیکن است که رأی داده است. |
برای اطلاعات بیشتر می توانید به Github پلاگین مراجع کنید.
🔸 NewBoostEvent
این رویداد زمانی اجرا میشود که شخصی سرور شما را بوست کرده باشد و گیم تولز اطلاعات آن را برای شما ارسال میکند.
این رویداد قابل لغو است (Cancellable
) و شما میتوانید آن را در پلاگین خود مدیریت کنید.
پارامترهایی که به شما داده میشود
در صورت داشتن
?
در کنار نوع داده، این مقدار ممکن استnull
باشد.
پارامتر | نوع | توضیحات |
---|---|---|
boost | NewBoost | شیء NewBoost که اطلاعات مربوط به بوست را نشان میدهد. |
user | User? | شیء User که اطلاعات مربوط به کاربر را نشان میدهد. |
برای اطلاعات بیشتر می توانید به Github پلاگین مراجع کنید.
🔸 RequestVoteEvent
این رویداد زمانی اجرا میشود که بازیکنی با استفاده از دستور /gametools vote
درخواست رأی داده است و در جواب گیم تولز اطلاعات مربوط به رأی را برای او ارسال میکند.
این رویداد قابل لغو است (Cancellable
) و شما میتوانید آن را در پلاگین خود مدیریت کنید.
پارامترهایی که به شما داده میشود
در صورت داشتن
?
در کنار نوع داده، این مقدار ممکن استnull
باشد.
پارامتر | نوع | توضیحات |
---|---|---|
requestVote | RequestVote | شیء RequestVote که اطلاعات مربوط به درخواست رأی را نشان میدهد. |
player | Player | شیء Player که نماینده بازیکنی است که درخواست رأی داده است. |
برای اطلاعات بیشتر می توانید به Github پلاگین مراجع کنید.
کلاس GameToolsManager
تمام ابزارهای اصلی پلاگین GameTools را در خود جای داده است که شما میتوانید از آنها در پلاگین خود استفاده کنید.
🔸 متغیر serverData
این یک متغیر است که زمانی که پلاگین به گیم تولز متصل میشود، دادههای مربوط به سرور را مقداردهی اولیه میکند و قبل از اتصال به گیم تولز، دادهها خالی هستند.
پارامترهای این متغیر
پارامتر | نوع | توضیحات |
---|---|---|
name | String | نام سرور |
address | String | آدرس سرور |
color | String | رنگ سرور (بصورت کد هگزادسیمال) |
🔸 متد giveVoteRewards(player: Player)
با استفاده از این تابع میتوانید به بازیکن دلخواه، پاداشهایی که در پیکربندی رأی تنظیم کردهاید، اختصاص دهید.
پارامترهای این متغیر
پارامتر | نوع | توضیحات |
---|---|---|
player | Player | بازیکنی که میخواهید پاداش را به او بدهید. |
🔸 متد giveBoostRewards(player: Player, amount: Int)
با استفاده از این تابع میتوانید پاداشهای مربوط به Boost که در پیکربندی تعیین کردهاید، را به بازیکن دلخواه اختصاص دهید.
پارامترهای این متغیر
پارامتر | نوع | توضیحات |
---|---|---|
player | Player | بازیکنی که میخواهید پاداش را به او بدهید. |
amount | Int | مقدار Boost که به بازیکن داده میشود. |
🔸 متد sendVoteRequest(player: Player)
با استفاده از این تابع میتوانید برای یک بازیکن دلخواه درخواست اطلاعات رأی به گیم تولز ارسال کنید و از طریق رویداد RequestVoteEvent
آن را دریافت کنید.
پارامترهای این متغیر
پارامتر | نوع | توضیحات |
---|---|---|
player | Player | بازیکنی که میخواهید درخواست رأی را برای او ارسال کنید. |
اگر هر مشکلی در استفاده از پلاگین گیم تولز داشتید، میتوانید با وارد شدن به دیسکورد گیم تواز از طریق سیستم تیکت، مشکل خود را بیان کنید.