> For the complete documentation index, see [llms.txt](https://hayston.gitbook.io/flp-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hayston.gitbook.io/flp-wiki/configuration-reference/bungeecord.md).

# BungeeCord configuration

File: `plugins/fastloginplus/config.yml` on the BungeeCord proxy. Stop the proxy to edit it, then restart. BungeeCord and Velocity use the same FLP configuration template.

FLP login policies and lists live on the proxy; backend authentication accounts and passwords remain on the backend.

BungeeCord bundles SQLite, but **does not bundle the MariaDB driver**. Before using MySQL/MariaDB, make sure a driver compatible with the proxy's Java version is available; see [database configuration](https://github.com/Hayston1001/FastLoginPlus/tree/main/docs/en/configuration/database.md).

## General and login

| Option                    | Default | Purpose                                                                                      |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------- |
| `language`                | `en`    | Proxy message language; `en`, `zh` and custom files are supported                            |
| `debug`                   | `false` | Enable diagnostic logs                                                                       |
| `check-update`            | `true`  | Check releases without installing them                                                       |
| `update-check-interval`   | `24`    | Check interval in hours                                                                      |
| `autoRegister`            | `true`  | Select eligible new names for premium verification, not a master registration switch         |
| `autoLogin`               | `true`  | Allow eligible players to log in without a password                                          |
| `auto-register-unknown`   | `true`  | Allow creating a local account for a verified Java player who lacks one                      |
| `premiumUuid`             | `true`  | Use premium UUID; `false` uses offline UUID                                                  |
| `nameChangeCheck`         | `true`  | Check premium name changes without moving player data                                        |
| `secondAttemptCracked`    | `false` | Allow a later password route after an eligible verification failure                          |
| `offline-whitelist`       | `false` | Reject offline Java names unknown to FLP                                                     |
| `forwardSkin`             | `true`  | Forward verified players' skins and capes                                                    |
| `premium-warning`         | `true`  | Require confirmation for self-binding                                                        |
| `kick-toggle`             | `true`  | Disconnect after applicable switching for manual reconnect                                   |
| `verify-backend-messages` | `true`  | Check backend account-management messages; disable only temporarily for a controlled upgrade |

## Connection limits

Limits reject connections and do not replace a firewall. Check real IP forwarding before changing them.

| Option                        | Default | Purpose                                        |
| ----------------------------- | ------- | ---------------------------------------------- |
| `anti-bot.enabled`            | `true`  | Enable connection limits                       |
| `anti-bot.connections`        | `600`   | Global connections per window                  |
| `anti-bot.expire`             | `10`    | Global window in minutes                       |
| `anti-bot.per-ip-connections` | `20`    | Connections per IP in the long window          |
| `anti-bot.per-ip-expire`      | `5`     | Per-IP long window in minutes                  |
| `anti-bot.burst-limit`        | `10`    | Connections per IP in the short window         |
| `anti-bot.burst-window`       | `10`    | Short window in seconds                        |
| `anti-bot.ban-duration`       | `5`     | Temporary IP ban in minutes                    |
| `anti-bot.trusted-ips`        | Empty   | IP addresses exempt from FLP connection limits |

## Mojang and Floodgate

| Option                       | Default | Purpose                                                                        |
| ---------------------------- | ------- | ------------------------------------------------------------------------------ |
| `mojang-retry-count`         | `3`     | Total name-lookup attempts; does not control native proxy session verification |
| `mojang-retry-delay`         | `500`   | Base retry delay in milliseconds                                               |
| `ip-addresses`               | Empty   | Local outbound request addresses                                               |
| `mojang-request-limit`       | `600`   | Direct name lookups per 10 minutes; 0 requires an HTTP proxy                   |
| `proxies`                    | Empty   | HTTP proxies for Mojang requests, such as `host:port`                          |
| `autoLoginFloodgate`         | `false` | Allow supported Floodgate automatic login                                      |
| `autoRegisterFloodgate`      | `false` | Allow automatic registration; automatic login must also be allowed             |
| `allowFloodgateNameConflict` | `false` | Permit eligible unlinked Bedrock names to conflict with premium Java names     |

Both automatic Floodgate options accept `false`, `true`, `linked` or `no-conflict`; see [Geyser and Floodgate](/flp-wiki/compatibility-and-integrations/bedrock.md) for supported cases.

## FLP database

This database stores the proxy's FLP list, not backend authentication accounts. Back up and plan migration before switching; changing configuration does not migrate SQLite data.

| Option                    | Default                    | Purpose                                                                                             |
| ------------------------- | -------------------------- | --------------------------------------------------------------------------------------------------- |
| `driver`                  | `sqlite`                   | `sqlite` or `mysql`                                                                                 |
| `database`                | `{pluginDir}/FastLogin.db` | SQLite file path, or MySQL database name                                                            |
| `host`                    | `127.0.0.1`                | MySQL host                                                                                          |
| `port`                    | `3306`                     | MySQL port                                                                                          |
| `username`                | `myUser`                   | MySQL username; change before use                                                                   |
| `password`                | `myPassword`               | MySQL password; change and keep private                                                             |
| `timeout`                 | `30`                       | Connection acquisition timeout in seconds                                                           |
| `lifetime`                | `1800`                     | Maximum connection lifetime in seconds; 0 is unlimited, positive values below 300 are raised to 300 |
| `useSSL`                  | `false`                    | Enable the MySQL SSL path                                                                           |
| `sslMode`                 | `Required`                 | Driver mode for the SSL path                                                                        |
| `allowPublicKeyRetrieval` | `false`                    | MySQL public-key retrieval option on the SSL path                                                   |
| `ServerRSAPublicKeyFile`  | Empty                      | Optional local RSA public-key file                                                                  |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hayston.gitbook.io/flp-wiki/configuration-reference/bungeecord.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
