Skip to content

Config detail information

Gureumi edited this page Mar 23, 2024 · 19 revisions

Wiki version: Essentials 18

The plugin already has a description, but you can check it in more detail here.
Plugin config file path: config/mods/Essentials/config.txt
Search for the setting you are looking for using the Ctrl+F keys.

Plugin

Manage the plugin's preferences.

⚙️ update

Default: true
Check for plugin updates every time you start the server.
However, it does not download automatically.

Example

# Check for plugin update
update: true

# Disable check for plugin update
update: false

⚙️ report

Default: true
In case of an error, it sends error information to the developer's server.
However, the current developer's server does not have an error reporting server, so the feature does not work.

Example

# Enable upload error reports
report: true

# Disable upload error report
report: false

⚙️ authType

Default: None
Avaliable: none, password, discord
If set to None, users will be able to play without further authentication.
If set to Password, users must register for an account using the /reg command to play.
If set to Discord, users must authenticate with Discord to play on the server.

It is rare to use anything higher than the normal Password level.
However, in the event of a high modified client threat or if the UUID and IP values given by the client are no longer reliable, both UUID and IP values are ignored and the user is identified only with the password-protected account.
Discord is more secure than Password.
The server barrier to entry can be very high, so be careful.

Example

# Disable all authentication
# Players can play the server directly without doing anything specific
authType: none

# Use password authentication
# Players must register their account using the /register command.
authType: password

# Use discord authentication
# Players must verify their Discord account on the Discord server using the /discord command before they can play on the server.
authType: discord

⚙️ database

Default: Your server folder/config/mods/Essentials/database
Select the DB where the player data will be saved.
If you enter an IP address here, it will try to connect to the DB with that IP.

Entering default reverts to the original value.

Example

# Windows jOS
database: E:/Mindustry/config/mods/Essentials/database

# Linux OS
database: /home/cloud/mindustry/config/mods/Essentials/database

# If you want to use default values
database: default

# Connect remote database
database: postgresql://127.0.0.1:5432/essentials

⚙️ banList

Default: Your server folder/config/mods/Essentials/data
Set the folder path to manage blocking by inserting or removing the UUID or IP to block into a text file.
UUID is recorded in idban.txt and IP is recorded in ipban.txt.

Example

# Windows OS
database: E:/Mindustry/config/mods/Essentials/data

# Linux OS
database: /home/cloud/mindustry/config/mods/Essentials/data

# Use other ban list folder
database: E:/Mindustry_sandbox/config/mods/Essentials/data

Features

Manage the features of plugins.

💤 afk

Default: false
If the player doesn't do anything for a certain amount of time, they are automatically kicked.

Example

# Enable auto kick
afk: true

# Disable auto kick
afk: false

💤 afkTime

Default: 300 (5 minute)
Set how many seconds to kick. The unit is 1 second.

Example

# Kick after 5 minutes
afkTime: 300

# Kick after 60 seconds
afkTime: 60

# Kick after 10 minute
afkTime: 600

💤 afkServer

Default: empty
If this value is non-empty, players who haven't done anything for a certain amount of time will be moved to the server entered here instead of kicking.

Example

# If you want to only kick from server
afkServer: ""

# If you want to move to another server instead of kick when it is time for afk
afkServer: mindustry.kr

# Also you can write port...
afkServer: mindustry.kr:6567

❎ border

Default: false
When out of the world, the unit is destroyed.
On PvP servers, you can prevent units from attacking by diverting them out of the world.

Example

# Enable world border
border: true

# Disable world border
border: false

💬 chatFormat

Default: %1[orange] >[white] %2
Change chat default format.
%1 is player name, %2 is message.

Example

# Result is "Gureumi > hello!"
chatFormat: "%1[orange] >[white] %2"

# Result is "[Owner]Gureumi > hello!"
chatFormat: "[sky][Owner]%1[orange] >[white] %2"

# Result is "prefix Gureumi -> hello! suffix"
chatFormat: "prefix %1 -> %2 suffix"

🤖 spawnLimit

Default: 3000
Built to avoid server load.
Specifies the maximum number of units the server will accept.

If you set max units to 0, you won't be able to spawn any units, including players.

Example

# If you want to limit the maximum number of units in the world to 3000 units
spawnLimit: 3000

# If you want to 500 units..
spawnLimit: 500

🗳️ vote

Default: true
Set whether to use the voting function provided by the plugin.
If set to true , you can use kick, gameover, wave skip, random event, etc.
If set to false , the default voting functionality provided by the developer will be used.

Example

# Enable plugin vote system
vote: true

# Disable plugin vote system and use mindustry native voting system
vote: false

🔒 fixedName

Default: true
It is fixed to the name that the player used when he first entered the server.
After that, even when the player changes his name and enters, it will be changed to the name he used when he first entered. This feature is useful for find griefer by changing the nickname or identifying a specific user.

Example

# Prevent players from changing their names.
fixedName: true

# Allow players to change their name at will and enter the server.
fixedName: false

🔒 antiVPN

Default: false
When a player connects to the IP used by the VPN service, the connection is automatically disconnected.

This feature may not work perfectly due to the nature of the VPN service.

Example

# Enable antiVPN service
antiVPN: true

# Disable antiVPN service
antiVPN: false

⚔️ pvpPeace

Default: false
When the world starts on a PvP server, the attack damage of units and buildings is set to 0% for a certain period of time.

Example

# Sets the damage to 0% for the time set in pvpPeaceTime.
pvpPeace: true

# Remove PvP restrictions.
pvpPeace: false

⚔️ pvpPeaceTime

Default: 300 (5 minute)
Sets the time to restore attack damage back to normal. The unit is 1 second.

Example

# Set 5 minute
pvpPeace: 300

# Set 10 minute
pvpPeace: 600

# Set 30 seconds
pvpPeace: 30

⚔️ pvpSpector

Default: false
When using this feature, the losing team will automatically move to the Derelict team, and will remain in spectator mode until the next match.

Example

# Enable spector system
pvpSpector: true

# Disable spector system
pvpSpector: false

⏱️ rollbackTime

Default: 10 (10 minute)
Saves the state to be used in /vote back at each set time.
If the time is too short, the griefing will not be fully recoverable, and if the time is too long, a significant amount of play data may be lost.
I'm recommand set to 10 minute in attack/survival mode.

# Set 5 minute
rollbackTime: 300

# Set 10 minute
rollbackTime: 600

# Set 30 seconds
rollbackTime: 30

🔊 message

Default: false
Set whether or not to output messages at regular intervals.
You can use this feature to periodically deliver news and information to players.

Example

# Enable motd message
message: true

# Disable motd message
message: false

🔊 messageTime

Default: 10 (10 minute)
Set the time interval to output messages.
If the time is too short, the chat window may be spammed.

Example

# Set 10 minute
messageTime: 10

# Set 30 minute
messageTime: 30

# Set 5 minute
messageTime: 5

🔢 countAllServers

Default: false
This is a useful feature on lobby servers.
Adds the number of players shown using the /warp count command to display the current number of players.

Example

# Enable count all connected server players
countAllServers: true

# Only count current server players
countAllServers: false

🧱 destroyCore

Default: false
When the player team capture the enemy core, to prevent the core from being captured again because the surrounding buildings are not destroyed, all the surrounding buildings are destroyed when the core is captured.
Useful on attack servers.

Example

# Enable this feature
destroyCore: true

# Disable this feature
destroyCore: false

💬 chatlimit

Default: false
Restrict chatting in languages other than a specific language.

This feature may not be perfect.

Example

# Block chats outside of specific languages.
chatlimit: true

# Allow all language chats.
chatlimit: false

💬 chatlanguage

Default: ko,en (Korean and English. Plugin developer from South Korea.)
Avaliable languages: en, ja, ko, ru, uk, zh
The plugin size has become too large to include all languages...

Set the languages to be allowed.
This plugin uses ISO 3166-1 alpha-2.
Check out the list of languages for country here.
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Example

# Only use Korean
chatlanguage: ko

# Only use English
chatlanguage: en

# Use Korean, English, Japanese
chatlanguage: ko,en,jp

# Use Japanese, Korean, English, Chinese, Russian
chatlanguage: jp,ko,en,zh,ru

💬 chatBlacklist

Default: false
Disable certain words.
You can set the languages to be banned in chat_blastlist.txt
Applied one per line.

Example

# Enable this feature
chatBlacklist: true

# Disable this feature
chatBlacklist: false

💬 chatBlacklistRegex

Default: false
The contents written in chat_blacklist.txt are used as regular expressions, not simple word matching.

Example

# Use regular expressions.
chatBlacklistRegex: true

# Just simply searches for word matches.
chatBlacklistRegex: true

⏫ expDisplay

Default: false
On every player's screen, display players account experience.

Example

# Enable this feature
expDisplay: true

# Disable this feature
expDisplay: false

🔒 blockIP

Default: false
This feature is supported only in Linux, and requires the iptables command in the system to work.
This feature hides this server from the banned user's list of community servers.

Example

# Activate the feature to turn on special blocking.
blockIP: true

# Use normal ban
blockIP: false

💀 waveskip

Default: 1
In Survival mode, each wave starts as many times as the set number of waves.

Setting a value that is too high can cause a very high load on the server or cause high gameovers.

Example

# Normal wave processed
waveskip: 1

# 2 waves are processed for each wave.
waveskip: 2

# 3 waves are processed for each wave.
waveskip: 3

# 10 waves are processed for each wave.
waveskip: 10

🧱 unbreakableCore

Default: false
Useful for sandbox servers.
Keep set core health to 100% to avoid destroying the core.

If you do it in wave, attack server the game may not end forever.

Example

# Makes unbreakable core
unbreakableCore: true

# Enable destroyable core
unbreakableCore: false

🌠 moveEffects

Default: true
Enables/disables effects that appear when players move.
Enabling this feature will have different effects for different player levels, but will affect CPU performance and network traffic.

Turns all player movement effects on and off independently of the player's settings.

Example

# Enable unit move effects
moveEffects: true

# Disable unit move effects
moveEffects: false

🖥️ webServer

Default: false
Enable web server. It includes a leaderboard feature.
You may need to use nginx port forwarding to use it as a real domain.

Example

# Enable leaderboard web server
webServer: true

# Disable web server
webServer: false

🖥️ webServerPort

Default: 8123
Set the port to use for the web server.

Example

# Set web server port to 80
webServerPort: 80

# Set web server port to 8080
webServerPort: 8080

🖥️ restAPIRequestsLimit

Default: 5
The number of times to request per restAPILimitRefillPeriod config value.
It prevents malicious users from performing attacks that slow down the server by continuously refreshing through the web server.

Example

# If restAPILimitRefillPeriod value is 30..
# Set restAPILimitRefillPeriod x 5 = Limit request 5 times per 30 seconds
restAPIRequestsLimit: 5

# Set restAPILimitRefillPeriod x 10 = Limit request 10 times per 30 seconds
restAPIRequestsLimit: 10

🖥️ restAPILimitRefillPeriod

Default: 30
restAPIRequestsLimit Sets the time limit is reset.

Example

# If restAPIRequestsLimit value is 5..
# Limit 5 refreshes in 30 seconds
restAPILimitRefillPeriod: 30

# Limit 5 refreshes in 1 minute
restAPILimitRefillPeriod: 60

# Limit 5 refreshes in 5 minutes
restAPILimitRefillPeriod: 300

💀 skiplimit

Default: 10
Limits the number of wave skips caused by the /vote skip command.
Avoid putting a very high load on the server by entering a wave skip that is too high.

Example

# Maximum of 10 waves per vote
skiplimit: 10

# Maximum of 15 waves per vote
skiplimit: 15

⚔️ pvpAutoTeam

Default: true
Teams are automatically deployed according to the player's record when connecting to the PvP server.
Players with high win rates are more likely to be placed on teams with many players with very low win rates.

Example

# Enable PvP balance matching system
pvpAutoTeam: true

# Disable PvP balance matching system
pvpAutoTeam: false

Ban

These are functions for connecting between servers. Rework is in progress.

shareBanListServer

Default: 127.0.0.1
Connect with another server.
In the connected state, you can use the broadcast command to send messages to all servers.

Security

Manages functions useful for catching Griefers.

votekick

Default: false
Allows players to start voting by pressing the hammer icon in the player list.
This feature has the risk of voting being neutralized by trolling users, Modified clients, or griefers, and there have been cases of abuse by Modified clients.
If you use this function, you agree that any disputes between players and server security may be vulnerable.

Example

# Enable quick voting from player list
votekick: true

# Disable quick voting from player list
votekick: false

antiGrief

Default: false
Execute various experimental anti-grief functions.
This includes prohibiting access between the same IP and detecting power supply cutoff, which may cause malfunction or instability.

Example

# Enable anti-grief system
antiGrief: true

# Disable anti-grief system
antiGrief: false

minimumName

Default: false
Set the player's minimum nickname length to at least 4 characters.
Very short nicknames prevent duplicate nicknames from being detected and hindered in quickly blocking the griefer.

Example

# Set minimum nickname length to 4 characters
minimumName: true

# Unlimit nickname length
minimumName: false

blockfooclient

Default: false
Blocking foo's client. If this value is set to false, various cheats, unfair games, unintentional block place, and unexpected plugin errors cannot be prevented.
If you set this value to false, you agree that the plugin creator will not have any problems with plugin errors and server operation.

Example

# Block foo's client
blockfooclient: true

# Allow foo's client
blockfooclient: false

allowMobile

Default: true
Allow mobile user access.
Setting this value to false will prevent mobile players from entering the server.

Example

# Allow mobile players
allowMobile: true

# Block mobile players
allowMobile: false

blockNewUser

Default: false
Blocks new users from entering the server.
This feature is useful for malicious users to bypass bans using custom clients or VPNs.
Enable this function to block modified client attacks while maintaining the authType value as None.

Example

# Block new players
blockNewUser: true

# Allow join new players
blockNewUser: false

Discord

Settings related to Discord integration

botToken

Enter the Bot ID.
You can find it in the Discord Developer Center.

Example

botToken: avqnwfe561awe4fvq

channelToken

Enter the ID of the specific channel the bot will be used on.
You will need to enable developer mode in your Discord settings to see this.

Example

channelToken: 527319715439417593

discordURL

Enter your discord invite URL.
By entering your Discord URL here, you can use the /discord command to open the Discord URL from within the game.

Example

discordURL: https://discord.gg/invitelink

banChannelToken

Enter the ID of the specific channel the bot will be used on.
When a player is banned on the server, the information of the banned player is displayed through the set Discord channel.

Example

banChannelToken: 91475341795341759