LetsPlaytest

Let players playtest your server for a short period of time!

96

LetsPlaytest

"ABOUT" Section

## LetsPlaytest plugin allows server owners to easily whitelist players for a specified duration, enabling exclusive playtesting. Choose between global access, where all players can join without individual whitelisting, or a per-player whitelist for targeted testing. Perfect for gathering feedback and improving your server!

Server Version: - Server Version: 17+ - Server Version: 1.19.4+

FEATURES

- Command Management: Easily toggle a dedicated playtest mode for server testing. - Command Management: Allow all players to join without individual whitelisting for a specified duration. - Command Management: Add specific players to the whitelist with customizable expiration times and limits on join counts. - Command Management: Choose between SQLite and MySQL for storing player and staff data, with improved structure for ratings and joins. - Command Management: Enable players to rate the server with a star system and provide feedback through a user-friendly GUI. Also, reward your players for rating your server! - Command Management: Allow admins to request a reset of the playtester's ratings, with confirmation and expiration features. - Command Management: Use HEX color codes for messages, enhancing visual customization while retaining legacy color codes. - Command Management: Inform players of join status and playtest mode activities, including average ratings. - Command Management: Intuitive command structure for managing playtests, including adding/removing players and staff, and viewing player lists.

COMMANDS

Playtest Management - /playtest toggle - Toggle playtest mode - /playtest global <duration> - Enable global playtest - /playtest disableglobal - Disables global playtest - /playtest status - Views the status of the playtest

Player Management - /playtest addplayer <player> <duration> - Add a player - /playtest removeplayer <player> - Remove a player - /playtest playerslist - List of playtest players

Staff Management - /playtest addstaff <player> - Add a staff member - /playtest removestaff <player> - Remove a staff member - /playtest stafflist - List of staff members

Review Management - /playtest reviews - Views all the playtester’s reviews - /playtest requestreset <player> - Request review reset - /playtest confirmreset - Accept reset request - /playtest denyreset - Deny reset request - /letsrateit - Rate your server - Aliases: /rate, /lri

Configuration - /playtest reload - Reload plugin configuration

Permissions:

- playtest.admin - Default: Op - playtest.rate - Default: True - playtest.reviews - Default: Op

Duration Format:

- (t): day(s) // 7d - (t): hour(s) // 7h - (t): minute(s) // 7m - (t): time(s) // The player will be able to join X times (/playtest addplayer steve 5)

FILES

Default: config.yml

```

LetsPlaytest Plugin Configuration

Thank you for installing my plugin! <3

Database Configuration

database:

Supported types: sqlite, mysql

type: sqlite

MySQL Configuration (only used if the type is 'mysql')

mysql: host: localhost port: 3306 database: minecraft username: root password: ''

notifications: join-alerts: true

rewards: enabled: true star-rewards: 5: - "give %player% diamond 3" - "eco give %player% 1000" 4: - "give %player% diamond 1" - "eco give %player% 500" 3: - "give %player% gold 32" 2: - "give %player% iron 3" 1: - "give %player% coal 1" # No hard feelings :)

rating:

Whether feedback is required after rating

feedback-required: true feedback-min-length: 10 # Minimum characters (0 to disable) feedback-max-length: 200 # Maximum characters (0 to disable)

Rating items configuration

Hex code support is available

Format: &#FFFFFF

rating-items: 1: material: "RED_STAINED_GLASS_PANE" custom-model-data: 1001 name: "&fPoor" # Do not add any color other than white, it will be removed automatically. lore: - "&7Click to rate 1 star" - "&eLowest rating" 2: material: "ORANGE_STAINED_GLASS_PANE" custom-model-data: 1002 name: "&fDecent" # Do not add any color other than white, it will be removed automatically. lore: - "&7Click to rate 2 stars" - "&eBelow average" 3: material: "YELLOW_STAINED_GLASS_PANE" custom-model-data: 1003 name: "&fOkay" # Do not add any color other than white, it will be removed automatically. lore: - "&7Click to rate 3 stars" - "&eAverage experience" 4: material: "LIME_STAINED_GLASS_PANE" custom-model-data: 1004 name: "&fGood" # Do not add any color other than white, it will be removed automatically. lore: - "&7Click to rate 4 stars" - "&eAbove average" 5: material: "BLUE_STAINED_GLASS_PANE" custom-model-data: 1005 name: "&fExcellent" # Do not add any color other than white, it will be removed automatically. lore: - "&7Click to rate 5 stars" - "&ePerfect experience"

confirm-button: material: "LIME_DYE" custom-model-data: 1010 name: "&aConfirm Rating" # Color can be changeable lore: - "&7Click to confirm your rating" - "&eYou can't edit your review later"

close-button: material: "BARRIER" custom-model-data: 0 name: "&cClose" # Color can be changeable lore: - "&7Click to cancel rating" - "&7No rating will be saved"

To change the GUI title check messages.yml

And find "rating-gui-title" all the way down.

```

Default: messages.yml

```

LetsPlaytest Plugin Messages Configuration

Hex code support is available

Format: &#FFFFFF

Player-related messages

player-add-success: '&6[LetsPlaytest] &aAdded {0} to playtest list.' player-remove-success: '&6[LetsPlaytest] &aRemoved {0} from playtest list.' player-not-found: '&6[LetsPlaytest] &cPlayer not found.' player-already-in-list: '&6[LetsPlaytest] &cPlayer is already in the playtest list.' player-not-in-list: '&6[LetsPlaytest] &cPlayer is not in the playtest list.'

Staff-related messages

staff-add-success: '&6[LetsPlaytest] &aAdded {0} to staff list.' staff-remove-success: '&6[LetsPlaytest] &aRemoved {0} from staff list.' staff-not-found: '&6[LetsPlaytest] &cStaff member not found.' staff-already-in-list: '&6[LetsPlaytest] &cPlayer is already a staff member.' staff-not-in-list: '&6[LetsPlaytest] &cPlayer is not a staff member.'

Playtest mode messages

playtest-mode-enabled: '&6[LetsPlaytest] &ePlaytest mode &aEnabled' playtest-mode-disabled: '&6[LetsPlaytest] &ePlaytest mode &cDisabled'

New notification messages with status placeholder

playtest-mode-active-notification: '&6[LetsPlaytest] &ePlaytest mode is currently &6{status}!' playtest-mode-inactive-notification: '&6[LetsPlaytest] &ePlaytest mode is currently &c{status}.' playtest-join-notification: "&6[LetsPlaytest] This server is in playtest mode with an overall rating of &e{average}&6/&e5" playtest-join-staff-notification: "&6[LetsPlaytest] &ePlaytest mode is currently &6ACTIVE"

Global playtest messages

global-playtest-notification: "&6[LetsPlaytest] &aGlobal playtest has been enabled for {duration}." global-playtest-disabled-notification: "&6[LetsPlaytest] &cGlobal playtest has been disabled." global-playtest-enabled: '&6[LetsPlaytest] &eGlobal playtest &aenabled &efor {duration}' global-playtest-disabled: '&6[LetsPlaytest] &eGlobal playtest &cdisabled &epermanently.' global-playtest-error: '&6[LetsPlaytest] &cError setting global playtest.'

Command usage messages

command-usage-addplayer: '&6[LetsPlaytest] &cUsage: /playtest addplayer <player> <duration>' command-usage-removeplayer: '&6[LetsPlaytest] &cUsage: /playtest removeplayer <player>' command-usage-addstaff: '&6[LetsPlaytest] &cUsage: /playtest addstaff <player>' command-usage-removestaff: '&6[LetsPlaytest] &cUsage: /playtest removestaff <player>' command-usage-global: '&6[LetsPlaytest] &cUsage: /playtest global <duration>' command-usage-invalid-duration: '&6[LetsPlaytest] &cInvalid duration format. Use 5d, 3h, 30m, or just a number.' command-usage-invalid: '&6[LetsPlaytest] &cUnknown subcommand. Use /playtest for help.' command-no-permissions: '&6[LetsPlaytest] &cYou don''t have enough permissions to do this.'

Kick messages

playtest-kick-message: '&6This server is currently in playtest mode. You are not authorized to join yet.' playtest-expired-message: '6Your playtest access has expired.' playtest-join-limit-message: '&6You have reached your maximum number of joins.'

Database error messages

database-error-general: '&6[LetsPlaytest] &cA database error occurred. Please contact an administrator.' database-error-connection: '&6[LetsPlaytest] &cFailed to establish database connection.'

Help command messages

help-header: '&6[LetsPlaytest] &fCommands:' help-toggle: '&6/playtest toggle &7- Toggle playtest mode' help-addplayer: '&6/playtest addplayer <player> <duration> &7- Add a player' help-removeplayer: '&6/playtest removeplayer <player> &7- Remove a player' help-addstaff: '&6/playtest addstaff <player> &7- Add a staff member' help-removestaff: '&6/playtest removestaff <player> &7- Remove a staff member' help-global: '&6/playtest global <duration> &7- Enable global playtest' help-disableglobal: '&6/playtest disableglobal &7- Disables global playtest' help-status: '&6/playtest status &7- Views the status of the playtest' help-reviews: '&6/playtest reviews &7- Views all the playtester''s reviews' help-requestreset: "&6/playtest requestreset <player> &7- Request review reset" help-confirmreset: "&6/playtest confirmreset &7- Accept reset request" help-denyreset: "&6/playtest denyreset &7- Deny reset request" help-playerslist: '&6/playtest playerslist &7- List of playtest players' help-stafflist: '&6/playtest stafflist &7- List of staff members' help-reload: '&6/playtest reload &7- Reload plugin configuration'

Reload

reload-message: '&6[LetsPlaytest] Playtest plugin configuration reloaded successfully.'

List headers

playtest-players-header: '&6--- Playtest Players ---' playtest-status-header: "&#FFAA00--- Playtest Status ---" staff-members-header: '&6--- Staff Members ---'

player-list-format: "&7{player} - {expiration_info}" staff-list-format: "&7{staff_member}"

Status Messages

playtest-mode-status: "&ePlaytest Mode: &f{0}" global-playtest-active: "&eGlobal Playtest: &6Active for {time}" global-playtest-expired: "&eGlobal Playtest: &fExpired" global-playtest-not-active: "&eGlobal Playtest: &fNot Active" active-player-count: "&eActive Playtest Players: &f{0}" staff-count: "&eStaff Members: &f{0}" playtest-expiration: "&eYour access expires in: &f{time}"

Rating Summary Messages

overall-rating: "&6Overall Rating: &#FFFFFF{average}/5 (from {count} reviews)" rating-distribution: "&6Rating Distribution:" rating-stars: "&6{stars} &f{count} reviews"

Review Command Messages

reviews-header: "&6--- Player Reviews ---" review-format: "&6{player}: {rating}/5 - &7{feedback}" no-reviews: "&6No reviews found." reviews-usage: "&6Usage: /playtest reviews [page]" review-page: "&6Page {current}/{total}"

Rating and Feedback Messages

rating-gui-title: "&8Rate this Server" # <- it's right here rating-message: "&6[LetsPlaytest] Please rate your experience with /letsrateit" rating-overall-message: "&6[LetsPlaytest] This server is in playtest mode with the overall rating of {rating}/5" rating-success: "&6[LetsPlaytest] Thank you for your rating of {0}/5!" rating-error: "&6[LetsPlaytest] &cThere was an error saving your review! Please contact an administrator." reward-message: "&6[LetsPlaytest] You received rewards for your {rating}-star review! ({rewards_count} items)" feedback-prompt: "&6[LetsPlaytest] Please type your feedback in chat (or type 'cancel' to skip):" feedback-success: "&6[LetsPlaytest] Thank you for your feedback!" feedback-cancelled: "&6[LetsPlaytest] Feedback submission cancelled." rating-already-given: "&6[LetsPlaytest] You've already rated this server." rating-no-permission: "&6[LetsPlaytest] You don't have permission to rate this server." feedback-too-short: "&6[LetsPlaytest] Your feedback must be at least {0} characters long." feedback-too-long: "&6[LetsPlaytest] Your feedback cannot exceed {0} characters."

reset-request-sent: "&6[LetsPlaytest] &eSent review reset request to &6{player}" reset-request-received: "&6[LetsPlaytest] &eAdmin wants to reset your review. Type &6/playtest confirmreset &eor &6/playtest denyreset" reset-success: "&6[LetsPlaytest] Your review has been reset! You can submit a new one now." reset-denied: "&6[LetsPlaytest] Review reset request denied." reset-expired: "&6[LetsPlaytest] Reset request is either expired or doesn't exist." admin-reset-cancelled: "&6[LetsPlaytest] Player {player} has &cdenied &6the review reset." admin-reset-confirmed: "&6[LetsPlaytest] Player {player} has &aaccepted &6the review reset!" ```

PLANS

1. ~~Players Feedback~~ (Available in version 1.1.0+) 2. ~~Players Feedback~~ (Available in version 1.1.0+)

ADS