By default, MCC stores its settings in `MinecraftClient.ini`, which is created the first time you run the program. You can also pass a custom configuration file path as the first argument when starting MCC. See [Usage](usage.md#quick-usage-of-mcc-with-examples) for examples.
This setting is where you need to provide your in-game name (for offline accounts) or email for Microsoft accounts (Mojang accounts do not work anymore) and your password (if using an offline account, use `-` for the password).
This is the setting where you provide the address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically)
Host can also fill in the nickname of the server in the "Server List" below.
-**Format:**`Server = { Host = "<ip>", Port = <port> }`
This setting is used when `AccountType` is set to `yggdrasil`. It points MCC at the authlib/Yggdrasil server used for login and session checks.
You can provide either just the host name or a `host:port` pair. If the port is omitted, MCC uses `443`.
-**Type:**`inline table`
-**Default:**`{ Host = "", Port = 443 }`
-**Example:**
```
AuthServer = { Host = "auth.example.com", Port = 443 }
```
#### `AuthUser`
-**Description:**
This setting allows for Yggdrasil authlib multi-user selection. It selects which profile MCC should use when the authlib/Yggdrasil server returns multiple available profiles. Leave it empty to pick the profile interactively.
When connecting to 1.6+ servers, you will need a translation file to display properly some chat messages.These files describe how some messages should be printed depending on your preferred language.
The client will automatically load `en_GB.lang` from your Minecraft folder if Minecraft is installed on your computer, or download it from Mojang's servers. You may choose another language in the configuration file.
To find your language code, check [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239s).
This setting is where you can change the prefix character of internal MCC commands.
Available options:
-`none`
-`slash`
-`backslash`
-**Type:**`string`
-**Default:**`slash`
-**Example:**
```
InternalCmdChar = "slash"
```
#### `MessageCooldown`
-**Description:**
This setting is where you can change the minimum delay in seconds between messages to avoid being kicked for spam.
-**Type:**`float`
-**Default:**`1.0`
#### `BotOwners`
-**Description:**
This setting is where you can set the owners of the bots/client which can be used by some plugins. The names are separated as strings within an array, separated by commas.
This setting is where you can set the path to the file which will contain the logs, leave empty for no log file.
-**Type:**`string`
-**Default:** Empty
-**Example:**
```
ChatbotLogFile = "my-log.txt"
```
#### `PrivateMsgsCmdName`
-**Description:**
The name of the command which is used for remote control of the bot.
-**Type:**`string`
-**Default:**`tell`
#### `ShowSystemMessages`
-**Description:**
This setting is where you can define if you want to see the system messages (example command block outputs) if you're an OP.
-**Type:**`boolean`
-**Default:**`true`
#### `ShowXPBarMessages`
-**Description:**
This setting is where you can define if you want to see the Boss XP Bar messages.
-**Type:**`boolean`
-**Default:**`true`
> **Note: Can create a spam if there is a bunch of withers**
#### `ShowChatLinks`
-**Description:**
This setting is where you can define if you want to decode links embedded in chat messages and show them in console.
-**Type:**`boolean`
-**Default:**`true`
#### `ShowInventoryLayout`
-**Description:**
This setting is where you can define if you want to have the MCC show you the inventory in a form of an ASCII art when using the `/inventory` internal command.
This setting is where you can define is you want your session info to be stored on the disk or in memory, or not to be stored (this will make you login every time which will add some time to the process).
You can disable this by using `none`.
The `disk` option will save your login authorization token on the disk, but this can be a bit of a security risk if someone else has access to your folder where you have MCC installed.
The `memory` will last until you close down the program.
-**Type:**`string`
-**Default:**`disk`
#### `ProfileKeyCache`
-**Description:**
Same as `SessionCache` but for your profile keys which are used for chat signing and validation.
Minecraft player name can only consist of English letters, numbers, and underscore symbols. Other name will be considered as invalid and ignored by default.
This section allows you to add multiple server aliases which enables fast and easy switching between servers. Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias.
-**Usage examples:**
`/connect Server2`
-**Type:**`array of inline tables`
-**Format:**
```toml
<serveralias> = { Host = "<ip>", Port = <port> }
```
-**Examples:**
```toml
ServerAlias1 = { Host = "mc.awesomeserver.com" }
ServerAlias2 = { Host = "192.168.1.27", Port = 12345 }
Use green color block to mark chat with legitimate signatures.
-**Type:**`boolean`
-**Default:**`false`
#### `MarkModifiedMsg`
-**Description:**
Use yellow color block to mark chat that have been modified by the server.
-**Type:**`boolean`
-**Default:**`true`
#### `MarkIllegallySignedMsg`
-**Description:**
Use red color block to mark chat without legitimate signature.
-**Type:**`boolean`
-**Default:**`true`
#### `MarkSystemMessage`
-**Description:**
Use gray color block to mark system message (always without signature).
-**Type:**`boolean`
-**Default:**`false`
#### `ShowModifiedChat`
-**Description:**
Set to true to display messages modified by the server, false to display the original signed messages.
-**Type:**`boolean`
-**Default:**`true`
#### `ShowIllegalSignedChat`
-**Description:**
Whether to display chat and messages in commands without legal signature.
-**Type:**`boolean`
-**Default:**`true`
### Logging section
-**Section header:**`Logging`
#### `DebugMessages`
-**Description:**
This setting allows you to define if your want to see debug messages while the client is running, this is useful when there is a bug and you want to report a problem, or if you're developing a script/bot and you want to debug it.
-**Type:**`boolean`
-**Default:**`false`
#### `ChatMessages`
-**Description:**
This setting allows you to define if your want to see chat messages.
-**Type:**`boolean`
-**Default:**`true`
#### `InfoMessages`
-**Description:**
This setting allows you to define if your want to see info messages.
"disable" will disable the filter, `blacklist` hides the messages, while the `whitelist` shows the messages that match the Regex expression that you've defined.
-**Type:**`string`
-**Default:**`disable`
#### `LogToFile`
-**Description:**
This setting allows you to define if your want to log messages to a file.
-**Type:**`boolean`
-**Default:**`false`
#### `LogFile`
-**Description:**
This setting allows you to define a path to a file where you want to log messages if you have enabled logging to a file with `LogToFile = true`.
**%username% and %serverip% will be substituted with your username and the IP address of the server you are connected to. So you can use something like: `console-log-%username%-%serverip%.txt`**
If Mojang session services or Microsoft login services are blocked on your network or your ip is blacklisted or rate limited by Microsoft, set the value to `true`.
Client settings related to language, render distance, difficulty, chat and skins.
#### `Enabled`
-**Description:**
This setting allows you to specify if you want to use settings from this section.
-**Type:**`boolean`
-**Default:**`true`
#### `Locale`
-**Description:**
Use any language implemented in Minecraft
-**Type:**`string`
-**Default:**`en_US`
#### `RenderDistance`
-**Description:**
Render distance in chunks: `0 - 255`
-**Type:**`integer`
-**Default:**`8`
#### `Difficulty`
-**Description:**
Available options:
-`peaceful`
-`easy`
-`normal`
-`difficult`
-**Type:**`string`
-**Default:**`normal`
#### `ChatMode`
-**Description:**
This setting allows you to effectively mute yourself.
Available options:
-`enabled` (You can chat)
-`commands` (You can only do commands)
-`disabled`
-**Type:**`string`
-**Default:**`enabled`
#### `ChatColors`
-**Description:**
This setting allows you to disable chat colors.
-**Type:**`boolean`
-**Default:**`true`
#### `MainHand`
-**Description:**
This setting allows you to specify your main hand.
-**Available values:**`right` and `left`
-**Type:**`string`
-**Default:**`left`
## MCSettings Skin section
-**Section header:**`MCSettings.Skin`
-**Description:**
Skin options.
#### `Cape`
-**Description:**
This setting allows you to specify if you want to have your skin cape shown.
-**Type:**`boolean`
-**Default:**`true`
#### `Hat`
-**Description:**
This setting allows you to specify if you want to have your skin hat shown.
-**Type:**`boolean`
-**Default:**`true`
#### `Jacket`
-**Description:**
This setting allows you to specify if you want to have your skin jacket shown.
-**Type:**`boolean`
-**Default:**`false`
#### `Sleeve_Left`
-**Description:**
This setting allows you to specify if you want to have your left sleeve shown.
-**Type:**`boolean`
-**Default:**`false`
#### `Sleeve_Right`
-**Description:**
This setting allows you to specify if you want to have your right sleeve shown.
-**Type:**`boolean`
-**Default:**`false`
#### `Pants_Left`
-**Description:**
This setting allows you to specify if you want to have your left part of the pants shown.
-**Type:**`boolean`
-**Default:**`false`
#### `Pants_Right`
-**Description:**
This setting allows you to specify if you want to have your right part of the pants shown.
-**Type:**`boolean`
-**Default:**`false`
## Chat Format section
-**Section header:**`ChatFormat`
-**Description:**
The MCC does it best to detect chat messages, but some server have unusual chat formats.
When this happens, you'll need to configure the chat format yourself using settings from this section.
The MCC uses Regular Expressions (Regex) to detect the chat formatting, in case that you're not familiar with Regex you can use the following resources to learn it and test it out:
- Crash courses:
- [Regex video tutorial by Web Dev Simplified](https://www.youtube.com/watch?v=rhzKDrUiJVk)
- [Regex on paper by Crack Concepts](https://www.youtube.com/watch?v=9RksQ5YT7FM)
- In-depth tutorials:
- [Quite a long and detailed tutorial by Svetlin Nakov](https://www.youtube.com/watch?v=DS9IO0W7-0Q)
- [Microsoft Documentation on Regex](https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference)
- Testing Regex expressions online:
- [https://regex101.com/](https://regex101.com/)
- [https://regexr.com/](https://regexr.com/)
#### `Builtins`
-**Description:**
This setting allows you to define if your want use the default chat formats.
Set to `false` to avoid conflicts with custom formats.
-**Type:**`boolean`
-**Default:**`true`
#### `UserDefined`
-**Description:**
This setting allows you to define if your want to use the custom chat formats defined bellow using Regex.
Set to `true` to use the custom formats defined in `Public`, `Private` and `TeleportRequest`.
-**Type:**`boolean`
-**Default:**`false`
#### `Public`
-**Description:**
This setting allows you to specify a custom chat message format using Regex (Regular expressions).
More on Regex [here](https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference).