> ## Documentation Index
> Fetch the complete documentation index at: https://www.kitemc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Frequently Asked Questions

<Warning>
  VerifyMC is discontinued. These historical documents remain available for existing users and do not imply active maintenance or current compatibility.
</Warning>

<span id="frequently-asked-questions" />

<h2 id="web-interface-access">
  Web Interface & Access
</h2>

<h3 id="how-do-i-access-the-verifymc-homepage">
  How do I access the VerifyMC homepage?
</h3>

The web interface runs on **port 8080** by default. You can access it at:

```
http://your-server-ip:8080
```

**Special Configurations:**

* **No Public IP / NAT Traversal**: If your server doesn't have a public IP or uses NAT traversal (e.g., frp, ngrok), you need to expose port 8080 to an external port for access.
* **Recommended**: Keep internal and external ports consistent for easier configuration.
* **Configure in `config.yml`**:
  ```yaml theme={null}
  web_port: 8080
  web_register_url: https://your-domain.com/
  ```

<h3 id="the-admin-panel-won-t-load">
  The admin panel won't load
</h3>

1. Ensure the web server port (default: 8080) is open in your firewall
2. Check if another application is using the same port
3. Verify the plugin loaded correctly by checking the console
4. Make sure `web_port` in `config.yml` is correctly set

<h3 id="how-does-an-administrator-sign-in">
  How does an administrator sign in?
</h3>

Admin login uses a registered player account and requires that player to be a server OP:

1. Register an account through the web page.
2. Run `/op player_name` from the console or in-game.
3. Click “Login” in the page header and use the registered username and password.

VerifyMC has no separate default admin password. If access is denied, confirm that the username matches the OP entry in `ops.json`.

***

<h2 id="discord-integration">
  Discord Integration
</h2>

<h3 id="how-do-i-configure-discord-server-binding">
  How do I configure Discord server binding?
</h3>

1. **Create a Discord Application** at [Discord Developer Portal](https://discord.com/developers/applications)
2. **Get your credentials**:
   * Copy the **Client ID**
   * Generate and copy the **Client Secret** from OAuth2 settings
3. **Set up OAuth2 Redirect**:
   * Add redirect URI: `https://your-domain.com/api/discord/callback`
4. **Configure in `config.yml`**:
   ```yaml theme={null}
   discord:
     enabled: true
     client_id: "your-client-id"
     client_secret: "your-client-secret"
     redirect_uri: "https://your-domain.com/api/discord/callback"
     guild_id: "your-server-id"  # Optional: require users to join specific server
     required: false  # Set to true to require Discord linking
   ```
5. Restart the plugin with `/vmc reload`

***

<h2 id="email-configuration-smtp">
  Email Configuration (SMTP)
</h2>

<h3 id="how-do-i-configure-smtp-for-email-verification">
  How do I configure SMTP for email verification?
</h3>

1. **Enable SMTP** in your email provider (Gmail, QQ Mail, Outlook, etc.)
2. **For Gmail**:
   * Enable 2-Factor Authentication
   * Generate an App Password at [Google App Passwords](https://myaccount.google.com/apppasswords)
3. **For QQ Mail**:
   * Enable SMTP service in Settings > Accounts
   * Use the authorization code as password

**Configure in `config.yml`**:

```yaml theme={null}
smtp:
  host: smtp.gmail.com      # smtp.qq.com for QQ Mail
  port: 587                 # or 465 for SSL
  username: your-email@gmail.com
  password: your-app-password
  from: your-email@gmail.com
  enable_ssl: true
email_subject: "VerifyMC Verification Code"
```

<h3 id="i-don-t-have-an-email-server-what-can-i-do">
  I don't have an email server, what can I do?
</h3>

Use **Captcha mode** as an alternative to email verification:

```yaml theme={null}
auth_methods:
  - captcha  # Use captcha instead of email
# Or use both:
# auth_methods:
#   - email
#   - captcha

captcha:
  type: math      # 'math' or 'text'
  length: 4       # For text captcha
  expire_seconds: 300
```

<h3 id="players-can-t-register-email-not-sending">
  Players can't register / Email not sending
</h3>

1. Check your SMTP configuration in `config.yml`
2. Verify your email provider allows SMTP access
3. Check the server console for detailed error messages
4. Enable debug mode: `debug: true` in config
5. Check email domain whitelist settings

***

<h2 id="proxy-plugin-configuration">
  Proxy Plugin Configuration
</h2>

<h3 id="how-do-i-configure-the-verifymc-proxy-plugin">
  How do I configure the VerifyMC-Proxy plugin?
</h3>

1. **Download** `verifymc-proxy-*.jar` from the download page
2. **Place it** in your proxy's `plugins` folder (BungeeCord/Velocity)
3. **Configure `config.yml`** in the proxy plugin folder:
   ```yaml theme={null}
   # Backend server URL (where main VerifyMC plugin runs)
   backend_url: "http://your-backend-server-ip:8080"

   # Registration URL shown in kick message
   register_url: "https://your-domain.com/"

   # Kick message for unregistered players
   kick_message: "&c[ VerifyMC ]\n&7Please visit &a{url} &7to register"

   # Language setting (zh or en)
   language: en

   # Cache settings
   cache:
     enabled: true
     expire_seconds: 60
   ```
4. **Restart** your proxy server

<h3 id="which-proxy-platforms-are-supported">
  Which proxy platforms are supported?
</h3>

* **Velocity**: 3.4.0+ (recommended)
* **BungeeCord/Waterfall**: 1.21+
* **Velocity-CTD** and other Velocity forks are supported since v1.2.6

***

<h2 id="installation-compatibility">
  Installation & Compatibility
</h2>

<h3 id="which-minecraft-versions-are-supported">
  Which Minecraft versions are supported?
</h3>

VerifyMC supports Minecraft **1.13.x to 1.21.x+**.

<h3 id="does-verifymc-work-with-geyser-floodgate-bedrock-edition">
  Does VerifyMC work with Geyser/Floodgate (Bedrock Edition)?
</h3>

Yes! Configure bedrock support in `config.yml`:

```yaml theme={null}
bedrock:
  enabled: true
  prefix: "."
  username_regex: "^[a-zA-Z0-9._-]{3,15}$"
```

***

<h2 id="plugin-updates">
  Plugin Updates
</h2>

<h3 id="how-do-i-update-the-plugin">
  How do I update the plugin?
</h3>

1. Download the latest version from the download page
2. Stop your server
3. Replace the old JAR file with the new one
4. Start the server
5. Check console for any config migrations

<h3 id="will-my-data-be-preserved-after-updating">
  Will my data be preserved after updating?
</h3>

Yes, all user data is preserved during updates. The plugin automatically migrates configurations when needed and creates backups.

***

<h2 id="troubleshooting">
  Troubleshooting
</h2>

<h3 id="no-injectable-constructor-error-on-velocity">
  "No injectable constructor" error on Velocity
</h3>

Update to VerifyMC-Proxy v1.2.6 or later, which uses `com.google.inject.Inject` for better compatibility with Velocity forks.

<h3 id="version-number-showing-incorrectly">
  Version number showing incorrectly
</h3>

This issue was fixed in v1.2.6. Please update to the latest version.

***

> For more configuration options, see the [Configuration Documentation](/en/archive/verifymc/file/config).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.