# AutoStartStop > AutoStartStop is a Velocity plugin for automated server management that lets you define rule-based automation with triggers, conditions, and actions. AutoStartStop is a Velocity proxy plugin that automates Minecraft server management through a YAML-based, rule-driven configuration system. You define rules composed of triggers (player connections, cron schedules, proxy lifecycle, pings, empty server detection etc.), optional conditions (server status, player counts, comparisons etc.), and actions (start/stop/restart servers, connect/disconnect players, send messages, manage bossbars, customize ping responses, execute shell commands etc.). It supports multiple server control APIs (Shell commands, AMP API, Pterodactyl Panel API etc.). Built-in templates provide ready-to-use patterns for common scenarios like auto-start on connect, auto-stop when idle, and custom MOTD responses etc. All configuration lives in a single config.yml file with dynamic variable support. ## Overview - [AutoStartStop](https://beyenilmez.github.io/autostartstop/index.md): Plugin overview, key features, and example use cases ## Getting Started - [Quick Start](https://beyenilmez.github.io/autostartstop/getting-started/index.md): Quick start guide for first-time setup - [Installation](https://beyenilmez.github.io/autostartstop/getting-started/installation.md): Download and installation instructions - [Basic Concepts](https://beyenilmez.github.io/autostartstop/getting-started/basic-concepts.md): Core concepts — rules, triggers, conditions, actions, servers, and templates ## Commands - [Commands](https://beyenilmez.github.io/autostartstop/commands.md): Available plugin commands and permissions ## Configuration - [Configuration](https://beyenilmez.github.io/autostartstop/configuration/index.md): Configuration file structure and reloading - [Settings](https://beyenilmez.github.io/autostartstop/configuration/settings.md): Global plugin settings (timeouts, intervals, etc.) - [Defaults](https://beyenilmez.github.io/autostartstop/configuration/defaults.md): Default values merged into all server configurations - [Servers](https://beyenilmez.github.io/autostartstop/configuration/servers.md): Server definitions, control API, ping, and startup timer settings - [Rules](https://beyenilmez.github.io/autostartstop/configuration/rules.md): Rule structure — triggers, conditions, actions, and templates ## Control API - [Control API](https://beyenilmez.github.io/autostartstop/control-api/index.md): Overview of server control methods - [Shell](https://beyenilmez.github.io/autostartstop/control-api/shell.md): Shell command control API configuration - [AMP](https://beyenilmez.github.io/autostartstop/control-api/amp.md): AMP panel control API configuration - [Pterodactyl](https://beyenilmez.github.io/autostartstop/control-api/pterodactyl.md): Pterodactyl panel control API configuration ## Variables - [Variables](https://beyenilmez.github.io/autostartstop/variables.md): Variable syntax, context variables, global server variables, and nested resolution ## Triggers - [Triggers](https://beyenilmez.github.io/autostartstop/triggers/index.md): Overview of all trigger types - [proxy_start](https://beyenilmez.github.io/autostartstop/triggers/proxy-start.md): Fires when the Velocity proxy starts - [proxy_shutdown](https://beyenilmez.github.io/autostartstop/triggers/proxy-shutdown.md): Fires when the Velocity proxy shuts down - [connection](https://beyenilmez.github.io/autostartstop/triggers/connection.md): Fires when a player connects to a server - [empty_server](https://beyenilmez.github.io/autostartstop/triggers/empty-server.md): Fires when a server has been empty for a duration - [cron](https://beyenilmez.github.io/autostartstop/triggers/cron.md): Fires on a cron schedule - [ping](https://beyenilmez.github.io/autostartstop/triggers/ping.md): Fires when a client pings the proxy (server list/MOTD) - [manual](https://beyenilmez.github.io/autostartstop/triggers/manual.md): Fires via the /autostartstop trigger command ## Conditions - [Conditions](https://beyenilmez.github.io/autostartstop/conditions/index.md): Overview of all condition types and evaluation modes - [server_status](https://beyenilmez.github.io/autostartstop/conditions/server-status.md): Check if a server is online or offline - [player_count](https://beyenilmez.github.io/autostartstop/conditions/player-count.md): Check the player count on a server - [string_equals](https://beyenilmez.github.io/autostartstop/conditions/string-equals.md): Compare two string values - [number_compare](https://beyenilmez.github.io/autostartstop/conditions/number-compare.md): Compare two numeric values ## Actions - [Actions](https://beyenilmez.github.io/autostartstop/actions/index.md): Overview of all action types - [start](https://beyenilmez.github.io/autostartstop/actions/server-management/start.md): Start a server - [stop](https://beyenilmez.github.io/autostartstop/actions/server-management/stop.md): Stop a server - [restart](https://beyenilmez.github.io/autostartstop/actions/server-management/restart.md): Restart a server - [send_command](https://beyenilmez.github.io/autostartstop/actions/server-management/send-command.md): Send a command to a server console - [connect](https://beyenilmez.github.io/autostartstop/actions/player-management/connect.md): Connect a player to a server - [disconnect](https://beyenilmez.github.io/autostartstop/actions/player-management/disconnect.md): Disconnect players from the proxy - [allow_connection](https://beyenilmez.github.io/autostartstop/actions/player-management/allow-connection.md): Allow a previously denied connection - [send_message](https://beyenilmez.github.io/autostartstop/actions/player-communication/send-message.md): Send a chat message to players - [send_action_bar](https://beyenilmez.github.io/autostartstop/actions/player-communication/send-action-bar.md): Send an action bar message to players - [send_title](https://beyenilmez.github.io/autostartstop/actions/player-communication/send-title.md): Send a title and subtitle to players - [clear_title](https://beyenilmez.github.io/autostartstop/actions/player-communication/clear-title.md): Clear a player's title - [show_bossbar](https://beyenilmez.github.io/autostartstop/actions/player-communication/show-bossbar.md): Show a bossbar to players - [hide_bossbar](https://beyenilmez.github.io/autostartstop/actions/player-communication/hide-bossbar.md): Hide a bossbar from players - [deny_ping](https://beyenilmez.github.io/autostartstop/actions/ping-management/deny-ping.md): Deny a ping request - [allow_ping](https://beyenilmez.github.io/autostartstop/actions/ping-management/allow-ping.md): Allow a ping request to proceed normally - [respond_ping](https://beyenilmez.github.io/autostartstop/actions/ping-management/respond-ping.md): Respond to a ping with a custom MOTD - [if](https://beyenilmez.github.io/autostartstop/actions/control-flow/if.md): Conditional action execution - [while](https://beyenilmez.github.io/autostartstop/actions/control-flow/while.md): Loop while a condition is true - [sleep](https://beyenilmez.github.io/autostartstop/actions/utility/sleep.md): Wait for a duration before continuing - [log](https://beyenilmez.github.io/autostartstop/actions/utility/log.md): Log a message to the console - [exec](https://beyenilmez.github.io/autostartstop/actions/utility/exec.md): Execute a shell command ## Templates - [Templates](https://beyenilmez.github.io/autostartstop/rule-templates/index.md): Overview of built-in rule templates - [start_on_proxy_start](https://beyenilmez.github.io/autostartstop/rule-templates/start-on-proxy-start.md): Template to start servers when the proxy starts - [stop_on_proxy_shutdown](https://beyenilmez.github.io/autostartstop/rule-templates/stop-on-proxy-shutdown.md): Template to stop servers when the proxy shuts down - [start_on_connection](https://beyenilmez.github.io/autostartstop/rule-templates/start-on-connection.md): Template to start a server when a player connects - [stop_on_empty](https://beyenilmez.github.io/autostartstop/rule-templates/stop-on-empty.md): Template to stop servers after being empty for a duration - [respond_ping](https://beyenilmez.github.io/autostartstop/rule-templates/respond-ping.md): Template to customize ping/MOTD responses ## Examples - [Examples](https://beyenilmez.github.io/autostartstop/examples/index.md): Overview of example configurations - [Auto Start/Stop with Custom Ping Response](https://beyenilmez.github.io/autostartstop/examples/auto-start-stop-with-custom-ping-response.md): Auto start/stop with custom MOTD based on server status - [Scheduled Restart](https://beyenilmez.github.io/autostartstop/examples/scheduled-restart-with-proxy-start.md): Auto start on proxy startup and scheduled restarts via cron - [Hourly Random Reward](https://beyenilmez.github.io/autostartstop/examples/hourly-random-reward.md): Scheduled command execution to reward random players ## Guides - [Guides](https://beyenilmez.github.io/autostartstop/guides/index.md): Overview of available guides - [AMP Control API User Setup](https://beyenilmez.github.io/autostartstop/guides/amp-user-setup.md): How to set up an AMP user for the control API ## Credits - [Credits](https://beyenilmez.github.io/autostartstop/credits.md): License, third-party libraries, and documentation tools