Huge documentation update

This commit is contained in:
2024-12-02 12:41:26 -06:00
parent 13f2b301f1
commit 15bc449f7e
290 changed files with 80901 additions and 49342 deletions

View File

@ -4,9 +4,12 @@ title: Command Blocker
---
# Command Blocker
Plex features an advanced command blocker with support for matching and RegEx statements. It is recommended that you use this only in conjunction with ranks. If you are using permissions, there is not as much of a need for a command blocker.
Plex features an advanced command blocker with support for matching and RegEx statements. It is recommended that you use
this only in conjunction with ranks. If you are using permissions, there is not as much of a need for a command blocker.
## Default file
The default `commands.yml` file is below.
```yaml title=/plugins/Plex/commands.yml
@ -66,7 +69,7 @@ commands:
- "r:a:^(co|core|coreprotect) (rb|rollback|l|lookup|rl|reload):_"
- "r:e:^[A-z]*:[A-z]*::<gray>Plugin specific commands are disabled."
# These commands will be blocked when a player is muted
# These commands will be blocked when a player is muted or when chat is toggled off.
block_on_mute:
- me
- say
@ -76,10 +79,15 @@ block_on_mute:
```
## The symbols
- `r` represents RegEx and `m` represents matching.
- The ranks are `e` to block for everyone, `a` to block for admins and above, and `s` to block for senior admins and above.
- The ranks are `e` to block for everyone, `a` to block for admins and above, and `s` to block for senior admins and
above.
## The format
An example formatted entry in the `commands.yml` file would look like this:
`"m:e:mail sendall:You cannot send messages to everyone on the server"`
The `m` will match the `mail sendall` command. The `e` stands for everyone, so it will block this command for everyone. The last part is the message. If you use `_` as the blocked message, it will use the default message specified in `messages.yml`
The `m` will match the `mail sendall` command. The `e` stands for everyone, so it will block this command for everyone.
The last part is the message. If you use `_` as the blocked message, it will use the default message specified in
`messages.yml`

View File

@ -3,11 +3,15 @@ id: config
title: Configuration
---
# Config
This page will show you how to modify the configuration file. The configuration file is located at: ```/plugins/Plex/config.yml```.
# Configuration
This page will show you how to modify the configuration file. The configuration file is located at:
```/plugins/Plex/config.yml```.
## Default configuration
Below is the default `config.yml` file when Plex is loaded for the first time.
```yaml title=/plugins/Plex/config.yml
# Plex Configuration File
# For documentation, please visit: https://plex.us.org
@ -36,8 +40,8 @@ chat:
# The maximum amount of characters a player can have for their tag
# This does not include color tags such as <red> or <rainbow>
max-tag-length: 64
# Color tag for name color
name-color: '<white>'
# The chat format can be customized here if the Plex chat system is enabled
format: "{prefix} <white>{name} <gray>» <reset>{message}"
# You can define colors for each group which will appear in the tab list
colors:
@ -252,78 +256,129 @@ debug: false
```
## Server
### server.name
The name of your server goes here and is used throughout Plex.
### server.motd
The text here will appear on the server list.
### server.colorize_motd
This determines if the message of the day should randomly be colorized. You can disable this option and manually colorize your MOTD.
This determines if the message of the day should randomly be colorized. You can disable this option and manually
colorize your MOTD.
### server.sample
This lets you specify a custom message under the player count in the server list.
## server.timezone
### server.timezone
This lets you customize which timezone various messages appear in (e.g. ban message end date)
## Titles
### titles.masterbuilders
A list of players who will show up as a masterbuilder.
### titles.owners
A list of players who will show up as an owner.
## Banning
### banning.ban_url
The URL to be used when a player sees the ban message. The full ban message can be changed in `messages.yml`.
## Punishments
### punishments.mute-timer
**Default:** `500`
The time in minutes for a mute to expire
### punishments.freeze-timer
**Default:** `500`
The time in minutes for a freeze to expire
## Chat
### chat.enabled
**Default:** `true`
Determines if the chat system should be enabled. It's useful to turn this off if you're using permissions and want to use prefixes from another plugin instead.
Determines if the chat system should be enabled. It's useful to turn this off if you're using permissions and want to
use prefixes from another plugin instead.
### chat.max_tag_length
**Default:** `64`
The maximum length a tag may be in game.
### chat.name-color
**Default:** `<white>`
The default color a tag should be if a player doesn't specify any colors.
The maximum length a tag may be in game. This does not include MiniMessage tags, just characters
## System
### system
**Options:** `ranks` or `permissions`
### chat.format
This determines how Plex's command system works. If `ranks` is selected, Plex will use a ranking system and give all players operator status. If `permissions` is selected, no players are given operator. Instead, every command will have a permission attached to it which can be assigned in any permission system. It is **highly** recommended to use permissions if you are running Plex behind a proxy such as BungeeCord or Velocity. These proxies **rely** on permissions to give proper commands to players. On some misconfigured instances, if a player is opped, they may inherit *all* available permissions from the proxy.
**Default:** `"{prefix} <white>{name} <gray>» <reset>{message}"`
This allows you to customize the chat format for Plex. The `{prefix}` placeholder will be replaced with whatever prefix
the player has. The `{name}` prefix will be substituted with the player's display name. The `{message}` placeholder will
be replaced by the actual message of the player.
## Colors
### colors.\<group\>
This allows you to define colors for your groups in your permission plugin. These colors will show up in tab. For
example, if a person is in the admin group, their color will be aqua. This can be changed and customized based on your
group names. You do not have to use the ones provided in the configuration.
## Login Messages
### loginmessages.name
**Default:** `true`
This enforces a requirement that players include their name when they set a login message.
## Data
### data.central.storage
**Options:** `sqlite`, `mariadb`, `mongodb`
Select which database software you would like to use. `sqlite` is the default. Note that if you change which data storage you use, no data will be transferred.
Select which database software you would like to use. `sqlite` is the default. Note that if you change which data
storage you use, no data will be transferred.
### data.central.user
This is the username for whichever database software you use. Note that `sqlite` does not require a username.
### data.central.password
This is the password for whichever database software you use. Note that `sqlite` does not require a password.
### data.central.hostname
This is the hostname for whichever database software you use. Note that `sqlite` does not require a hostname.
### data.central.port
This is the port for whichever database software you use. Note that `sqlite` does not require a port.
### data.central.db
:::info
The default port for MySQL/MariaDB is 3306. Ensure you change it to that if you are using MySQL/MariaDB.
The default is 27017 which is the MongoDB default.
:::
### data.central.db
This is the name for whichever database software you use. Note that `sqlite` does not require a name.
### data.side.enabled
**Options:** `true` / `false`
This will enable Plex's Redis functionality.
### data.side.auth
**Options:** `true` / `false`
This is whether authentication mode for Redis is turned on or not.
@ -333,61 +388,101 @@ It is highly recommended to have Redis authentication turned on.
:::
### data.side.hostnane
This is the hostname for Redis. This is required for Redis to work.
### data.side.port
This is the port that Redis is listening on. This is requird for Redis to work.
### data.side.password
This is the password for your Redis instance. Note that this can be left blank if authentication is turned off.
## Entity wiping
### entitywipe_list
All items in the list will not be wiped. By default, this includes all mobs as these can be purged with the `mobpurge` command.
All items in the list will not be wiped. By default, this includes all mobs as these can be purged with the `mobpurge`
command.
## Autowiping
### autowipe.enabled
**Options:** `true` / `false`
Should autowiping be enabled?
### autowipe.interval
**Default:** 300
How often, in seconds, to automatically wipe entities. Default is 5 minutes.
### autowipe.entities
A list of entities to automatically wipe.
## Blocking
### blocked_blocks
A list of blocks that should be blocked.
### blocked_entities
A list of entities that should be blocked.
## Entity limits
### entity_limit.mob_limit_enabled
**Default:** `true`
This determines if the mob limiter is enabled
### entity_limit.max_mobs_per_chunk
**Default:** `50`
This allows you to set the maximum number of mobs allowed in a chunk
### entity_limit.mob_limit_ceiling
**Default:** `500`
This is the maximum amount of mobs allowed.
## Global gamerules
### global_gamerules
These gamerules apply to all worlds on the server. Gamerules in the generated worlds will override the global gamerules.
## Worlds
An infinite amount of worlds can be generated from the configuration file. A few are automatically generated by default. The format for generating new worlds is as follows:
An infinite amount of worlds can be generated from the configuration file. A few are automatically generated by default.
The format for generating new worlds is as follows:
```yaml title=/plugins/Plex/config.yml
<world name>:
name: "Human readable world name"
entry:
# The permission required to enter the world, optional
# The permission required to enter the world, optional
permission: "plex.world.worldname.enter"
# Minimum rank requirement, optional
requiredLevels:
- "Rank.ADMIN"
# The message to be shown if a player does not have permission, optional
# The message to be shown if a player does not have permission, optional
message: "<red>You do not have permission to enter this world."
modification:
# The permission required to modify the world, optional
# The permission required to modify the world, optional
permission: "plex.world.worldname.modify"
# Minimum rank requirement, optional
requiredLevels:
- "Rank.ADMIN"
# The message to be shown if a player does not have permission, optional
# The message to be shown if a player does not have permission, optional
message: "<red>You do not have permission to modify this world."
gameRules:
- "doWeatherCycle;false"
@ -398,13 +493,19 @@ An infinite amount of worlds can be generated from the configuration file. A few
stone: 16
bedrock: 1
```
Note that in the `parameters` section, this is how the world should actually be generated. The order is from top to bottom. In the example above, a world will generate with one grass layer, 32 layers of dirt, 16 layers of stone, and one layer of bedrock.
For a list of Ranks and Titles, you can refer to the Javadocs: [Ranks](https://docs.plex.us.org/javadoc/server/dev/plex/rank/enums/Rank.html), [Title](https://docs.plex.us.org/javadoc/server/dev/plex/rank/enums/Title.html).
Note that in the `parameters` section, this is how the world should actually be generated. The order is from top to
bottom. In the example above, a world will generate with one grass layer, 32 layers of dirt, 16 layers of stone, and one
layer of bedrock.
The gamerule section is what gamerules are set for the world by default. The syntax is the official gamerule name, a semicolon, and either `true` or `false`.
For a list of Ranks and Titles, you can refer to the
Javadocs: [Ranks](https://docs.plex.us.org/javadoc/server/dev/plex/rank/enums/Rank.html), [Title](https://docs.plex.us.org/javadoc/server/dev/plex/rank/enums/Title.html).
The gamerule section is what gamerules are set for the world by default. The syntax is the official gamerule name, a
semicolon, and either `true` or `false`.
## Updates
update_repo
The repo to use for update checking.
@ -412,6 +513,8 @@ update_branch
The branch to use for update checking.
## Debugging
**Options:** `true` / `false`
The `debug` option is standalone and enables additional logging. This may be useful for diagnosing issues as more information will be displayed in the console. It is recommended to keep this option turned off.
The `debug` option is standalone and enables additional logging. This may be useful for diagnosing issues as more
information will be displayed in the console. It is recommended to keep this option turned off.

View File

@ -4,10 +4,14 @@ title: Messages
---
# Messages
Almost all of the messages inside of Plex are fully customizable. This page will document how to change messages in the ```messages.yml``` file inside the Plex folder.
Almost all the messages inside of Plex are fully customizable. This page will document how to change messages in the
```messages.yml``` file inside the Plex folder.
## Default file
The default `messages.yml` file is below.
```yaml title=/plugins/Plex/messages.yml
# Plex Messages File
# This file uses the MiniMessage system.
@ -244,7 +248,7 @@ nobodyHasThatMaterial: "<gray>No one online has that in their inventory."
# 0 - The attempted material name
materialNotFound: "<red>{0} is not a valid item/block name."
# 0 - The players name
loginMessage: "<yellow>{0} joined the game"
loginMessage: "<yellow><translate:multiplayer.player.joined:{0}>"
# 0 - The string that wasn't a valid integer
notANumber: "<red>{0} is not a valid number!"
# 0 - Players currently online
@ -294,7 +298,15 @@ commandAliases: "<aqua>Aliases for {0} are: {1}"
```
## MiniMessage
The `messages.yml` file uses MiniMessage for coloring messages. For example, writing `<aqua>`, will color the text aqua. This is not like HTML, and you should not close the tag (`</aqua>`). There are some special functions as well, such as `<rainbow>`. The default color will be gray. For a complete guide on using MiniMessage, visit: [https://docs.adventure.kyori.net/minimessage/format.html](https://docs.adventure.kyori.net/minimessage/format.html).
The `messages.yml` file uses MiniMessage for coloring messages. For example, writing `<aqua>`, will color the text aqua.
This is not like HTML, and you should not close the tag (`</aqua>`). There are some special functions as well, such as
`<rainbow>`. The default color will be gray. For a complete guide on using MiniMessage,
visit: [https://docs.adventure.kyori.net/minimessage/format.html](https://docs.adventure.kyori.net/minimessage/format.html).
## Troubleshooting
If you receive `No message.` when executing a command, it is likely you need to regenerate your `messages.yml` file. The default configuration file is also available on [GitHub](https://raw.githubusercontent.com/PlexDevelopment/Plex/master/src/main/resources/messages.yml). As of Plex 0.6 (Beta 6), your `messages.yml` file should automatically update with new entries.
If you receive `No message.` when executing a command, it is likely you need to regenerate your `messages.yml` file. The
default configuration file is also available
on [GitHub](https://raw.githubusercontent.com/PlexDevelopment/Plex/master/src/main/resources/messages.yml). As of Plex
0.6 (Beta 6), your `messages.yml` file should automatically update with new entries.

View File

@ -4,9 +4,17 @@ title: Indefinite Bans
---
# Indefinite Bans
Similar to TotalFreedomMod, Plex has indefinite bans. Indefinite bans are reserved for players who should not automatically be unbanned. Anyone who has access to the `indefbans.yml` file can add indefinite bans. If you are using Redis, all indefinite bans will be uploaded to Redis on startup. From that point on, indefinite bans will be fetched from Redis instead of the `indefbans.yml` file. **Redis is NOT required to use indefinite bans.** If you do not use Redis, Plex will fetch indefinite bans from the `indefbans.yml` file. No matter which medium you use, you will always add new entries to the `indefbans.yml` file. Note that there is no in-game command for adding or removing indefinite bans.
Plex has an indefinite ban system. Indefinite bans are reserved for players who should not
automatically be unbanned. Anyone who has access to the `indefbans.yml` file can add indefinite bans. If you are using
Redis, all indefinite bans will be uploaded to Redis on startup. From that point on, indefinite bans will be fetched
from Redis instead of the `indefbans.yml` file. **Redis is NOT required to use indefinite bans.** If you do not use
Redis, Plex will fetch indefinite bans from the `indefbans.yml` file. No matter which medium you use, you will always
add new entries to the `indefbans.yml` file. Note that there is no in-game command for adding or removing indefinite
bans.
## Default file
```yaml title=/plugins/Plex/indefbans.yml
# Plex Indefinite Bans File
# Players with their UUID / IP / Usernames in here will be indefinitely banned until removed
@ -32,10 +40,22 @@ bypassers:
```
### How it works
Each entry starts with a description. This is to help you organize indefinite bans. For example, you could have a section `griefers` for serial griefers or `bypassers` for players who have bypassed bans. The `users` section is for usernames only, the `uuids` section is only for UUIDs, and the `ips` section is for IPs only. If you do not want to ban a type, you do not have to include it. Note that no duplicate descriptions can exist. This means you cannot have `bypassers` as a section twice. The actual descriptions are not used in the plugins and can be anything you like. They do not affect the indefinite ban in any way.
Each entry starts with a description. This is to help you organize indefinite bans. For example, you could have a
section `griefers` for serial griefers or `bypassers` for players who have bypassed bans. The `users` section is for
usernames only, the `uuids` section is only for UUIDs, and the `ips` section is for IPs only. If you do not want to ban
a type, you do not have to include it. Note that no duplicate descriptions can exist. This means you cannot have
`bypassers` as a section twice. The actual descriptions are not used in the plugins and can be anything you like. They
do not affect the indefinite ban in any way.
### Converting indefinite bans
If you are switching from TotalFreedomMod to Plex, we have developed a tool called IBConverter to convert your existing indefinite bans into Plex's format. For more information on IBConverter, visit [the GitHub page](https://github.com/PlexDevelopment/IBConverter). This tool was written in Rust. The only thing you need to give it is your existing `indefinitebans.yml` file from TotalFreedomMod. You can download a compiled version below:
If you are switching from TotalFreedomMod to Plex, we have developed a tool called IBConverter to convert your existing
indefinite bans into Plex's format. For more information on IBConverter,
visit [the GitHub page](https://github.com/PlexDevelopment/IBConverter). This tool was written in Rust. The only thing
you need to give it is your existing `indefinitebans.yml` file from TotalFreedomMod. You can download a compiled version
below:
- [IBConverter-Linux.zip](https://github.com/plexusorg/IBConverter/suites/6509280820/artifacts/242044369)
- [IBConverter-Windows.zip](https://github.com/plexusorg/IBConverter/suites/6509280820/artifacts/242044371)
- [IBConverter-Mac.zip](https://github.com/plexusorg/IBConverter/suites/6509280820/artifacts/242044370)

View File

@ -5,6 +5,12 @@ title: Introduction
# Welcome to Plex
Plex is a new freedom plugin. It is an alternative to [TotalFreedomMod](https://github.com/TotalFreedomMC/TotalFreedomMod). It has many of the features that make a freedom server unique, but also many features that TotalFreedomMod doesnt have. For example, there is full support for using a permissions plugin instead of ranks. It is also much more performance oriented. You can use Redis to store indefinite bans and store player data in MongoDB, MariaDB, or SQLite. Plex is also fully customizable as you can change almost all of the messages within the plugin. Plex also has a module system which can be used to add additional functionality. Plex is not a rewrite, "debloat", or related to TotalFreedomMod. Plex is an entirely new experience.
Plex is a new freedom plugin. It is an alternative
to [TotalFreedomMod](https://github.com/TotalFreedomMC/TotalFreedomMod). It has many of the features that make a freedom
server unique, but also many features that TotalFreedomMod doesnt have. For example, there is full support for using a
permissions plugin instead of ranks. It is also much more performance oriented. You can use Redis to store indefinite
bans and store player data in MongoDB, MariaDB, or SQLite. Plex is also fully customizable as you can change almost all
of the messages within the plugin. Plex also has a module system which can be used to add additional functionality. Plex
is not a rewrite, "debloat", or related to TotalFreedomMod. Plex is an entirely new experience.
Use the sidebar to navigate the documentation.

View File

@ -4,4 +4,8 @@ title: BukkitTelnet
---
# BukkitTelnet
The BukkitTelnet is a very simple module. The only purpose of the module is to allow admins to automatically log in to telnet without needing to enter the password. If the person's rank is an Admin or above, it will let them connect. If your server is using permissions, you should add the `plex.telnet.autoconnect` to any group you want to have automatically connect to telnet.
The BukkitTelnet is a very simple module. The only purpose of the module is to allow admins to automatically log in to
telnet without needing to enter the password. If the person's rank is an Admin or above, it will let them connect. If
your server is using permissions, you should add the `plex.telnet.autoconnect` to any group you want to have
automatically connect to telnet.

10
docs/modules/falseop.md Normal file
View File

@ -0,0 +1,10 @@
---
id: falseop
title: FalseOp
---
# FalseOp
The FalseOp module uses ProtocolLib to trick clients into thinking they have true operator privileges. This is useful as
Plex uses permissions rather than granting true operator privileges to users. This module has no additional
configuration, commands, or permissions.

View File

@ -4,25 +4,40 @@ title: HTTPD
---
# HTTPD
The HTTPD module sets up a basic web server to display information from Plex.
## Endpoints
The endpoints are what allow you to query the server and see information. All endpoints are formatted in JSON.
### /api/admins
Displays a list of admins in JSON format. If your IP is not registered to an admin, it will not display IP addresses. If your server is using permissions, it will check if the player has the `plex.httpd.admins.access` instead.
### /api/commands
This endpoint shows a list of registered commands on the server. It is an automatically generated help page. It is up to
plugin authors to provide accurate information about their plugins and the commands they provide.
### /api/indefbans
Displays a list of indefinite players in JSON format. This page is only accessible if your IP address is linked to an admin on the server. If your server is using permissions, it will check if the player has the `plex.httpd.indefbans.access` instead.
Displays a list of indefinite players in JSON format. This page is only accessible if your IP address is linked to an
admin on the server. If your server is using permissions, it will check if the player has the
`plex.httpd.indefbans.access` instead.
### /api/list
This will display a list of online players in JSON format. This is accessible to everyone.
### /api/punishments
If you go this page, it will ask you to enter a UUID in the URL. When you enter a valid UUID to the URL, it will display that user's punishments in JSON format. An example URL would be `/api/punishments/78408086-1991-4c33-a571-d8fa325465b2`. If your IP is not registered to an admin, it will not display IP addresses. If your server is using permissions, it will check if the player has the `plex.httpd.punishments.access` instead.
If you go this page, it will ask you to enter a UUID in the URL. When you enter a valid UUID to the URL, it will display
that user's punishments in JSON format. An example URL would be `/api/punishments/78408086-1991-4c33-a571-d8fa325465b2`.
If your IP is not registered to an admin, it will not display IP addresses. If your server is using permissions, it will
check if the player has the `plex.httpd.punishments.access` instead.
### /api/schematics/download
This page allows anyone to download schematics from the server. No permission is required to access the page
### /api/schematics/upload
This page allows players who are an Admin or above to upload schematics. The corresponding permission to upload schematics is `plex.httpd.schematics.upload`
This page allows players who are an Admin or above to upload schematics. The corresponding permission to upload
schematics is `plex.httpd.schematics.upload`

View File

@ -4,15 +4,18 @@ title: Introduction
---
# Introduction
Plex has optional modules to add additional features to your server experience. Modules are placed in the `/plugins/Plex/modules` folder. They extend off of Plex and can add or change functionality. They are designed for server owners who may want a specific feature that's not built in to Plex.
Plex has optional modules to add additional features to your server experience. Modules are placed in the
`/plugins/Plex/modules` folder. They extend off of Plex and can add or change functionality. They are designed for
server owners who may want a specific feature that's not built in to Plex.
Below is a list of official and supported modules
| Name | Versions |
|---------------|----------|
| BukkitTelnet | 1.4 |
| HTTPD | 1.4 |
| Guilds | 1.4 |
| LibsDisguises | 1.4 |
| NUSH | 1.4 |
| TFMExtras | 1.4 |
| Name | Versions |
|---------------|--------------|
| BukkitTelnet | 1.5 |
| HTTPD | 1.5-SNAPSHOT |
| LibsDisguises | 1.5-SNAPSHOT |
| FalseOp | 1.5-SNAPSHOT |
| NUSH | 1.5-SNAPSHOT |
| TFMExtras | 1.5-SNAPSHOT |

View File

@ -4,11 +4,19 @@ title: LibsDisguises
---
# LibsDisguises
The LibsDisguises module adds two new commands: `undisguiseall` and `disguisetoggle`.
## Commands
### undisguiseall
The `undisguiseall` command disguises all non-admins. You can optionally add `-a` to undisguise all players including admins. If your server is using permissions, the permission to bypass being undisguised is `plex.libsdisguises.bypass`. This permission will not bypass `-a`. The permission to use the command itself is `plex.libsdisguises.undisguiseall`
The `undisguiseall` command disguises all non-admins. You can optionally add `-a` to undisguise all players including
admins. If your server is using permissions, the permission to bypass being undisguised is `plex.libsdisguises.bypass`.
This permission will not bypass `-a`. The permission to use the command itself is `plex.libsdisguises.undisguiseall`
### disguisetoggle
The `disguisetoggle` command toggles LibsDisguises. It allows admins or players with the `plex.libsdisguises.disguisetoggle` permission to toggle LibsDisguises. When LibsDisguises is disabled, all players are undisguised and no commands from LibsDisguises can be used until reenabled.
The `disguisetoggle` command toggles LibsDisguises. It allows admins or players with the
`plex.libsdisguises.disguisetoggle` permission to toggle LibsDisguises. When LibsDisguises is disabled, all players are
undisguised and no commands from LibsDisguises can be used until reenabled.

43
docs/modules/nush.md Normal file
View File

@ -0,0 +1,43 @@
---
id: nush
title: NUSH
---
# NUSH
The NUSH (New User Silent Hush) module prevents raids from happening on servers. When a new player joins, only admins
and themselves can see their chat messages. Admins can then choose to allow a player to chat where everyone can see it.
Alternatively, if they start spamming, they can be banned while regular players do not see their chat messages. You can
also set an expiration so that after a certain amount of time, they will be allowed to chat globally regardless of
manual intervention.
## Permissions
The `plex.nush.use` permission will grant access to the NUSH command and all subcommands. The `plex.nush.view` command
will allow people to view chat messages that are intercepted by NUSH. You would want to give both permissions to
moderators and none to regular players.
## Commands
### nush on
This turns the NUSH module on. New players will be subjected to a delay before their chat messages are globally seen.
### nush off
This turns the NUSH module off. This is the default state for the NUSH module. All new players will be able to chat
normally.
### nush status
This shows the status of NUSH. By default, it is turned off. You can check its status with this command.
### nush time \<duration\>
This sets the time that players must wait before they can chat and their messages are seen. This gives admins enough
time to react if they immediately spam when they join.
### nush remove \<player\>
This removes a player from the NUSH list. Only new players are added, but if they are a legitimate new player during a
raid, you can remove them, and they will be able to chat normally.

View File

@ -4,11 +4,14 @@ title: Permissions
---
# Permissions
This page is a comprehensive list of all of Plex's permission nodes. Note that some of them (such as world entry and modification) are defined by the server config and may vary.
This page is a comprehensive list of all of Plex's permission nodes. Note that some of them (such as world entry and
modification) are defined by the server config and may vary.
## Plex
| Command | Permission | Description |
| ------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------- |
|---------------------|--------------------------------|-------------------------------------------------------------------------------------------------|
| adminchat | plex.adminchat | Talk privately with other admins |
| adminworld | plex.adminworld | Teleport to the adminworld |
| adventure | plex.gamemode.adventure | Set your own gamemode to adventure mode |
@ -61,13 +64,15 @@ This page is a comprehensive list of all of Plex's permission nodes. Note that s
| world | plex.world | Teleport to a world. |
## BukkitTelnet Module
| Permission | Description |
| ----------------------- | ----------------------------------------------------------- |
|-------------------------|-------------------------------------------------------------|
| plex.telnet.autoconnect | Allow automatically connecting to telnet without a password |
## Guilds Module
| Command | Permission | Description |
| ------------- | ------------------- | ------------------------------------------------------------- |
|---------------|---------------------|---------------------------------------------------------------|
| guild | plex.guilds.guild | Guild menu |
| guild chat | plex.guilds.chat | Toggles guild chat or sends a guild chat message |
| guild create | plex.guilds.create | Creates a guild with a specified name |
@ -82,21 +87,45 @@ This page is a comprehensive list of all of Plex's permission nodes. Note that s
| guild warp | plex.guild.warp | Warps to a specified guild warp |
## HTTPD Module
| Permission | Description |
| ----------------------------- | --------------------------------------------------------------------------------------------- |
| plex.httpd.admins.access | Allows seeing IP addresses of admins. Anyone can view the page regardless of permissions |
|-------------------------------|-----------------------------------------------------------------------------------------------|
| plex.httpd.indefbans.access | Allows accessing the indefinite bans. This permission is required to view the page at all. |
| plex.httpd.punishments.access | Allows seeing IP addresses of punishments. Anyone can view the page regardless of permissions |
| plex.httpd.schematics.upload | Allows uploading schematics to the HTTPD if the permission system is enabled. |
## LibsDisguises Module
| Command | Permission | Description |
| -------------- | --------------------------------- | ----------------------------------------------------------------------------------------------- |
|----------------|-----------------------------------|-------------------------------------------------------------------------------------------------|
| disguisetoggle | plex.libsdisguises.disguisetoggle | Toggle LibsDisguises |
| undisguiseall | plex.libsdisguises.undisguiseall | Undisguise all players |
| undisguiseall | plex.libsdisguises.bypass | Bypass being undisguised. This can be overridden regardless of permission with the \`-a\` flag. |
## NUSH Module
| Command | Permission | Description |
| ------- | ----------------- | ---------------------- |
| nush | plex.nush.command | Toggle NUSH on or off. |
| Command | Permission | Description |
|---------|----------------|-----------------------------------|
| nush | plex.nush.use | Toggle NUSH on or off. |
| N/A | plex.nush.view | View messages intercepted by NUSH |
## TFMExtras Module
| Command | Permission | Description |
|--------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| admininfo | plex.tfmextras.admininfo | Information on how to apply for admin |
| autoclear | plex.tfmextras.autoclear | Toggle whether or not a player has their inventory automatically cleared when they join |
| autoteleport | plex.tfmextras.autotp | If a player is specified, it will toggle whether or not the player is automatically teleported when they join. If no player is specified, you will be randomly teleported |
| cake | plex.tfmextras.cake | For the people that are still alive - gives a cake to everyone on the server |
| cartsit | plex.tfmextras.cartsit | Sit in nearest minecart. If target is in a minecart already, they will be ejected |
| clearchat | plex.tfmextras.clearchat | Clears the chat |
| cloudclear | plex.tfmextras.cloudclear | Clears lingering potion area effect clouds |
| clownfish | plex.tfmextras.clownfish | Gives a player a clownfish capable of knocking people back |
| eject | plex.tfmextras.eject | Removes all passengers from a player |
| enchant | plex.tfmextras.enchant | Enchants an item |
| emf | plex.tfmextras.emf | Speak english. |
| expel | plex.tfmextras.expel | Pushes away nearby players |
| jumppads | plex.tfmextras.jumppads | Enables jump pads for yourself or another player. Mode types available: none, regular, enhanced, extreme |
| orbit | plex.tfmextras.orbit | Accelerates the player at a super fast rate |
| randomfish | plex.tfmextras.randomfish | Spawns a random type of fish at your location |

View File

@ -4,7 +4,10 @@ title: Versions
---
# Versions
Plex builds against the latest Minecraft version available. A table has been provided below to help you determine which versions of Plex work with your version of Minecraft. Note that these are only the versions we have officially tested. Plex may or may not work with versions other than in this table.
Plex builds against the latest Minecraft version available. A table has been provided below to help you determine which
versions of Plex work with your version of Minecraft. Note that these are only the versions we have officially tested.
Plex may or may not work with versions other than in this table.
| Plex Version | Minecraft Versions |
|--------------|--------------------|