Перейти к содержимому
Mineforgian

VelocityPteroPower

Velocity Plugin that enables the Proxy to dynamicly Start and Stop Servers that are managed with the Pterodacytl Panel

Загрузки
2K
Подписчики
18
Обновлён
9 ноября 2025 г.
Лицензия
MIT

Опубликован 29 марта 2024 г.

VelocityPteroPower

Static Badge
forthebadge

buymeacoffee


Please join the Discord if you have questions or for support!

Manage your game servers with ease! VelocityPteroPower connects your Velocity proxy to Pterodactyl, Pelican Panel, or Mc Server Soft, allowing for dynamic starting and stopping of your game servers.

For detailed information on configuration, commands, and permissions, please visit our Docs Page.

Key Features

  • Multi-Panel Support: Works with Pterodactyl, Pelican Panel, and Mc Server Soft.
  • Dynamic Server Management:
    • Automatically start servers when a player attempts to connect.
    • Automatically stop idle servers after a configurable timeout.
    • Manual control via commands (/ptero start, /ptero stop, /ptero restart).
  • Whitelist Integration:
    • Fetch and enforce server whitelists from Pterodactyl/Pelican panels.
    • Reload whitelists on the fly with /ptero whitelistReload.
  • Efficient & Safe:
    • Respects panel API rate limits (Pterodactyl/Pelican/Mc Server Soft).
    • Handles forced host connections, redirecting players to a limbo server.
  • Update Notifications: Stay informed about new plugin versions.
  • Configurable:
    • Fine-tune server startup/shutdown behavior.
    • Customize logging levels.
    • Per-server settings for timeouts, join delays, and whitelist enforcement.

Commands

  • /ptero start <serverName>
  • /ptero stop <serverName>
  • /ptero restart <serverName>
  • /ptero reload
  • /ptero whitelistReload
  • /ptero stopIdle
  • /ptero forcestopall

Permissions

  • ptero.start
  • ptero.stop
  • ptero.restart
  • ptero.whitelistReload
  • ptero.reload
  • ptero.stopIdle
  • ptero.forcestopall
  • ptero.bypass (to bypass VPP whitelist checks if enabled)

Installation

  1. Download the latest .jar file from Modrinth.
  2. Place the .jar file into your Velocity server's plugins folder.
  3. Restart your Velocity server.
  4. Configure the plugin by editing config.yml in the plugins/VelocityPteroPower folder. See the Docs Page for detailed configuration instructions.

Support

For issues, suggestions, or help, please open an issue on GitHub or join our Discord Server.

Contributing

Interested in contributing? Join our Discord to discuss your ideas or submit a pull request!

License

This project is licensed under the MIT License.

forthebadge

Ченджлог

0.9.6-alpha-edb3549Альфа1.21.8, 1.21.9, 1.21.10 · 9 ноября 2025 г.

⚠️ Alpha build for branch: 0.9.6-rework

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • edb3549 fuck you 7 .... Took 6 minutes (TubYoub)

Links

0.9.6-alpha-1e419a7Альфа1.21.8, 1.21.9, 1.21.10 · 9 ноября 2025 г.

⚠️ Alpha build for branch: 0.9.6-rework

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • 1e419a7 testing package release for api Took 5 minutes (TubYoub)

Links

0.9.6-alpha-d7fac19Альфа1.21.8, 1.21.9, 1.21.10 · 9 ноября 2025 г.

⚠️ Alpha build for branch: 0.9.6-rework

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • d7fac19 testing package release for api Took 5 minutes (TubYoub)

Links

0.9.6-alpha-fd0077cАльфа1.21.8, 1.21.9, 1.21.10 · 9 ноября 2025 г.

⚠️ Alpha build for branch: 0.9.6-rework

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • fd0077c testing package release for api Took 49 minutes (TubYoub)

Links

0.9.5Бета1.21.8, 1.21.9, 1.21.10 · 19 октября 2025 г.

Sorry for the absence but here yall go guys:

[0.9.5]

TL;DR

  • Smarter networks at scale: multi‑lobby/limbo balancing with auto‑start and dynamic scaling, resource‑aware commands with live metrics, and sturdier idle shutdown and limbo handling.

Highlights

  • New: Multi‑lobby/limbo balancing with auto‑start and scaling
  • New: Resource‑aware /ptero list and /ptero info with live metrics
  • New: Command to start everything: /forcestartall
  • New: Player server history and smarter connection routing
  • Stability: More robust idle shutdowns, limbo handling, and cooldown logic
  • Quality: MiniMessage message system, better suggestions, and bStats metrics

Commands

  • /ptero list and /ptero info <server> with MiniMessage formatting.
    • Live metrics: CPU, memory, disk, network, uptime.
    • Resource caching with configurable TTL (default 10s) and optional prefetch.
    • List shows TTL to auto‑shutdown and respects alwaysOnline.
  • /forcestartall to start all managed servers at once.
  • Enhanced chat command suggestions.

Resource usage and scheduling

  • Live resource fetch for Pelican and Pterodactyl with rate‑limit, caching, and fallback to "unavailable" on errors.
  • Periodic idle shutdown sweep via idleShutdownCheckInterval.
  • Only online servers are eligible for idle shutdown scheduling.
  • alwaysOnline servers are excluded from idle shutdown and will be started on proxy startup; periodic checks ensure they stay up.

Multi‑lobby/limbo support

  • New LobbyBalancerManager for routing and scaling across multiple lobbies/limbos.
  • Strategies: ROUND_ROBIN, LEAST_PLAYERS, LEAST_CPU.
  • Auto‑start/scale:
    • Maintain a minimum online (minOnline) and optionally cap with maxOnline.
    • Pre‑start early via preStartThresholdPercent to avoid bottlenecks.
    • Scale‑up by players or CPU (LEAST_CPU + cpuScaleUpThreshold).
  • Health checks and fallback:
    • If a lobby fails to come online, automatically try another.
    • Cooldowns to avoid spamming failing instances: startFailureFallbackSeconds, startFailureCooldownSeconds.
  • Cap control:
    • Choose whether lobbies/limbos count towards maxOnlineServers: countLobbiesInMaxOnline, countLimbosInMaxOnline.
    • lobbiesToUse limits to the first N lobbies.
  • Legacy config migration:
    • limboServer is auto‑migrated into lobbyBalancer.limbos and the old key is removed.

Connection handling and UX

  • Start initiator tracking and periodic cleanup.
  • Players attempting to join a starting server are placed in a connection queue.
  • Connection reattempt logic; players reconnect to the server they started.
  • Configurable limbo and forced‑host behavior:
    • sendToLimboOnStart: optionally send a player to a limbo after starting a server from a lobby.
    • forcedHostOfflineBehavior: choose how to handle connections when a forced‑host target is offline.
  • New config: shutdownOnProxyExit to stop specific servers on proxy shutdown (supports list or all; defaults to empty list).
  • Player server history.

Messages and formatting

  • New MessageManager with MiniMessage; placeholder rendering fixed. #16 #19
  • Status color handled in code; tag casing corrected.
  • Multi‑language groundwork and migration to MiniMessage keys.

Panel support and automation

  • Pelican API key prefix detection updated (recognizes Pelican again).
  • Autoscaling API threads for large networks.
  • Version checker updated for alpha versioning via GitHub Actions.
  • Alpha builds auto‑published to Modrinth on every commit.

Metrics

  • bStats: added metrics for
    • Servers managed by VPP
    • Servers started by VPP
    • PanelType

Fixes

  • Limbo
    • Fixed players staying in limbo on first connect.
    • Fixed redirection to limbo for player connections.
    • Added limbo "why" tracking and a periodic sweep to clear stuck players; ignores players who moved themselves.
  • Cooldowns
    • commandCooldown = 0 now correctly disables the cooldown.
    • Fixed a variable bug that caused commandCooldown to always default to 10s.
  • Whitelist and shutdowns
    • Whitelist check cancels events and informs players properly.
    • Idle shutdown improved for servers that never receive players after start.
  • Messages and docs
    • Usage message placeholder fixed.
    • README updated with missing permissions and commands.
    • Comments updated for the new Pelican key prefix.
  • Consistency in general:
    • Improved server management #17
    • Let everyone get into the Limbo not only the player who started the server #21
    • Fixed config comments (only update when recreating the config file) #23

Config keys touched (summary)

  • lobbyBalancer.* (lobbies, limbos, minOnline, maxOnline, strategies, health checks, scaling thresholds, counts, lobbiesToUse)
  • resourceCacheSeconds, resourcePrefetchEnabled
  • idleShutdownCheckInterval
  • sendToLimboOnStart
  • forcedHostOfflineBehavior
  • shutdownOnProxyExit
  • alwaysOnline

New Contributors

Full Changelog: https://github.com/Tubs-Pluginz/VelocityPteroPower/compare/v0.9.4-beta...v0.9.5-beta

0.9.5-6992e40Альфа1.21.6, 1.21.7, 1.21.8 · 19 октября 2025 г.

⚠️ Alpha build for branch: dev

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • 9186576 update formatting Took 7 minutes (TubYoub)
  • 8377990 update formatting Took 4 minutes (TubYoub)
  • 69ac46f update formatting Took 3 minutes (TubYoub)
  • 98fd099 Merge pull request #22 from Tubs-Pluginz/workflow-test Workflows (TubYoub)
  • 0aa1f08 Player connect to the server they started Took 32 minutes (TubYoub)
  • 51ecd45 usage message fixed to have the correct placeholder Took 2 minutes (TubYoub)
  • 236287c Merge remote-tracking branch 'GitHub/0.9.5' into 0.9.5 (TubYoub)
  • 3865879 feat: more metrics for bstats ### Features - Added recordServerStartSignalSent method to track the total number of server start signals sent. - Implemented bStats custom charts to monitor server metrics like managed servers, total starts since boot, and panel types. ### Improvements - Enhanced compareVersions to sanitize pre-release and build metadata in version strings. - Introduced helper methods (sanitizeVersion, safeParseInt) for cleaner and safer version handling. - Optimized proxy shutdown process by including normalization and cleanup of the server list configuration. - Updated config.yml with clearer documentation for the shutdownOnProxyExit setting. ### Fixes - Resolved potential issues in handling malformed or null version strings in version comparison logic. Took 40 minutes (TubYoub)
  • 4b444cd feat: configurable limbo and forced-host behavior ### Features - Introduced sendToLimboOnStart configuration option to enable sending players to a limbo server when their target server is starting. - Added forcedHostOfflineBehavior configuration with options (DISCONNECT, LOBBY_OR_LIMBO, LIMBO_ONLY) for managing forced-host joins when the target server is offline. ### Improvements - Enhanced logic to redirect players to holding servers (lobby or limbo) during server start scenarios, avoiding unnecessary disconnections. - Optimized connection flow to prevent redundant actions for players already connected to a limbo or lobby. ### Fixes - Correctly handle forced-host join failures by logging errors and falling back to default behavior when no valid holding servers are available. - Fixed potential issues with players being redirected or disconnected incorrectly during auto-connect routines. Took 46 minutes (TubYoub)
  • c3fb5d6 fix: limbo redirection for player connections Took 12 minutes (TubYoub)
  • 9796795 chor: added missing permissions and commands to README.md Took 19 minutes (TubYoub)
  • 983b0ba fix: weird behaviour when the CommandCooldown is set to 0 now it will just be ignored Took 11 minutes (TubYoub)
  • 3cc562a chor: eddited comments to include the new Peli key prefix Took 3 minutes (TubYoub)
  • 48a3ae5 feat: If a player moves to a limbo server there is record of why and also a sweep to clear limbos if a player gets stuck. iF a player moved there by himself or got moved they will be ignored Took 21 minutes (TubYoub)
  • 04ab066 feat: Server history for players Took 28 minutes (TubYoub)
  • ee804e9 bug: Had the wrong variable the whole time so commandCooldown just always defaulted to 10 seconds Took 21 minutes (TubYoub)
  • 3e4b427 bug: Fix player staying in limbo on first connect Took 6 minutes (TubYoub)
  • d5b9a0b feat: added autoscalling for apithreads to support servers using larger amounts of servers Took 50 minutes (TubYoub)
  • aa9a851 Merge branch 'dev' into 0.9.5 (TubYoub)
  • 6992e40 Merge pull request #24 from Tubs-Pluginz/0.9.5 Version 0.9.5 (TubYoub)

Links

0.9.5-aa9a851Альфа1.21.6, 1.21.7, 1.21.8 · 19 октября 2025 г.

⚠️ Alpha build for branch: 0.9.5

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • 7a2ea82 Fixed a typo in the whitelistreload command Fixed a typo in the whitelistreload command that caused a mismatch between the help message and the in-game command (majoranimal)
  • 0e88c3b Merge pull request #1 from majoranimal/whitelist-reload-fix Fixed a typo in the whitelistreload command (majoranimal)
  • 713e041 Merge pull request #18 from majoranimal/dev Fixed a typo in the whitelistreload command (TubYoub)
  • aa9a851 Merge branch 'dev' into 0.9.5 (TubYoub)

Links

0.9.5-d5b9a0bАльфа1.21.6, 1.21.7, 1.21.8 · 19 октября 2025 г.

⚠️ Alpha build for branch: 0.9.5

This build is generated automatically on every commit and may be unstable or untested. Need help? Join the Discord: https://discord.pluginz.dev

What's in testing (commits in this push)

  • d5b9a0b feat: added autoscalling for apithreads to support servers using larger amounts of servers Took 50 minutes (TubYoub)

Links

Комментарии

Загружаем…