> 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/velocity.md).

# Velocity configuration

File: `plugins/fastloginplus/config.yml` on the Velocity proxy. Stop the proxy to edit it, then restart. This file controls network login policies and the FLP list; backend authentication accounts and passwords remain on the backend.

## General and login

| Option                    | Default | Purpose                                                                                      |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------- |
| `language`                | `en`    | Proxy message language; `en` and `zh` are built in, custom files are supported               |
| `debug`                   | `false` | Enable diagnostic logs                                                                       |
| `check-update`            | `true`  | Check for releases, without installing them                                                  |
| `update-check-interval`   | `24`    | Update interval in hours                                                                     |
| `autoRegister`            | `true`  | Select eligible new names for premium verification, not a master registration switch         |
| `autoLogin`               | `true`  | Allow eligible verified 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 the premium UUID; `false` uses the offline UUID. Back up player data before changing     |
| `nameChangeCheck`         | `true`  | Check premium name changes and update FLP records, 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 to the backend                                     |
| `premium-warning`         | `true`  | Ask players to repeat self-binding commands for confirmation                                 |
| `kick-toggle`             | `true`  | Disconnect after applicable account switching; players reconnect manually                    |
| `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 name-lookup retry delay in milliseconds                                   |
| `ip-addresses`               | Empty   | Local outbound request addresses                                               |
| `mojang-request-limit`       | `600`   | Direct name lookups per 10 minutes, 0 to 600; 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 Floodgate registration; automatic login must also be allowed             |
| `allowFloodgateNameConflict` | `false` | Permit eligible unlinked Bedrock names to conflict with premium Java names     |

`autoLoginFloodgate` and `autoRegisterFloodgate` accept `false`, `true`, `linked` or `no-conflict`. Fabric has narrower Bedrock support; see [Geyser and Floodgate](/flp-wiki/compatibility-and-integrations/bedrock.md).

## 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                                                                  |

See [database configuration](https://github.com/Hayston1001/FastLoginPlus/tree/main/docs/en/configuration/database.md) for driver and connection details. Velocity bundles SQLite and MariaDB drivers.


---

# 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/velocity.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.
