Tags
Creators
Details
1.4.0
Compatibility
Changes
ProxyFlow v1.4.0
This is the biggest update for ProxyFlow yet! Version 1.4.0 brings a complete code rewrite, introducing persistent punishments, Discord integration, and significant performance improvements through caching and asynchronous processing.
New Features
-
Global StaffChat:
-
New command:
/staffchat <message>(or alias/sc). -
Toggle Mode: Use
/scwithout arguments to toggle automatic staff chat mode. -
Works across all backend servers.
-
Discord Integration:
-
Get notified via Webhook when the proxy blocks a VPN/Bot attack.
-
Receive alerts when Maintenance Mode is toggled.
-
Fully configurable (colors, titles) and asynchronous.
-
Persistent Bans (SQLite):
-
Temporary IP bans (Anti-Bot) are now stored in a local SQLite database (
database.db). -
Bans now survive a proxy restart! No more attackers re-joining after a reboot.
Security & Performance
-
Smart VPN Caching:
-
API results from
proxycheck.ioare now cached in memory for a configurable time (default: 60 min). -
Prevents API rate-limiting and drastically speeds up player joins during high traffic.
-
Asynchronous Processing:
-
All web requests (Discord, VPN API) and database operations have been moved off the main thread.
-
Zero lag: The proxy will never freeze while checking an IP, even if the API is slow.
Technical Changes
- Major Refactor: The codebase has been reorganized into a modular Service/Manager architecture for better stability.
- Java 21 Support: The project is now built against Java 21 for modern velocity environments.
- Dependency Shading: All libraries (Gson, Configurate, SQLite) are now relocated to prevent conflicts with other plugins.
Upgrading from v1.3.0
Your config.yml needs to be updated!
Since this update adds new sections for discord, staffchat, and caching, please follow these steps:
- Stop the proxy.
- Rename your old
config.ymltoconfig.old.yml(or delete it). - Start the proxy to let ProxyFlow generate the new configuration file.
- Copy your API keys and settings back into the new file.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:rRMS0zYW:zRXJRR0j"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rRMS0zYW:zRXJRR0j"
}

