Skip to content

Sylphian-Network/Sylphian-Verify-Minecraft

Repository files navigation

Sylphian-Verify-Minecraft

Sylphian-Verify-Minecraft is a multi-platform Minecraft plugin (supporting Paper and Velocity) that integrates your game server with your XenForo forum.

This plugin requires the Sylphian-Verify XenForo add-on to function.

What it does

  • Pre-login Verification: Automatically checks if a player is verified on your forum before they are allowed to join the server.
  • Periodic Sync: Continuously verifies online players at a configurable interval, ensuring that if their status changes on the forum, it is reflected in-game.
  • Brute Force Protection: Implements temporary cooldowns for repeated failed verification attempts to prevent abuse.
  • Visual Identity Integration: Automatically updates players' in-game identity (Chat, Tab List, and Nametags) to show their forum username alongside their Minecraft name in the format [ForumName] MinecraftName.

Requirements

  • A XenForo forum with the Sylphian-Verify add-on installed.
  • A Minecraft server running Paper, or a Velocity proxy.

Configuration

Upon first run, a config.json file will be generated in the plugin's data folder. You will need to provide your API URL and API key from XenForo.

Options

  • apiUrl: The base URL of your XenForo/Verification API.
  • apiKey: The API Key for authorization. Keep this secret!
  • verificationIntervalMinutes: Frequency of re-verification checks for online players. (Default: 5)
  • maxStrikes: Number of consecutive verification failures or API timeouts before a player is kicked. (Default: 3)
  • strikeOnApiFailure: Whether to count API timeouts/failures as strikes during periodic verification. (Default: true)
  • uuidAttemptLimit: Number of failed verification attempts per UUID before cooldown. (Default: 5)
  • ipAttemptLimit: Number of failed verification attempts per IP before cooldown. (Default: 10)
  • cooldownMinutes: Duration of the brute-force cooldown in minutes. (Default: 10)
  • attemptExpiryMinutes: How long a failed attempt strike lasts before expiring. (Default: 5)
  • apiTimeoutSeconds: Timeout for API requests in seconds. (Default: 10)
  • apiResponses: Customizable kick messages for various API response reasons.
{
  "apiUrl": "https://yourforum.com/api/verify/minecraft",
  "apiKey": "your-api-key",
  "verificationIntervalMinutes": 5,
  "maxStrikes": 3,
  "strikeOnApiFailure": true,
  "uuidAttemptLimit": 5,
  "ipAttemptLimit": 10,
  "cooldownMinutes": 10,
  "attemptExpiryMinutes": 5,
  "apiTimeoutSeconds": 10,
  "apiResponses": {
    "UUID_NOT_LINKED": "Your account has not been added to the forum, please add your account before attempting to join again.",
    "NOT_CONFIRMED": "Your forum account is linked but not confirmed. Please use the passcode below.",
    "BRUTE_FORCE_BLOCKED": "Too many failed attempts. Please try again in {time} minutes.",
    "RE_VERIFICATION_FAILED": "Your account is no longer verified. This could be because your account is no longer linked or an API error occurred. Please ensure your account is linked and check our website for status updates.",
    "API_ERROR": "An error occurred while checking the API.",
    "API_SUCCESS_NO_DATA": "API returned success but no verification data.",
    "API_FAILURE_NO_MESSAGE": "API reported failure without message."
  }
}

About

Minecraft plugins/mods that utilise Sylphian/Verify

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages